Unity3D API 知识点积累

一、通过脚本添加 动画事件   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不产生混合

十、Prefab 仅仅是一个模板,将它作为同一类物体、重复使用 物体的模板在编辑状态下使用很方便,可以快速修改同一类物 体;但是在运行状态下生成新的物体,只能做动态预处理,在效率上不是很高,所以需要使用 对象池 方法来实现。 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity3D中常用的API包括Component、Transform、GameObject、Object和Time等。\[1\]这些API可以用于处理游戏对象的组件、变换、实例化和销毁等操作。例如,可以使用Component来获取和管理游戏对象的组件,使用Transform来控制游戏对象的位置、旋转和缩放,使用GameObject来创建、查找和销毁游戏对象,使用Object来处理资源的加载和释放,使用Time来获取游戏的时间信息。此外,还有一些常见的API函数,如Instantiate函数用于实例化预制件,Start函数和Update函数用于处理游戏对象的初始化和更新等。\[2\]\[3\]这些API和函数是Unity开发中经常使用的工具,可以帮助开发者实现各种功能和效果。 #### 引用[.reference_title] - *1* [Unity3D数字孪生笔记——Unity常用API篇](https://blog.csdn.net/Lcl_huolitianji/article/details/120875486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Unity3D常用API](https://blog.csdn.net/u011360242/article/details/77046732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Unity 3D】常见API的讲解以及在C#脚本中的执行(附源码)](https://blog.csdn.net/jiebaoshayebuhui/article/details/128510864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值