2016-05-04 16:55:33 wangxiong_zh 阅读数 1727
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4646 人正在学习 去看看 张刚
Unity3d Webplayer 屏蔽缓存机制

  前言:   

  在最近的项目中,出现了一个问题就是:使用unity3d webplayer的时候,当用户首次进入游戏的时候,

  如果下载AssetBundle文件失败的话,就会出现后续无法登陆的情况。这个时候客户端需要的操作就

  是删除本地的缓存文件,或者是登陆Unity3d提供的缓存服务器进行删除。这些操作对开发者来说是很

  简单的事情,但是对没有多少计算机操作知识的用户来说就显得很心烦了。

  原因如下:

  1.对于webplayer本地的缓存文件是被隐藏 了,需要进过一系列的操作去找到。这样用户基本是不愿意

  做的事,这样我们的用户就少了很多了。

  2.对于登陆缓存服务器去进行删除的操作,也是同样的道理。同时还是E文的,用户可能看都不看了。

  现在都是流行一条龙的服务,你的服务不好,那就只好下一位了。

  虽然我们现在还没有找到很好的实现方式,但是我们只要屏蔽有关数据的缓存了。缓存这个东西好处是多

  但是坏处也是不少的!

  好了。我们现在谈谈今天的主题:屏蔽缓存机制。

  方式很是简单的:

  在我们发布的html代码中加入一个<meta >标签就可以了。

  我们先看看效果:

    添加标签前的效果:

  979x486

  我们添加标签:

  853x409

  添加标签:

  855x427

  最后的效果:

  997x475

  这样webplayer缓存机制就失去效果了。很简单的操作 呵呵

  结束语:

  对于这样的方式是不好的,正在寻找有关的实现方式。看了看完美世界的页游,在处理这一块的时候做的挺不错的。希望各位大神提供和交流相应的解决方案,在此先谢谢啦!

2014-01-04 10:36:34 wd791223 阅读数 8872
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4646 人正在学习 去看看 张刚

一般游戏提供给玩家的音效和背景音乐的开启和关闭功能。

音效处理。

在场景中设置音效的时候,最好不要把AudioSource分别放到各个游戏物件中,如2DToolKit每个控件中会方便用户自带音效,这样有两个弊端:

一是,因为每个控件距离AudioListener的绑定物件(一般是摄像机)的距离不一定,就会出现声音大小不一的问题。

二是,没法统一管理各个场景中的声音,如开启,关闭的时候。

我把音效文件作为子物件的组件,都放在自定义的该场景的音效物件AudioObj下,并绑定脚本AudioObjScript,在脚本中获取子物件中的AudioSource,并设置public的接口以供需要音效播放的地方调用,同时在Awake中增加检测代码。

在某个全局类中设置对应的全局静态布尔变量IsMuteSound,在设置界面修改变量。每个场景的音效物件先检测IsMuteSound变量,设置子物件中的音效的mute变量即可。

刚才发现,我把每个场景中绑定在摄像机上的AudioListener设置为非激活状态不就可以了吗,何必设置每个子物件中的AudioSource设置为mute呢!

但是,那样的话,场景中的所有声音都不被监听了,这样就没法单独设置音效和背景音乐了。

SO,还是用物件单独绑定吧。

当然,背景音乐的静音处理也是同理的。

对了,场景中的声音物件的位置一定要和AudioListener所在摄像机位置接近啊,不然就听不见了!

 

2017-07-26 09:57:51 JeterPong 阅读数 781
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4646 人正在学习 去看看 张刚

前言:
许多游戏,都会有这种情况:在某个界面,点击某个按钮时,再弹出一个小窗口提示(没有关闭按钮),然后需要关闭的话,点击除这个小窗口的区域即可 (一般是带有黑色透明背景效果的),而在这个小窗口点击是没有效果的。这种情况一般需要做事件透传处理来实现。

准备步骤:
给这个小窗口独立创建空物体用了做一个黑色透明背景(60%左右透明)

分三级处理
1.用了存放背景和小窗口的 空物体对象
2.小窗口的全屏背景
3.小窗口提示框

示意图:
ToastUI

层次面板:
layer

(注:挂载到Canvas 下即可)

Toast 黑色透明背景需要添加一个 Image 和 Button 脚本:
Toast_bg

代码实现:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ToastMethod : MonoBehaviour {

    private GameObject obj;

    // Use this for initialization
    void Start () {

        obj = transform.FindChild("Toast_bg").gameObject;
        obj.transform.gameObject.GetComponent<Button>().onClick.AddListener(delegate()
        {
            Debug.Log("\n === on Click UP ===");
            transform.gameObject.SetActive(false);
        });
    }

    // Update is called once per frame
    void Update () {

    }
}

将这段代码 挂载到 ToastUI 下,运行,点击黑色区域机会关闭这个UI界面,如下:
test_

2012-06-26 23:07:01 ariel7321 阅读数 13384
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4646 人正在学习 去看看 张刚

接下来的几周内,我准备把对如何用Unity3D制作愤怒的小鸟的研究过程记录下来,希望能完成愤怒的小鸟游戏的大部分功能。


好记性不如烂笔头,开始吧!


目标:制作开头loading时的Logo界面,4秒后进入下一个界面。


1.  建一个空Project,将屏幕分辨率改为800*600.

File--->Build Settings...---->PC and Mac Standalone--->Player Settings...--->Resolution and Presentation


2. 创建一个GUI Texture,重命名为Logo,然后Logo图片放到这个GUI Texture上,修改其参数如下:



3. 创建一个Scene,命名为PlayScene。然后把Scene都加入到build中



4. 我们来写个脚本实现界面切换功能。

#pragma strict

var timeInterval : int = 4;
var level : int;

private var timeUpdate : float;

function Start () {

}

function Update () {
	timeUpdate += Time.deltaTime;
	if (timeUpdate > timeInterval) {
		Application.LoadLevel(level);
	}

}

5. 将这个脚本赋给LogoScene中的camera,将Level值改为1.


OK,运行试试吧!


2012-09-07 16:48:01 netliving 阅读数 30
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4646 人正在学习 去看看 张刚
在Unity3D中通过GUI.Window创建的窗口,鼠标移动的时候,他后面的背景也会跟着移动,显得特别的凌乱,为了屏蔽移动,需要进行代码分析。
经过分析,鼠标移动的时候主要是有二个地方引起的,First person controller和其下面的Camera下面都有一个Component,交过MouseLook,考虑将这二个Component禁止掉,当关闭GUI.Window的时候再启动。

代码如下
function dealMouseLook(abled:boolean){
(GameObject.Find("First Person Controller").GetComponent("MouseLook") as MouseLook).enabled = abled;
(GameObject.Find("First Person Camera").GetComponent("MouseLook") as MouseLook).enabled = abled;
}

测试通过,OK

unity2d 画布和屏幕

阅读数 2163

没有更多推荐了,返回首页