c# - What is difference between Transform Rotate and forward Rotate?
问题描述
I want rotated 'transform.forward' with not rotate transform.
but have problem result of 'rot * tf.forward'
I have to make a lot of rotate transform.forward.
I know transform.Rotate is high cost.
Why are those different?
Transform tf = transform;
Quaternion rot = Quaternion.Euler(90f, 0f, 0f);
Vector3 eulerRot1 = rot * tf.forward * Mathf.Rad2Deg;
tf.roration *= rot;
Vector3 eulerRot2 = tf.forward * Mathf.Rad2Deg;
if(eulerRot1 == eulerRot2)
{
Debug.Log("Same");
}
else
{
Debug.Log("Not same");
}
解决方案
tf.forward 不会向前旋转你的游戏对象。tf.forward 是一个相对于你的游戏对象的向量点。
transform.Rotate 成本不高,直接通过它的变换移动游戏对象永远不会昂贵。用它的物理组件移动它是昂贵的
推荐阅读
- deep-learning - nltk.download("wordnet") 完成了什么
- python - pytest 和 python 测试:报告为 python 函数编写的测试用例
- core-data - 更新 NSHostingView 的关于单元重用的 SwiftUI 视图
- django - DRF如何获取按类别分组的项目
- email - 如果收到正确的触发器,有没有办法设置电子邮件地址以发送特定电子邮件?
- sockets - Socket编程:设置服务器,端口为80则运行,端口为其他则无法运行
- azure - Power 自动创建密码
- java - 如何使用 VirtualSticks 实际控制无人机
- java - HashMap的HashMap->输出问题
- expo - 无论 initialRegion 参数如何,MapView 都会在赤道上检索非洲地图?