防止物体移动某些物体?

时间:2017-12-09 14:22:18

标签: c# unity3d game-development

我认为这很简单,但我找不到解决方案。我希望我的播放器移动一些红盒子和其他蓝盒子。我试图在玩家碰撞时冻结X盒位置,但后来我移动了平台,所以它不起作用。我试图增加质量,但在某些情况下我也有问题。我能否知道玩家在框中施加的力量才能准确应用反向力?你觉得另一种方式吗?

1 个答案:

答案 0 :(得分:3)

Yous不应该冻结位置或改变质量以达到这个效果。

如果您不想移动任何对象被其他对象移动,请在该对象上启用Is Kinematic

来自doc

Is Kinematic说明:

  

如果启用,对象将不会被物理引擎驱动,并且   只能通过其变换

来操纵
public Rigidbody redBoxes;
public Rigidbody blueBoxes;

不要将红色和蓝色框移动到另一个对象(播放器)

redBoxes.isKinematic = true;
blueBoxes.isKinematic = true;

允许其他对象(播放器)移动红色和蓝色框

redBoxes.isKinematic = false;
blueBoxes.isKinematic = false;