我正在玩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; ..."
机器人这样的动画无法正常工作。.
有什么主意吗?
答案 0 :(得分:0)
我最终使Orbit-controls plugin适应使用Camera Controls Plugin。
会被警告:那可能是最丑陋和肮脏的方式,我只是适应了我需要的方法。使用风险自负。