我在Unity3D中编写一个简单的路径编辑器,存储一系列点,进/出切线,并在每对点之间绘制一个bezier:
路径的数据:
我发现切线不像我期望的那样表现。我非常习惯于图像编辑应用,其中切线实际上与曲线相切:
但是如果你回头看我的第一张图片,你可以看到切线必须移动到更垂直的角度才能获得平滑的形状。
此时我认为有几种可能性:
有没有人对我如何改善贝塞尔人的使用有任何建议?
谢谢, VES
答案 0 :(得分:1)
好的,我想出了问题。
统一文件非常不清楚切线应该是什么。在我的代码中,我使用局部向量作为切线,当DrawBezier方法实际上需要切点的绝对位置时。
我已经能够通过执行以下操作来修复曲线图:
Handles.DrawBezier(pointA.position,
pointB.position,
pointA.position + pointA.outTangent,
pointB.position + pointB.inTangent,
Handles.color,
null,
1.0f);
当我理解Heisenbug对立方贝塞尔曲线中的4个点所说的话时,解决方案是有意义的。非常感谢大家!