Как изменить тип кривой в компоненте кривой a-frame - PullRequest
0 голосов
/ 30 апреля 2018

Я использую компонент кривой a-frame , чтобы создать пути для движения вещей. Кажется, я не могу изменить кривую 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

Вот рабочая скрипка

В каждом случае, если я смотрю на компоненты, прикрепленные к a-curve, я вижу, что он возвращается к CatmullRom

Я что-то не так делаю?

Любой совет приветствуется

1 Ответ

0 голосов
/ 01 мая 2018

Боюсь, другие типы не реализованы. В дистрибутиве (строка 126) вы можете увидеть заполненный комментарий. Я бы предложил подать номер .


Кроме того, «добавление» большего количества кривых к компоненту может быть не таким тривиальным, как кажется, поскольку только spline и кривые CatmullRom могут быть созданы из массива Vector3 точек, остальные из них занимают фиксированный набор из трех ( начало - середина - конец ) или четырех (две средние) точки.
...