我知道可以通过以下方式在Unity中禁用警告消息:
#pragma warning disable 0168 // variable declared but not used.
但是有一个没有id号码的警告我需要隐藏。是否有一种方法可以在不知道id的情况下禁用它,或者我可以在哪里找到它?
警告信息是:BoxColliders不支持负比例尺寸。有效的框大小已被强制为正,并可能导致意外的碰撞几何形状。 这就是在控制台中的样子:
![enter image description here](https://istack.dev59.com/ef591.webp)
当我给父对象负比例时,其具有碰撞器的子对象仍保持相对于父对象的正比例,但警告仍然会出现。
如果我无法在设备上禁用警告,我将不得不修复它,但更改碰撞器为网格碰撞器是过度的。我能想到的唯一通过代码修复它的方法是将带有碰撞器的子项缩放为根节点的相反数,但我不确定这是否有效。
编辑2: 对于任何遇到此问题的人,我通过根据世界比例缩放所有具有盒式碰撞器的子对象来解决了警告。
transform.localScale = new Vector3(transform.localScale.x * Mathf.Sign(transform.lossyScale.x),
transform.localScale.y * Mathf.Sign(transform.lossyScale.y),
transform.localScale.z * Mathf.Sign(transform.lossyScale.z));
Unity会强制缩放为正数,因此最终结果是相同的。这就是我想要禁用警告的原因。