他のプリミティブで構成されるフレーム内のプリミティブを登録しています。しかし、これらの内部プリミティブを個別にスケーリングおよび配置したいと考えています。しかし、位置自体はコンポーネントであるため、これらの内部プリミティブには位置がないため、移動できません。
登録したいプリミティブの一部であるプリミティブのコンポーネントに値を設定するにはどうすればよいですか?
AFRAME.registerPrimitive('a-svrbutton', {
defaultComponents: {
geometry: {
primitive: 'box',
height: 1.5,
depth: 0.2,
width: 3.5
},
material: {
opacity: 1.0,
transparent: true,
side: 'Double',
color: '#8450ff'
},
position: {
x: 0,
y: 0,
z: -5
},
'bmfont-text': {
text: 'hola',
color: '#ffffff'
},
},
mappings: {
height: 'geometry.height',
width: 'geometry.width',
depth: 'geometry.depth',
color: 'material.color',
opacity: 'material.opacity',
position: 'position'
}
});
<script src="https://aframe.io/releases/0.5.0/aframe.min.js"></script>
<a-scene>
<a-svrbutton id="mybutton" position="0 0 -5"></a-svrbutton>
</a-scene>
上記のスニペットを実行するには、ブラウザーが WebVR をサポートしていることを確認してください。
デフォルトの「コンポーネント」bmfont-text のデフォルト位置として、任意の xy および z として定義したいと考えています。しかし、この「プリミティブ」には位置コンポーネント自体がないため、できません。どうやってやるの?