嘿,伙计,我有一个相当基本的问题,但我无法找到如何。
我使用角色控制器作为玩家,该玩家将使用以下内容移动:
con.Move (transform.forward * Time.deltaTime * speed);
现在,我的问题显然是这个角色控制器无法推送其他角色控制器,它只是卡在它前面。
到目前为止,我尝试了这段代码:
void OnControllerColliderHit (ControllerColliderHit hit) {
CharacterController con = hit.transform.GetComponent<CharacterController> ();
if (con == null) {return;}
if (hit.moveDirection.y < -0.3F) {return;}
Vector3 pushDir = new Vector3 (hit.moveDirection.x, 0, hit.moveDirection.z);
con.Move (pushDir * Time.deltaTime * pushSpeed);
}
它确实有效,但它在被推动时会出现某种抖动/抖动问题,并且它看起来并不那么好。
还有其他方法吗?我不想使用Unity Physics / Rigidbody,因为它不需要。