- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
 
- 纳金币
- 53488
- 精华
- 316
|
我有一个第三人称的游戏角色,游戏角色使用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);
}
} |
|