2012-11-29 3 views
1

OBJLoader를 사용하여 3D 모델을로드하려고 시도하고 성공했습니다.이 모델은 3 차원 모델링 소프트웨어로 그려지고 변환 소프트웨어를 사용하여 .obj 형식으로 변환됩니다. . 모델은 절대 위치 지정이므로 항상 모델을 표시하는 데 문제가 있습니다.Three.js : 씬 중앙에 오브젝트 표시

이 경우 장면의 중간에 개체를 표시하고 모델을 정상적으로 보이게하려면 어떻게해야합니까?

이 작업을 수행하는 데 도움을 주시겠습니까? 감사!

답변

0

나는 약간의 길을 제안했지만, "모델을 표시하는 데 항상 문제가 있습니다"및 "모델을 정상적으로 보이게"하는 것이 무엇을 의미하는지 정확히 알지 못합니다. ,으로 위치가 너무/큰 범위 밖의 작은 같은 부적절한 좌표와 끝까지, 즉 -
: 대한 Three.js를 내 (작은) 경험에

, 나는 문제의 기본적으로 두 가지 주요 범주 우연히 발견 한 모델을 연구하고 경계 상자 및/또는 경계 구 (브라우저의 오류 창에 로그를 작성하려고 시도)를 계산하고 표시하고 발견 된 값에 따라 카메라를 조정하십시오.
- 조명, 흑백 디스플레이는 거의 보이지 않습니다. 즉, 재료와 조명이 둘 다 {1,1,1} 인 환경에서 시작하기 때문에 모델이 검정색 배경에 순수한 흰색으로 명확하게 나타나면 재질과 조명을 수정하여 원하는 효과. 좀 더 정확하게 문제가 무엇인지까지

는 ..., 지금은 훨씬 더 말할 수 없습니다

오류 로그 출력

작은 코드 :이 같은

function log(msg) { 
    setTimeout(function() { 
     throw new Error(msg); 
    }, 0); 
} 

사용 :

log('Radius = ' + radius); 
+0

답장을 보내 주셔서 감사합니다. My qustion은로드 할 때마다 장면/화면 중간에 모델을 표시하는 방법입니다. 그리고 그것을 지원할 수있는 Three.js의 메커니즘이 있는지 알고 싶습니다. 다시 감사합니다! – user1452571

+0

귀하의 의견을 조명, 올바른 가정합니다 : 실제로 화면에서 개체를 볼 수 있지만 카메라와 관련하여 올바른 위치에 있지 않습니다. 따라서 객체의 경계 상자를 계산하고 초점에 따라 BB 중심에서 적절한 거리에 카메라를 배치 한 다음 BB 중심을 봅니다. Three.js는이를 지원하는 기능을 가지고 있습니다. 컨트롤에 무엇을 사용합니까? 또는 Controls 유틸리티를 사용하지 않는 경우 Camera 클래스와 파생 클래스를 확인하십시오. –