Unity中逼真的阀轮旋转

时间:2019-05-15 14:55:57

标签: c# unity3d

我正在Unity中进行逼真的管道阀轮旋转。这就是我已经拥有的:

int main (void) 
{ 
  label: int a; // will not compile
}

我现在想要的是什么。就像现实生活中的气门导管如果您想放松一下。您需要使用很大的力才能向右旋转。然后,松开它越容易旋转。反之亦然,如果您想拧紧它。因此,用我的小脑袋,想不出任何帮助中的数学或代码。你们能给我提示或提示怎么做吗?

编辑:这是关于我现在拥有的东西的gif图像,我正在使用鼠标的空格键向右滑动以旋转滚轮https://gyazo.com/004b2f8c4424476c796ae42ad28dacce

1 个答案:

答案 0 :(得分:0)

因此,您有cur_HP,它应该设置阀门的旋转角度,并用mouseDelta.x进行设置。

您现在希望下一个修改(mouseDelta.x)越小,cur_HP越接近max_HP

cur_HP += (mouseDelta.x * max_HP/cur_HP) * amount;

这将使车轮越靠近终点,直线速度越慢。

您可能需要调整amount变量,因为现在旋转1度时,砂轮旋转速度将提高100倍。

请确保在cur_HP为0时进行处理,因为除以零是高度违法的。


例如,相同的X轴运动,不同的密封性:

气密性20%

  • cur_HP = 20
  • max_HP = 100
  • mouseDelta.x = 1
  • 金额= 0.1f

->新的cur_HP = 20.5

密封性:60%

  • cur_HP = 60
  • max_HP = 100
  • mouseDelta.x = 1
  • 金额= 0.1f

->新的cur_HP = 60.16666