您的位置:首页 > 移动开发 > Unity3D

Unity3D API 知识点积累

2017-07-28 10:09 162 查看
一、通过脚本添加 动画事件 AnimationEvent

AnimationEvent evt=new AniamtionEvent();

evt.intPareameter=12345;

evt.time=1.0f;

evt.functionName="PrintEvnet";

public void PrintEvent(int i)

{

print("PrintEvent:"+i+"called at:"+Time.time);

}

二、AniamtionState.normalizedTime 决定了动画开始的时间,0.5f 从动画的中间开始播放,1.0f,动画的末尾(直接j结束);nomalizedSpeed控制动画播放速度

Animation[Animation.clip.name].normalizedTime=0.5f;

Animation[Animation.clip.name].normalizedSpeed=0.5f;

三、Application.persistentDataPath 持久性数据路径,在ios、android发布时,persistentDataPath指向设备上的公用目录,APP的每次更新都将不会删除此位置的文件;删除SD卡将使存储在其上的数据无法访问。 请注意,构建应用程序时,将根据Bundle标识符生成GUID,此GUID将成为persistentDataPath的一部分。 如果您在将来的版本中保留相同的软件包标识符,那么应用程序将在每次更新时继续访问相同的位置。

四、Application.targetFrameRate 默认的targetFrameRate是一个特殊值-1,表示游戏应该以平台的默认帧速率呈现;使用VR Unity时,将使用SDK指定的目标帧率,并忽略游戏指定的值;如果设置了QualitySettings.vSyncCount属性,targetFrameRate将被忽略,而游戏将使用vSyncCount和平台的默认渲染速率来确定目标帧速率。例如,如果平台的默认渲染速率为每秒60帧,并且vSyncCount设置为2,则游戏将以每秒30帧为目标;在移动平台上,由于需要节省电池电量,默认帧速率低于最大可实现的帧速率。通常在移动平台上,默认帧速率为每秒30帧

五、Application.GetStreamProgressForLevel(int levelindex) 返回加载进度[0.....1]

Application.CanStreamedLevelBeLoaded(int levelindex or string levelName) 检查是否可以加载“LevelName or LevelIndex",如果可以加载,则加载它。

void Update()

{

if (Application.GetStreamProgressForLevel(1) == 1)

{

progressText.text = "Level at index 1 has been fully streamed!";

}

else

{

percentageLoaded = Application.GetStreamProgressForLevel(1) * 100;

progressText.text = percentageLoaded.ToString();

}

}

六、Application.Unload 卸载unity,unity3d嵌入在ios、windows Store时,想关闭app中unity部分,但又不想卸载unity3d的内存,此方法可用

七、Application.lowMemory+=function 当程序内存过低的时候执行改代码,降低内存使用

八、 延迟阴影的优点是,照明的处理开销与光照射的像素的数量成正比。 这取决于场景中光线的大小,无论它照射多少个GameObjects。 因此,通过减小灯光可以提高性能。 延迟着色也具有高度一致和可预测的行为。 每个光线的效果是按照像素计算的,所以没有照明计算在大的三角形上分解。

缺点是,延迟着色没有真正的抗锯齿支持,并且不能处理半透明的GameObjects(这些都是使用向前渲染呈现的)。 也不支持Mesh渲染器的“接收阴影”标志,只有有限的方式支持选择掩码。 您最多只能使用四个剔除口罩。 也就是说,您的剔除图层蒙版必须至少包含所有图层减去四个任意图层,因此必须设置32个图层中的28个图层。

在移动设备上,延迟着色不被支持,主要是由于使用了MRT格式(一些支持多个渲染目标的GPU,仍然只支持非常有限的位数)。

延迟渲染不支持正交投影( Camera Orthographic)。如果相机的投影模式设置为“正交”,则相机将返回到正向渲染(Forward rendering)

九、MeshRenderer:Reflection Probes:BlendProbes 可以混合,适合室内;BlendProbesAndSkybox,可以混合,适合室外;simple 两个probes不产生混合
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Unity3D