private void Start()
{
connected = false;
}
private void OnCollisionEnter(Collision collision)
{
if (collision.transform.tag == "Player")
{
dronePlayer = collision;
offset = dronePlayer.transform.position - gameObject.transform.position;
connected = true;
}
}
private void Update()
{
if (connected)
{
transform.position = dronePlayer.transform.position - offset;
}
}
简单,我要做到这一点拿起从另一个对象物体碰撞后,再左右移动。所以这个脚本改变了我用变换命中的对象的变换。Unity3d:对撞机与对象并更新其变换,则失去所有刚体的属性,并通过物体落在
这里的问题是,除非我接近场景中的另一个对象,否则所有工作都可以正常工作。刚体的法则被忽略,并通过其他通常碰撞的物体。
关于Unity物理对象的一个很好的实践是知道你是否要通过强制他们的位置或使用物理引擎来管理它们。无论你选择什么(我总是倾向于使用引擎),坚持下去。 – Greg
非常好的一点,@Greg。我个人更喜欢不使用物理引擎(我从来没有多少运气让实体使用'AddForce()'以可信的方式移动,一切都像在冰上一样:低加速度,宽角和没有最大速度。 – Draco18s