c# - 如何使变换每秒旋转 n 次?
问题描述
我希望它以从 0 到非常快的速度旋转。但是,如果我将自旋的值更改为 10,它几乎不会移动,而 200 会使它缓慢移动。2000 让它移动得很快,但那有多快呢?如果我想让它每秒旋转 10 次,我该怎么Rotate
做?
public float rotationSpeed;
private void Update()
{
scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
}
解决方案
您使用它的方式rotationSpeed
是每秒转动的度数
Rotate
的第二个参数需要旋转的度数。
Time.deltaTime
是自上一帧以来经过了多少秒。
每秒 10 度意味着它每 36 秒旋转一次 (360/10 = 36)。
每秒 2000 度意味着它每 0.18 秒旋转一次(360/2000 = 0.18),或者换句话说,它每秒旋转 5.56 次(2000/360 = 5.56)。
如果要n
每秒旋转次数,请执行以下操作:
rotationSpeed = n * 360f;
// ...
scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
如果您想花n
几秒钟旋转一次,请执行以下操作:
rotationSpeed = 360f / (float)n;
// ...
scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
推荐阅读
- android - 收到来自urbanairship android的推送通知时获取channel = null
- javascript - 我可以在不使用“eval”的情况下在变量中捕获“for”语句的返回值吗?
- angularjs - 如何从另一个控制器启动的工厂重新加载控制器的 angularJS 调用
- java - 在 java 中使用 mysql 创建连接和执行 SQL 查询语句时出现错误或错误类型的代码
- matlab - Matlab中的矩阵格式
- azure-active-directory - Azure AD OAuth 流向我返回“id 令牌”。我需要“访问令牌”才能获取组列表
- r - 名称匹配 R
- c++ - 增加线程数,但程序不能更快地运行 C++ OpenMP 选择排序
- android - Android - Kotlin 文件在编译后存在于 apk 中
- c++ - 声明不带 const 的变量与带 const 的变量 - 测试问题