Three.js Центр 3d Модель - PullRequest
       81

Three.js Центр 3d Модель

0 голосов
/ 18 декабря 2018

это первый раз, когда я пишу на stackoverflow ... пару дней я пытаюсь использовать библиотеку javascript Three.js (на самом деле версия n ° r99), я правильно ввел 3D-модель, но когда я ее вижузагруженный виден сзади и не центрирован в области просмотра, как я могу это исправить?

Код такой:

<script>

var scene = new THREE.scene();

var camera = new THREE.PerspectiveCamera ( 50, window.innerWidth / window.innerHeight, 1, 1000);

camera.position.z = 15;

var render = new THREE.WebGLRenderer();
renderer.setSize ( window.InnerWidth, window.InnerHeight );
document.body.appendChild (renderer.domElement);
window.addEventListener('resize', function(){
var width = window.innerWidth;
var height = window.innerHeight;
renderer.setSize( width, height );
camera.aspect = width / height;
camera.updateProjectMatrix();
});

controls = new THREE.OrbitControls ( camera, renderer.domElement );

var loader = new THREE.ObjectLoader();
loader.load("/models/teschio.json",function (obj)
{
scene.add( obj );
});

var animate = function (){
requestAnimateFrame ( animate );
renderer.render (scene, camera);
}
animate();

</script>

и в настоящее время это каркасный экран: фактический каркас

заранее благодарен за любые ответы.

1 Ответ

0 голосов
/ 18 декабря 2018

Примерно так:

var loader = new THREE.ObjectLoader();
loader.load("/models/teschio.json",function (obj)
{
  var box = new THREE.Box3().setFromObject( obj );
  var center = new THREE.Vector3();
  box.getCenter( center );
  obj.position.sub( center ); // center the model
  obj.rotation.y = Math.PI;   // rotate the model
  scene.add( obj );
});
...