如何更改框架曲线组件中的曲线类型

时间:2018-04-30 08:30:44

标签: aframe

我正在使用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>

这导致以下结果,因为您可以看到它们看起来都是一样的。

enter image description here

Here is a working fiddle

在每种情况下,如果我查看a-curve附带的组件,我可以看到它正在回归到CatmullRom

我做错了吗?

任何建议表示赞赏

1 个答案:

答案 0 :(得分:1)

其他类型没有实施,我很害怕。在distribution(第126行)中,您可以看到注释的占位符。我建议提交issue

<小时/> 此外,&#39;添加&#39;组件的更多曲线可能不像看起来那么简单,因为只有spline和CatmullRom曲线可以从Vector3点的数组创建,其余的曲线需要一组固定的三个(开始 - - 结束)或四(两个中间)点。