心得"/>
Unity开发小心得
1、如果要设置数组中的某个元素为被选择的元素,可以考虑把初始编号设置为-1,这样可以方便的把被选择的元素设置为null。2、类似数组元素选择这种操作,如果使用UGUI的InputField组件进行选择,同时再伴随“上一个”,“下一个”这种按钮进行选择,比较好的方法是让“上一个”和“下一个”按钮都通过InputField组件进行选择,而不是直接调用选择方法,具体就是“上一个”或者“下一个”按钮先获取InputField的text的值,解析成整数,把整数做“加”或者“减”操作,然后把这个得到的结果转成字符串,作为InputField的onValueChanged或者onSubmit之类的事件的Invoke的参数并执行该事件。这样的好处是执行上“一个”或者“下一个”按钮之后,InputField的text内容也同步变化了。
2、如果在Unity循环执行的过程中需要调整顺序,可以在Update和LateUpdate中做调整,但有时候不太够用。比如为了保证摄像机的动作在所有的其它动作执行之后再执行,那么别的动作可以放在Update里面,摄像机的控制可以放在LateUpdate里面,但这时候有些动作的控制有希望放在摄像机动作执行之后再执行,那怎么办呢?可能有人说用可以用协程yield return new WaitEndOfFrame(),但实际上在这个时间点图形的第一次渲染已经完成了,这时候做的动作控制并不会反应到当前的渲染上。要想在最初的渲染之前执行动作,可以考虑手动设置对象Update或者LateUpdate的执行顺序,方法是选择某个脚本,在Inspect面板上点击Execution Order按钮,在弹出的面板中进行调整,呵呵。
3、如果要对Lit材质的Detail Inputs部分的漫反射贴图和贴图重复偏移进行设置,请使用字符串“_DetailAlbedoMap”和“_DetailAlbedoMap_ST”进行设置。最近使用的案例是在一个主运系统里面,有很多托辊,这些托辊都是圆柱形的,沿着自身轴线旋转,由于这些托辊都做了烘培,如果让这些托辊真的旋转的话,会把朝下的暗面转到上面来,于是就使用对Detail Inputs的贴图进行偏移的方法类模拟旋转。
更多推荐
Unity开发小心得
发布评论