纳金网

标题: 如何让Collider碰撞移动CharacterController?? [打印本页]

作者: 烟雨    时间: 2013-7-15 22:58
标题: 如何让Collider碰撞移动CharacterController??
我有一个第三人称的游戏角色,游戏角色使用CharacterController


游戏角色要顺着路线一路闪躲铁球物件的机关
(铁球为钟摆式机关;铁球物件带有Collider)

我想让铁球(Collider)碰撞到游戏角色(CharacterController)时,
顺势的将游戏角色朝摆动的方向推挤出去

所以得靠着调用OnControllerColliderHit的方式来加一个脚本

但现在这写法却有一些大问题
角色确实能被铁球推挤移动了,推挤的方向也如铁球摆动的方向
但却只有角色的“正面”有被推挤的效果
如果铁球是碰撞到角色侧面或后面,都会变成穿过角色,
铁球只对角色的正面有推挤的物理特性


请问有高手能帮我看看问题出在哪吗
脚本如下

var movespeed = 20;
   
function OnControllerColliderHit (hit : ControllerColliderHit ) {
   
      
    if (hit.moveDirection.y < -0.3 || hit.collider.tag == "Terrain")
        return;
   
    if(hit.gameObject.tag == "Ball"){
   
            var controller : CharacterController = GetComponent(CharacterController);
            controller.tag == "Player";
            controller.Move(hit.moveDirection * movespeed * Time.deltaTime * -1);
            }
}
作者: 王者再临    时间: 2013-7-15 23:57
我觉的这个是要在铁球碰到角色后,角色换成ragdoll才会合理,不然你如何解决它的物理现象




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5