unity 3d学习笔记

1.日志输出

如果需要观测webplayer运行时输出的LOG,则可以在初始化start中加上下面这样一段代码(但是此日志文件太大,过于冗余)。

PlayerSettings.usePlayerLog = true;

2.场景切换

Application.LoadLevel()可以切换场景

3.资源加载

所有通过Resources类加载的资源必须放在名为Resources的目录中

4.中文出现乱码编译不通过

用记事本打开相应的C#文件,另存为UNICODE格式文件即可。

5.动态加载资源

Unity提供了BuildPipeLine,这是一个编辑器类,只能放于Editor目录下,他主要提供2个功能,一个是BuildPlayer,一个是BuildAssetBundle。

Unity本身包含了虚拟机,他更像一个播放器,播放你在编辑器中创作的各个关卡。如果手工通过编辑器里面的File->BuildSettings 里面有个PlayerSetting,就是对你要生成的这个“播放器”的各种配置。

    通过BuildPipeLine的BuildPlayer,我们也可以通过脚本来生成这个"播放器"。这个函数有一个option,用来设置如何build这个Player的。其中有一个是 BuildOptions.BuildAdditionalStreamedScenes ,如果BuildOptions里面设置了这个参数,那么生成的结果将不是一个传统的Player,而是一个可以用来在运行时动态加载的关卡文件。在运行时通过WWW类来加载这个关卡资源。

BuildPipeLine提供的另外一个函数 BuildAssetBundle 用于将编辑器中的任何非关卡资源创建为一个资源文件(使用lzma方式做了压缩,容量有保障)然后可以通过WWW类在运行时加载。这个也是Unity在iOS平台上推荐使用的方式。对于关卡,我们也可以将一个关卡里面所有的内容的打包成一个asset文件,然后下载就行了。这样,也就解决了之前的那个问题,每次加载时version 版本号都要更新。

6.unity加载场景进度条显示

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    IEnumerator Start() {
        AsyncOperation async = Application.LoadLevelAsync("MyBigLevel");
        yield return async;
        Debug.Log("Loading complete");
    }
}

这个是异步加载的函数,AsyncOperation的progress返回了0-1之间的值,表示进度。


7.粒子系统

粒子系统启动停止

1)通过particleSystem.maxParticles进行控制

2)通过stop,clear,play进行控制。

粒子系统放在GAMEOBJECT中时,使用相对坐标系,在拖动object过程中,不会中断粒子释放过程。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值