Three.js에서 뛰어넘기기 - 카메라를 움직이자 Part.1 -
4762 단어 three.js
어제 3D 개체를 이동했습니다.
오늘은 카메라를 움직일 준비를 합니다.
1. 완성판
2. 참고문헌
ICS MEDIA
처음 Three.js
CodeGrid
3. 분해해 본다
❶.
현재는 카메라가 움직이면 그 물체를 계속 따라갈 수 없어 잃어버립니다.
카메라가 물체를 계속 주시하기 위해서는 어떻게 해야 할까요?
이렇게하려면 camera.lookAt()
를 사용하십시오.
camera.lookAt 메서드란?
이 메소드로, 어느 위치로부터라도, 지정된 좌표에 강제적으로 쫓아 계속합니다.
camera.lookAt(new THREE.Vector3(0,0,0))
camera.lookAt() 의 인수에는, THREE.Vector3
로, 생성된 오브젝트가 들어갑니다.
이 constructor 은, 인수에 3 개의 숫자를 취해,
(0,0,0) -> {x:0, y:0, z:0}
그리고 변환된 인스턴스를 만듭니다.
데모 ICS MEDIA에서 있었으므로 꼭 한번 봐주세요.
밤하늘을 만들자!
카메라의 움직임을 알기 쉽게 하기 위해 별이 빛나는 하늘을 만듭니다.
전회까지의 복습입니다.
index.htmlstarNight();
function starNight(){
const star = new THREE.Points(geometry, material);
scene.add(star);
}
THREE.Point 클래스를 사용하면 3D 공간 내에 많은 양의 Particle을 만들 수 있습니다.
자세한 내용은 공식 DOC 및 ICS MEDIA을 참조하십시오.
그럼 위의 코드에 geometry와 material을 써 봅시다.
index.htmlstarNight();
function starNight(){
const geometry = new THREE.Geometry();
for (let i=0; i<1000; i++){
const star = new THREE.Vector3();
star.x = THREE.Math.randFloatSpread( 3000 );
star.y = THREE.Math.randFloatSpread( 3000 );
star.z = THREE.Math.randFloatSpread( 3000 );
geometry.vertices.push(star)
}
const material = new THREE.PointsMaterial({
size : 10,
color: 0xffffff
});
const star = new THREE.Points(geometry, material);
scene.add(star);
}
geometry는 먼저 빈 geometry를 만들고 loop 문을 사용합니다.geometry.vertices.push(new THREE.Vector3())
(은)는, 자전으로 geometry 를 만들 때 자주, 사용하는 구문입니다.
vertices 는 다면체를 구성하는 정점입니다. 즉, 위의 구문은
geometry의 정점에 좌표를 설정하겠다는 의미가 됩니다.
material에 PointsMaterial을 설정했습니다.
여기 공식에 대한 훌륭한 설명을 참조하십시오.
아름다운 밤하늘이 생겼습니다.
이제 카메라를 움직일 때 알기 쉽습니다.
그럼 내일, 목적인 카메라를 움직여 3D의 묘미를 즐겨보자.
그럼 또~
Reference
이 문제에 관하여(Three.js에서 뛰어넘기기 - 카메라를 움직이자 Part.1 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/duka/items/9747cf5b49a58c42578e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ICS MEDIA
처음 Three.js
CodeGrid
3. 분해해 본다
❶.
현재는 카메라가 움직이면 그 물체를 계속 따라갈 수 없어 잃어버립니다.
카메라가 물체를 계속 주시하기 위해서는 어떻게 해야 할까요?
이렇게하려면 camera.lookAt()
를 사용하십시오.
camera.lookAt 메서드란?
이 메소드로, 어느 위치로부터라도, 지정된 좌표에 강제적으로 쫓아 계속합니다.
camera.lookAt(new THREE.Vector3(0,0,0))
camera.lookAt() 의 인수에는, THREE.Vector3
로, 생성된 오브젝트가 들어갑니다.
이 constructor 은, 인수에 3 개의 숫자를 취해,
(0,0,0) -> {x:0, y:0, z:0}
그리고 변환된 인스턴스를 만듭니다.
데모 ICS MEDIA에서 있었으므로 꼭 한번 봐주세요.
밤하늘을 만들자!
카메라의 움직임을 알기 쉽게 하기 위해 별이 빛나는 하늘을 만듭니다.
전회까지의 복습입니다.
index.htmlstarNight();
function starNight(){
const star = new THREE.Points(geometry, material);
scene.add(star);
}
THREE.Point 클래스를 사용하면 3D 공간 내에 많은 양의 Particle을 만들 수 있습니다.
자세한 내용은 공식 DOC 및 ICS MEDIA을 참조하십시오.
그럼 위의 코드에 geometry와 material을 써 봅시다.
index.htmlstarNight();
function starNight(){
const geometry = new THREE.Geometry();
for (let i=0; i<1000; i++){
const star = new THREE.Vector3();
star.x = THREE.Math.randFloatSpread( 3000 );
star.y = THREE.Math.randFloatSpread( 3000 );
star.z = THREE.Math.randFloatSpread( 3000 );
geometry.vertices.push(star)
}
const material = new THREE.PointsMaterial({
size : 10,
color: 0xffffff
});
const star = new THREE.Points(geometry, material);
scene.add(star);
}
geometry는 먼저 빈 geometry를 만들고 loop 문을 사용합니다.geometry.vertices.push(new THREE.Vector3())
(은)는, 자전으로 geometry 를 만들 때 자주, 사용하는 구문입니다.
vertices 는 다면체를 구성하는 정점입니다. 즉, 위의 구문은
geometry의 정점에 좌표를 설정하겠다는 의미가 됩니다.
material에 PointsMaterial을 설정했습니다.
여기 공식에 대한 훌륭한 설명을 참조하십시오.
아름다운 밤하늘이 생겼습니다.
이제 카메라를 움직일 때 알기 쉽습니다.
그럼 내일, 목적인 카메라를 움직여 3D의 묘미를 즐겨보자.
그럼 또~
Reference
이 문제에 관하여(Three.js에서 뛰어넘기기 - 카메라를 움직이자 Part.1 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/duka/items/9747cf5b49a58c42578e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
camera.lookAt(new THREE.Vector3(0,0,0))
(0,0,0) -> {x:0, y:0, z:0}
starNight();
function starNight(){
const star = new THREE.Points(geometry, material);
scene.add(star);
}
starNight();
function starNight(){
const geometry = new THREE.Geometry();
for (let i=0; i<1000; i++){
const star = new THREE.Vector3();
star.x = THREE.Math.randFloatSpread( 3000 );
star.y = THREE.Math.randFloatSpread( 3000 );
star.z = THREE.Math.randFloatSpread( 3000 );
geometry.vertices.push(star)
}
const material = new THREE.PointsMaterial({
size : 10,
color: 0xffffff
});
const star = new THREE.Points(geometry, material);
scene.add(star);
}
Reference
이 문제에 관하여(Three.js에서 뛰어넘기기 - 카메라를 움직이자 Part.1 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/duka/items/9747cf5b49a58c42578e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)