[Unity]CutScene工具Cinema Suite Rotion 角度不能负数方向旋转的bug修正。
2018-01-04 20:43
501 查看
美术使用这个工具做动画时,对一些物体旋转,结果想 y轴方向 从0 往-30° 旋转,结果编辑模式自动会变出来一个 330°的关键帧。。。。完全不是美术预期。
研究发现原来 Unity的根本机制, 编辑工具Vector3支持负数,但 赋值给 localEulerAngles,unity自动会换算到 0~360
没法处理这里。
只能在编辑器,判断是否要插关键帧的代码里做判断。
CinemaCurveControl.cs 里,checkToAddNewKeyframes 函数里 加了判断是修改localEulerAngles,则把负数的情况换算一下,如果一致则不要加关键帧了。 完美解决这个问题。
研究发现原来 Unity的根本机制, 编辑工具Vector3支持负数,但 赋值给 localEulerAngles,unity自动会换算到 0~360
没法处理这里。
只能在编辑器,判断是否要插关键帧的代码里做判断。
CinemaCurveControl.cs 里,checkToAddNewKeyframes 函数里 加了判断是修改localEulerAngles,则把负数的情况换算一下,如果一致则不要加关键帧了。 完美解决这个问题。
else if (typeInfo == PropertyTypeInfo.Vector3) { Vector3 vec3 = (Vector3)value; float curve1Value = data.Curve1.Evaluate(state.ScrubberPosition); float curve2Value = data.Curve2.Evaluate(state.ScrubberPosition); float curve3Value = data.Curve3.Evaluate(state.ScrubberPosition); //解决编辑转向时 角度不能为负的bug if ("localEulerAngles" == data.PropertyName) { if (curve1Value < 0 && Mathf.Approximately(curve1Value % 360 + 360, vec3.x)) { vec3.x = curve1Value; } if (curve2Value < 0 && Mathf.Approximately(curve2Value % 360 + 360, vec3.y)) { vec3.y = curve2Value; } if (curve3Value < 0 && Mathf.Approximately(curve3Value % 360 + 360, vec3.z)) { vec3.z = curve3Value; } } hasDifferenceBeenFound |= addKeyOnUserInteraction(vec3.x, curve1Value, data.Curve1, state.ScrubberPosition); hasDifferenceBeenFound |= addKeyOnUserInteraction(vec3.y, curve2Value, data.Curve2, state.ScrubberPosition); hasDifferenceBeenFound |= addKeyOnUserInteraction(vec3.z, curve3Value, data.Curve3, state.ScrubberPosition); }
相关文章推荐
- Unity 获取物体正前方绕Y轴旋转一定角度后的方向
- Unity对象up轴指向目的方向进行旋转
- Unity PUN插件多人在线同步角色坐标旋转角度和动作
- [转]Unity 3D旋转矢量方向及二维平面基于一点选择另一点(Rotate a Vector3 direction & Rotate a point about another point in 2D )
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- 新年里 把 自己写的 js基础代码 做个了结..... 死机了吧,悲剧了吧 ... 打不开了吧...编辑器bug出现了吧 ff不能黏贴,复制,换组织就不修正么?
- unity 让对象的任意一个方向(局部坐标)旋转来面对世界中任意一个点或移动的对象
- unity 只有一个方向旋转的陀螺仪
- Unity中绕任意轴任意角度旋转向量
- OpenCV学习之六: 使用方向梯度直方图估计图像旋转角度
- UNITY 5.4.0发行说明中文版(不包含bug修正部分)
- Unity中判断地图上两点之间相对于正北方向的角度 c#实现
- Unity设置物体旋转角度误区
- CodeDom Assistant CodeDom的强大工具, 有些BUG修正了下,发到CodePlex,大家有需要的可以看看
- Unity设置物体旋转角度误区
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- Unity学习笔记——旋转与角度
- UNITY平滑旋转一定角度