问题描述
我正在用unity3D制作一个rubiks立方体生成器。我的生成器不仅会生成多维数据集,还会为多维数据集的每一面生成“边对象” 如此处所示:
这些侧面对象仅仅是带有碰撞体的Empty对象。这些对撞机可用于通过在用户单击对撞机然后将其旋转时将立方体内除其他面以外的所有内容设置为其子元素来旋转立方体的侧面,如下所示:
Collider[] collides;
void OnMouseDown()
{
collides = Physics.OverlapBox(transform.position,transform.localScale / 2,transform.rotation);
foreach (Collider col in collides)
{
if (!col.CompareTag("Side"))
{
col.gameObject.transform.parent = this.transform;
Debug.Log(col.gameObject.transform.name);
}
}
}
这就是我的问题所在:我无法弄清楚父母一方的逻辑。
让我们想象这样的事件:
用户单击标记为红色的区域。哪一侧有反应?我曾尝试做一些事情,例如计算自第一次单击当前位置以来用户光标所经过的路径,并将其与对撞机的方向进行比较,但我没有使它起作用。
另外,当我使立方体块成为对撞机的孩子时,它们会变小。
我应该如何实现呢?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)