【笔记】Unity第三周
课后笔记就简单记录一下。
改变对象的颜色
1 | Color32 _c = new Color32((byte)Random.Range(0, 255), (byte)Random.Range(0, 255) , (byte)Random.Range(0, 255), 255); |
- 这里值得注意的是unity封装的color,输入参数范围是0-1的,开始找了很久输入值为0-255范围的函数没有找到,其实用color32就可以。
DeltaTime
第一次课就碰到但没理解也没深究的东西,今天查了一下,blog讲的很清楚,非常佩服最初开发者的智慧。
碰撞
- 主要讲解了rigidbody
- 如果设置为trigger,会被物理引擎忽视,不会触发具体效果
- 脚本挂在的对象需要能有collider
1 | // 重载碰撞函数 |
这里有一个小细节,OnCollisionStay在触发一定次数后就不会触发了,查了很久发现是为了减少计算开销会休眠物体。这里查到了官方文档,发现查官方文档总是效率最高的,但好像unity这个官方文档关于代码介绍的并不多,wakeup函数用法乱试了半天才试出来,不知道是不是我没找对文档,前面找color的输入范围时也没找到代码细节。
1
2//避免刚体进入睡眠,加上这句可以持续检测碰撞
obj2.GetComponent<Rigidbody>().WakeUp();
施加力
1 | obj2.GetComponent<Rigidbody>().AddForce(Vector2.right * 0.2f, ForceMode.Impulse); |
与鼠标选中的物体进行交互
1 | //接收鼠标信息 |
老师教的是把特定对象变红,自己改了下可以点哪个哪个就变红,然后旁边韩国小姐姐问我能不能再让它变白,又教了下她实现点哪个物体哪个物体变颜色,能够有把握教给可爱的人知识感觉真好TT。
地形场景环境
最后快下课的时候老师给我们讲了下贴图!但还没来得及下载素材包所以这里没有效果展示了,但真的贴一贴就很像那么回事了!原来把摄像机放在眼睛那里就可以实现第一人称视角,外面再放一个就是第三人称视角,写个逻辑就可以做视角切换。感觉任督二脉被打通了,再结合前几天用vizard进行虚拟现实开发的流程,已经可以想象unity的类似步骤了,至少整个流程比较清晰了,快乐!