在Unity 5(C#)中将旋转设置为localRotation和world Rotation的混合

时间:2016-10-04 17:07:23

标签: c# unity3d quaternions euler-angles

我正在尝试将子游戏对象设置为根的localRotation和世界的0的混合。

(这个游戏对象是一种玩家角色所拥有的枪,就像一朵火花,并且从这个物体的表面射出了火球)

基本上我希望这个项目始终面向前方(所以它面向我角色所面对的位置)。当我这样做时:

this.transform.rotation = Quaternion.Euler(0,0,0); 

X和Z是正确的,但无论角色在何处旋转,Y值始终保持朝向相同的向前方向。

我搞砸了,发现了

this.transform.localRotation = Quaternion.Euler (270, 180, 90); 

稍微有效,但它需要我做很多试验和错误,并且我宁愿使用非硬编码值。

最后我希望localRotation等于(0 of World,parentRotationY,0 of World),但我无法让它工作。

那么有没有办法混合localRotation和世界轮换?

如果我没有提供足够的信息,请告诉我。

0 个答案:

没有答案