if (RB_CC != null && RBTackInfo.Count >= 6 && RBTackInfo[5].TransformStatus) { RB_CC.transform.localPosition = new Vector3(RBTackInfo[5].Ty, -RBTackInfo[5].Tx, -RBTackInfo[5].Tz); RB_CC.transform.localRotation = new Quaternion(-RBTackInfo[5].Qy, RBTackInfo[5].Qx, RBTackInfo[5].Qz, RBTackInfo[5].Q0); // qx,qy,qz,q0 if (RBTackInfo[5].markers[0].State) GameObject.Find("CC-m01").transform.localPosition = new Vector3(RBTackInfo[5].markers[0].Ty, -RBTackInfo[5].markers[0].Tx, -RBTackInfo[5].markers[0].Tz); if (RBTackInfo[5].markers[1].State) GameObject.Find("CC-m02").transform.localPosition = new Vector3(RBTackInfo[5].markers[1].Ty, -RBTackInfo[5].markers[1].Tx, -RBTackInfo[5].markers[1].Tz); if (RBTackInfo[5].markers[2].State) GameObject.Find("CC-m03").transform.localPosition = new Vector3(RBTackInfo[5].markers[2].Ty, -RBTackInfo[5].markers[2].Tx, -RBTackInfo[5].markers[2].Tz); if (RBTackInfo[5].markers[3].State) GameObject.Find("CC-m04").transform.localPosition = new Vector3(RBTackInfo[5].markers[3].Ty, -RBTackInfo[5].markers[3].Tx, -RBTackInfo[5].markers[3].Tz); Debug.Log("RB_CC_locPosition" + RB_CC.transform.localPosition.ToString("f5")); Debug.Log("RB_CC-m01" + GameObject.Find("CC-m01").transform.localPosition.ToString("f5")); Debug.Log("RB_CC-m02" + GameObject.Find("CC-m02").transform.localPosition.ToString("f5")); Debug.Log("RB_CC-m03" + GameObject.Find("CC-m03").transform.localPosition.ToString("f5")); Debug.Log("RB_CC-m04" + GameObject.Find("CC-m04").transform.localPosition.ToString("f5")); } } else UnityEngine.Debug.Log("Input Not fulfills the correct format!"); }
时间: 2024-04-19 10:28:41 浏览: 134
这段代码是一个条件语句。如果满足以下条件:
- RB_CC 不为空
- RBTackInfo 列表中的元素数量大于等于 6
- RBTackInfo[5] 中的 TransformStatus 为真
那么就会执行下面的代码块:
- 将 RB_CC 的局部坐标设置为一个新的 Vector3 对象,其中 x 坐标值为 RBTackInfo[5] 的 Ty 属性值,y 坐标值为 -RBTackInfo[5] 的 Tx 属性值,z 坐标值为 -RBTackInfo[5] 的 Tz 属性值。
- 将 RB_CC 的局部旋转设置为一个新的 Quaternion 对象,其中 x 值为 -RBTackInfo[5] 的 Qy 属性值,y 值为 RBTackInfo[5] 的 Qx 属性值,z 值为 RBTackInfo[5] 的 Qz 属性值,w 值为 RBTackInfo[5] 的 Q0 属性值。
- 如果 RBTackInfo[5] 中的 markers[0] 的 State 为真,则将名为 "CC-m01" 的游戏对象的局部坐标设置为一个新的 Vector3 对象,其中 x 坐标值为 RBTackInfo[5] 的 markers[0] 的 Ty 属性值,y 坐标值为 -RBTackInfo[5] 的 markers[0] 的 Tx 属性值,z 坐标值为 -RBTackInfo[5] 的 markers[0] 的 Tz 属性值。
- 如果 RBTackInfo[5] 中的 markers[1] 的 State 为真,则将名为 "CC-m02" 的游戏对象的局部坐标设置为一个新的 Vector3 对象,其中 x 坐标值为 RBTackInfo[5] 的 markers[1] 的 Ty 属性值,y 坐标值为 -RBTackInfo[5] 的 markers[1] 的 Tx 属性值,z 坐标值为 -RBTackInfo[5] 的 markers[1] 的 Tz 属性值。
- 如果 RBTackInfo[5] 中的 markers[2] 的 State 为真,则将名为 "CC-m03" 的游戏对象的局部坐标设置为一个新的 Vector3 对象,其中 x 坐标值为 RBTackInfo[5] 的 markers[2] 的 Ty 属性值,y 坐标值为 -RBTackInfo[5] 的 markers[2] 的 Tx 属性值,z 坐标值为 -RBTackInfo[5] 的 markers[2] 的 Tz 属性值。
- 如果 RBTackInfo[5] 中的 markers[3] 的 State 为真,则将名为 "CC-m04" 的游戏对象的局部坐标设置为一个新的 Vector3 对象,其中 x 坐标值为 RBTackInfo[5] 的 markers[3] 的 Ty 属性值,y 坐标值为 -RBTackInfo[5] 的 markers[3] 的 Tx 属性值,z 坐标值为 -RBTackInfo[5] 的 markers[3] 的 Tz 属性值。
- 将一些调试信息打印到控制台。
如果不满足上述条件,则会打印一条错误信息到控制台。
阅读全文