我几乎想要一个刺耳的动画,这样它会快速来回摇晃一秒钟,然后放慢速度,慢慢回到正常位置。只有持续摇晃有很多答案,但我怎么能减少震动呢?我Lerp
真的很快,或者PingPong
使用的功能会慢吗?
答案 0 :(得分:7)
你可以简单地通过获取原始位置然后在协程函数中摇动GameObject,在while循环中执行UPDATE Family SET
FullAddress = CONCAT(StreetAddress ,', ' City ,', ' STATE ,', ' ZipCode ) AS Address
一段时间。摇动GameObject后,将值重置回其默认位置。
至于减少震动,你在while循环中执行YourObjTransform.position = defaultPos + UnityEngine.Random.insideUnitSphere * shakeAmount;
。这将降低while循环中的摇动速度。
以下功能是上述声明的完整示例。它需要三个参数,GameObject可以晃动,动摇GameObject的时间以及开始减少震动的时间。
例如,如果您将shakeAmount += Time.deltaTime;
,myGameOBject
,5f
传递给该函数,则会动摇3f
,总时间为myGameOBject
秒。在摇动5
并且计数器到达myGameOBject
时,它会开始降低摇动的速度(3
),直到计时器达到shakeAmount
。
如果要摇动的游戏对象是5
,则将true
传递给最后一个参数,这样z轴就不会移动,只会在摇动时在Z轴上旋转。
SpriteRender
答案 1 :(得分:0)
查看具有阻尼效果的cos / sin函数。
A*Pow(e, -bt/2)*cos(f*t)