actionState = ActionState.Run; moveDirection = new Vector3(horizontal, 0.0f, vertical); rigidbody.MovePosition(rigidbody.position + speed * moveDirection * Time.deltaTime); } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 平滑转身函数(参考Unity官网的toturial) void Rotating(float horizontal, flo...
进入动作播放完毕后,记得关闭角色Rigidbody的重力,并开启Is Kinematic,避免刚体速度带来不必要的麻烦,后续攀爬过程中直接改变Tranform来实现位移,不再使用速度控制位移; 3.攀爬四方向移动 移动时需要实时的查询移动方向上是否可攀爬,此时的检测的方式为,先向角色的移动方向检测一小段距离是否有可攀爬碰撞(为应对内倒角型...
首先要给小球添加一个刚体组件Rigidbody,确定"Use Gravity"和"Is Kinematic"(是否动力学)为取消状态,即不使用重力模拟和确保受到物理力学的影响。 由于创建一个球体时,Unity会默认添加了一个Sphere Collider,所以不需要再添加碰撞体。 现在为小球添加一个脚本(C#)用来控制小球的移动和碰撞检测。 脚本代码如下: usingU...
其中勾选Convex(凸面)是unity新要求,否则运行会出现:Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported since Unity 5.在前面添加刚体的时候,没有勾选Is Kinematic选项,unity5中不再支持非Kinematic刚体的非Convex网格碰撞体) (4)添加飞船尾部火焰粒子效果:在project面板中,Assets/Perfabs...
添加Rigdbody来控制人物,选择IsKinematic,这样角色就不会被外力影响。加了CapsuleCollider让角色 不掉下去。HeroController用来控制角色的运动和打斗,下面会说。 角色行走 思路很简单,通过wasd获得行走的方向,然后对应控制角色的位移就可以了,不过在变向的时候要注意角色的平滑转身。
用于模拟简单运动,并且自动应用重力,返回值表示角色当前是否着地。 2. CharacterController.Move 模拟更复杂的运动,重力需要通过代码实现,返回值表示角色与周围的碰撞信息。 如果物体移动在碰撞时抖动,考虑是否用了物理方式移动物体。 如果物体被设置成kinematic,则只能直接改变位置移动物体。
Kinematic Rigidbody Collider 运动学刚体碰撞器 This GameObject contains a Collider and a Rigidbody which is marked IsKinematic. To move this GameObject, you modify itsTransformComponent, rather than applying forces. They're similar to Static Colliders but will work better when you want to move the...
Unity的Rigidbody中有个MovePositon的接口,主要是用于移动刚体位置,但是解释里不是很清除,也没搜到详细的说明,于是就做了点测试,可能有些也不一定对。 Unity版本:2019.4.0f1 Moves the kinematicRigidbodytowardsposition. Rigidbody.MovePositionmoves a Rigidbody and complies with the interpolation settings. When ...
其中勾选Convex(凸面)是unity新要求,否则运行会出现:Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported since Unity 5.在前面添加刚体的时候,没有勾选Is Kinematic选项,unity5中不再支持非Kinematic刚体的非Convex网格碰撞体)
二、Rigidbody使用 之 isKinematic的使用 1 打开Unity,新建一个空工程,具体如下图 2 在场景中,新建“Plane”和“Cube”,并调整他们你的布局,具体如下图 3 在工程中新建一个脚本“RigidbodyTest”,双击脚本或者右键“Open C# Project”打开脚本,具体如下图 4 在打开的脚本“RigidbodyTest”上编辑代码,...