public float pushPower= 2.0f;
void OnControllerColliderHit (ControllerColliderHit hit)
{
Rigidbody body = hit.collider.attachedRigidbody;
if (body == null || body.isKinematic)
return;
if (hit.moveDirection.y < -0.3f)
return;
if(hit.collider != null && hit.collider.gameObject.tag == "PullThis"
&& Input.GetKeyDown(KeyCode.E))
{
Vector3 pushDir = new Vector3 (hit.moveDirection.x, 0, hit.moveDirection.z);
body.velocity = pushDir * pushPower;
}
}
起初我想,我所要做的就是按下一些键,然后通过在Vector 3 x和z中插入“ - ”来完成另一种推动方式,这是行不通的。我一直在关注其他教程和答案,但仍然无法弄清楚。
另外,还有另一个我正在关注拉动对象的教程,但那是2D游戏。我一直试图尽可能多地转换成3D组件,但我用
打了一个墙 Physics2D.queriesStartInColliders = false;
在物理学中是否有类似的东西检查没有参数的光线/线条(没有Linecast)? (或检查方法)。
所以,如果你们可以帮助我:#1。基于推送脚本或#2的代码示例。检查光线/线的类似方法,如Physics2D.queriesStartInColliders = false;
非常感谢。
提前感谢您的帮助。
答案 0 :(得分:0)
我通过修改Pick Up脚本并冻结刚体上的所有旋转来解决这个问题。绕道而行,我说。