为什么这两个相同的对象表现出不同的行为?
对象:
one
:父Sphere1(刚体使用重力)
-child Cube1
two
:父Cube2(刚体使用重力)
-child Sphere2
在这种情况下,我认为他们的质心是相同的位置。
但是对象one
是稳定的,而另一方面two
是不稳定的(向下滚动)。
此问题已解决
此问题由脚本附加的父对象解决。
实话说,我已经将重心脚本附加到了两个父对象上。此脚本将重心设置在附加此对象的对象中心,而不是两个对象的中心。删除脚本后,两个对象均掉落。
using UnityEngine;
using System.Collections;
public class centerOfMass : MonoBehaviour
{
Vector3 center;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
center = rb.centerOfMass;
}
void Update()
{
Debug.DrawLine(transform.position, transform.position + transform.rotation * center);
}
void OnDrawGizmos()
{
rb = GetComponent<Rigidbody>();
center = rb.centerOfMass;
Gizmos.color = Color.red;
Gizmos.DrawSphere(transform.position + transform.rotation * center, 0.08f);
}
}