A框架:如何为Orbit-Control设置动画?

时间:2018-11-04 13:19:25

标签: three.js aframe orbit-controls

我正在玩ngokevin的Orbit controller组件,我对动画有一些疑问。

我的情况很简单:我有一个3d场景,其中包含不同的元素,一旦被单击,就应该将相机移动到“看着它们”。

到目前为止,我已经能够彻底改变轨道控制target,并且以某种方式起作用:

AFRAME.registerComponent( 'mytest-click', {
  schema: {
    active: { type: "boolean" }
  },
  init: function () {
    var data = this.data;
    var el = this.el;
    el.addEventListener( 'click', function ( evt ) {
      // Calculate real position
      var targetPosition = new THREE.Vector3();
      targetPosition.setFromMatrixPosition( evt.target.object3D.matrixWorld );
      var cameraPosition = document.querySelector( '#camera' ).getAttribute( 'position' );

      targetPosition.y -= cameraPosition.y;

      var currOrbit = document.querySelector( '#camera' ).getAttribute( 'orbit-controls' );
      currOrbit.target = targetPosition;
      document.querySelector( '#camera' ).setAttribute( 'orbit-controls', currOrbit );
    } );
  }
});

我的问题是我无法设置动画。.我尝试使用像animation__test="property: orbit-controls.target; ..."机器人这样的动画无法正常工作。.

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

我最终使Orbit-controls plugin适应使用Camera Controls Plugin

会被警告:那可能是最丑陋和肮脏的方式,我只是适应了我需要的方法。使用风险自负。

That's the link to the repo