【发布时间】:2019-03-18 13:15:25
【问题描述】:
我正在尝试在 Unity 中使用 Physics2D 并简单地将块放在彼此之上。 我的项目设置:
我有一个带有 Box2D 碰撞器的精灵作为地板。我有一个预制件,它也是一个比例为 1.5 x 0.5 x 1 的精灵,还有一个盒子对撞机和一个刚体 2D。
我所做的是将块在同一个 x 轴上彼此叠放: 这是我的代码:
public GameObject testInstance; //Prefab Box
public float m_fSpawnY = -3.1f; //Start Y for first box
public float m_fSpawnYAdd = 0.5f; //for next box
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.N))
{
Instantiate(testInstance, new Vector3(0, m_fSpawnY , 0), Quaternion.identity);
m_fSpawnY += m_fSpawnYAdd ;
}
}
我现在的问题是,我添加的框越多,下面的对象就越被“挤压”,这对于真实物理来说可能是正确的,但对于我的用例,我想完全禁用变形,因为构建塔得到我放在上面越不稳定。
是否可以以某种方式停用变形?我尝试使用 Physics Material 2D,但它只提供摩擦力和弹力,但我将 boucyness 设置为 0,它没有任何效果。
感谢和问候
【问题讨论】:
-
嗨,您的对象在哪里生成?高于所有其他对象或“内部”?因为根据我的测试,当生成位置与另一个盒子碰撞时,我有这种“挤压”效果,然后盒子移动以摆脱看起来像盒子被挤压的碰撞。那是你的吗?
-
您好,感谢您的快速答复。我在 prev 块上方一点点生成块,它开始通过重力下落,块以这种方式堆叠。我拥有的块越多,由于顶部其他块的压力,塔被挤压的越多=>它看起来像一个橡胶塔,在顶部产生几个块后它变得完全不稳定并且塔分崩离析。我也尝试增加密度,但它也增加了质量(仅适用于自动质量),我有同样的效果。我想要一些不会被挤压的木块之类的东西。
-
您是否有结果的图像以确保我们谈论的是同一个“挤压”?
-
我把我的项目的assest文件夹放到了google drive:drive.google.com/drive/folders/…如果你在播放模式下按N,就会产生一个块,如果你这样做几次,你会看到它的弹性
标签: unity3d game-physics physics