c# - Unity 旋转与 .rotation
问题描述
我正在移动一个变换,但我不知道要修改哪个旋转。我应该更改 .rotation 还是在变换上使用 Rotate。Rotate() 指定一个绝对方向, .rotation 为当前方向添加一个旋转。
transformToMove.Rotate(new Vector3(yDif, xDif, zDif));
对比
transformToMove.rotation = Quaternion.RotateTowards(
currentRotation,
desiredRotation,
maxDeltaAngle
);
哪一个是正确的使用?
解决方案
如果您知道您希望它们的确切旋转,请将其直接分配给 transform.rotation。如果您希望它们从当前的任何旋转中转动一定量,请使用 transform.Rotate()。
所有 transform.Rotate() 要做的就是获取它们当前的旋转,添加您指定的数量,然后将其分配给 tranform.rotation。
推荐阅读
- spring-boot - 如何在spring boot Oauth2上控制最大并发客户端
- delphi - FMX 窗口/面板中有多个水平 TSplitter
- python - python - 如何使用curl通过burp和python发送请求?
- javascript - 对多个元素使用相同的 JQuery 函数
- web-services - 如何在开源 SOAPUI 中获取我的 Web 服务的完整 URL?
- php - 如何与类型存储在 db 中的模型建立一对多关系
- python - 从 python 中的 S3 存储桶内的文件夹下载文件
- r - 在 R 中 - 省略 x 轴的一些值
- flutter - 是否可以确保在 Flutter 中放置一个控制器?
- python - zsh:当我尝试在 venv 中运行应用程序时中止 python 错误