【问题标题】:only part of gltf model appearing using three.js仅使用three.js 出现的gltf 模型的一部分
【发布时间】:2020-11-27 23:27:16
【问题描述】:

我一直在尝试使用 threeJS' 添加这个 gltf 模型(https://poly.google.com/view/28RBIWE8jzc)。下面的代码是我能够看到任何东西的唯一方法,我只能看到对象的一小部分。如果有人知道需要更改什么,我将不胜感激。

import * as THREE from 'three';
import {GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader.js';
import OrbitControls from 'three/examples/jsm/controls/OrbitControls.js'
import { Color } from 'three';




var camera, scene, renderer;

init();
animate();

function init() {

camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.01, 10 );
camera.position.set(0,10,20);

scene = new THREE.Scene();

// Instantiate a loader
var loader = new GLTFLoader();

// Load a glTF resource
loader.load( 'styles/baseball/Baseball.gltf', function ( gltf ) {
    scene.add( gltf.scene );
} );

scene.background = new Color('blue')

var light = new THREE.AmbientLight(0x404040);
scene.add(light);

const light2 = new THREE.PointLight( 0xff0000, 1, 100 );
light2.position.set( 50, 50, 50 );
scene.add( light2 );

renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
document.body.addEventListener( 'keydown', onKeyDown, false );

}

function animate() {
  requestAnimationFrame( animate );
  renderer.render( scene, camera );

}

function onKeyDown(){
  console.log("press")
  switch( event.keyCode ) {
     case 83: // w
     camera.position.z += 5;
     break;
     case 87: // s
     camera.position.z -= 5;
     break;
     case 40: // down
     camera.position.y -= 5;
     break;
     case 38: // up
     camera.position.y += 5;
     break;
  }
}

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    棒球资产非常大,因此我建议您更改相机配置。试试看:

    camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.1, 1000 );
    camera.position.set( 0, 150, 350 );
    

    或者,您也可以考虑在加载过程之后缩小棒球的尺寸。试试看:

    gltf.scene.scale.setScalar( 0.01 );
    

    【讨论】:

    • 这很棒!我之前尝试过缩小一点,但我认为这不是问题,因为看起来只有一小部分球在渲染。谢谢您的帮助。这真是令人头疼。
    • 如果答案对您有用,请接受/投票。
    猜你喜欢
    • 2021-03-01
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 2021-05-06
    • 2022-09-30
    • 2019-07-10
    • 2014-10-13
    相关资源
    最近更新 更多