일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- PHP
- vuetify
- auth0
- Node
- VR
- WebXR
- A-Frame
- PDO
- vue
- bootstrap
- JS
- vue-template-compiler
- JavaScript
- package-lock.json
- aframe
- 상태관리
- EM6
- 3d
- AR
- Component
- version mismatch
- npx
- vuex
- WebVR
- array
- javscript
- CI/CD
- Three.js
- web
- promise
Archives
- Today
- Total
대가는 결과를 만든다
AFrame에서 Three.js의 접근 본문
반응형
1. three.js Scene에 접근
1) a-scene 이용
document.querySelector('a-scene').object3D;
2) entity에서의 접근
document.querySelector('a-entity').sceneEl.object3D; // THREE.Scene |
3) Component에서의 접근
AFRAME.registerComponent('foo', {
init: function () {
var scene = this.el.sceneEl.object3D; // THREE.Scene
}
});
2. Entity의 three.js object 접근
: 모든 Entity는 다양한 타입의 THREE.Object3D를 포함하는 THREE.Group을 가지고 있음
.object3D를 통해 해당 entity의 루트 THREE.Group에 접근 가능함.
1) THREE.Group 객체의 접근
document.querySelector('a-entity').object3D; // THREE.Group |
2) THREE.Group의 다른 타입의 object들을 참조할 때
console.log(entityEl.object3DMap); |
3) getObject3D(name)을 이용한 접근
|
4) three.js Object의 A-Frame Entity 참조
entityEl.getObject3D ( 'light' ) .el; // entityEl |
*getOrCreateOBject3D(name, constructor) : THREE.Mesh, geometry와 material component가 get 혹은 create Mesh를 할 때 주로 사용.
Compnent가 처음 초기화 되었을 때 mesh를 생성하고, 다른 Component는 mesh를 get할 때
6) setObject(name)을 이용한 Component 설정
:Entity의 Group에 Object3D추가
AFRAME.registerComponent('pointlight', {
init: function () {
this.el.setObject3D('light', new THREE.PointLight());
}
});
// <a-entity light></a-entity>
'개발 > VR' 카테고리의 다른 글
[리서치/자료] AFrame 주요 외부 Component, Library 정리 (0) | 2019.01.09 |
---|---|
ECS in A-Frame (0) | 2018.12.19 |
A-Frame Component (0) | 2018.12.18 |
A-Frame Tracker 지원 여부 리서치 (0) | 2018.12.12 |
A-Frame Primitives (0) | 2018.12.05 |
Comments