我正在使用a-frame curve component创建移动的路径。我似乎无法改变曲线type
。
该文档表明有4种可用类型('CatmullRom', 'Spline', 'CubicBezier', 'QuadraticBezier', 'Line'
),但我无法将其从默认'CatmullRom'
更改。
请参阅下面我尝试的尝试,表明试图影响该类型没有任何区别。在一个中,我将类型作为a-curve
的属性传递,在另一个中,我将类型作为curve
组件的属性传递(因为这似乎启用了closed
属性,并且最后一个我根本不改变它。(我使用a-draw-curve
来说明渲染的曲线。
<!-- create the path with type defined as property of curve -->
<a-curve id="track1" curve="closed:true;type:CubicBezier">
<a-curve-point position="-3 0.5 -3"></a-curve-point>
<a-curve-point position="-2 2 -3"></a-curve-point>
<a-curve-point position="-1 0.5 -3"></a-curve-point>
</a-curve>
<!-- Draw the Curve to visualise -->
<a-draw-curve curveref="#track1" material="shader: line; color: blue;"></a-draw-curve>
<!-- create the path with type defined as attribute of a-curve -->
<a-curve id="track2" curve="closed:true" type="CubicBezier">
<a-curve-point position="-1 0.5 -3"></a-curve-point>
<a-curve-point position="0 2 -3"></a-curve-point>
<a-curve-point position="1 0.5 -3"></a-curve-point>
</a-curve>
<!-- Draw the Curve to visualise -->
<a-draw-curve curveref="#track2" material="shader: line; color: blue;"></a-draw-curve>
<!-- create the path with no type defined, result is the same -->
<a-curve id="track3" curve="closed:true">
<a-curve-point position="1 0.5 -3"></a-curve-point>
<a-curve-point position="2 2 -3"></a-curve-point>
<a-curve-point position="3 0.5 -3"></a-curve-point>
</a-curve>
<!-- Draw the Curve to visualise -->
<a-draw-curve curveref="#track3" material="shader: line; color: blue;"></a-draw-curve>
这导致以下结果,因为您可以看到它们看起来都是一样的。
在每种情况下,如果我查看a-curve
附带的组件,我可以看到它正在回归到CatmullRom
我做错了吗?
任何建议表示赞赏
答案 0 :(得分:1)
其他类型没有实施,我很害怕。在distribution(第126行)中,您可以看到注释的占位符。我建议提交issue。
<小时/> 此外,&#39;添加&#39;组件的更多曲线可能不像看起来那么简单,因为只有spline和CatmullRom曲线可以从
Vector3
点的数组创建,其余的曲线需要一组固定的三个(开始 - 中 - 结束)或四(两个中间)点。