1.6 KiB
1.6 KiB
本文旨在记录射击游戏开发过程中遇到的问题,并提供解决方案
面朝一个方向的方法
1.transform.forward 2.transform.LookAt 3.Quaternion.LookRotation 第一个调整方法transform.forward=dir,修改我们的面朝方向的向量为dir,需要注意的是这里通常传入的是一个向量 第二个方法transform.LookAt通常用来看向一个点,这就和上面的transform.forward=dir有所不同,第一种方法是向量,而Lookat通常望向一个点. 第三种方法Quaternion.LookRotation,计算出来一个旋转,将这个旋转赋值给transform.forward就可以实现面向,LookAt内部就是调用了本方法.
Transform方法的坐标系紊乱
transform.Translate方法用来控制物体的移动,该方法不会考虑物理,只负责移动,注意该方法默认是在本地坐标系下运行的,如果需要在世界坐标系下完成操作,则需要在参数中添加.
物体移动的方法
- transform.Translate()
- 设置transform.position+=
- rb.AddForce()
- 设置rb.velocity
- rb.MovePosition()
- CharacterController.Move() 在不考虑物理的情况下可以使用方法一方法二 在考虑物理的情况下可以根据情况选择方法三四五 3D角色可以使用CharacterController
物理系统
Rigidbody控制物体的物理行为RigidBody Collider控制物体的形状碰撞器 Material控制物理材质 如果只有Rigidbody则该物体受到重力等各种物理效果,但是没有物体形状,不会发生碰撞,不会被射线检测到 如果只有Collider,则可以被碰撞可以作为墙壁,但是没有物理效果