使用three.js出现的gltf模型只有一部分

小鱼

我一直在尝试使用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;
  }
}
木根87

棒球资产很大,因此我建议您更改相机配置。尝试使用:

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

或者,您也可以考虑在载入过程后按比例缩小棒球。尝试使用:

gltf.scene.scale.setScalar( 0.01 );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 VUE - 即使只有一部分不同,HTML 是否也会更新?

来自分类Dev

使用GLTF的一部分作为InstancedMesh

来自分类Dev

使用GLTF的一部分作为InstancedMesh

来自分类Dev

使用GLTF的一部分作为InstancedMesh

来自分类Dev

我正在尝试使用PHP的GD库使图像透明,但是运行以下代码,只有一部分是透明的

来自分类Dev

SKPhysicsBody仅使用SKTexture的一部分

来自分类Dev

使用ID的一部分查找元素

来自分类Dev

如何使用数组的一部分

来自分类Dev

使用CSS模糊图像的一部分

来自分类Dev

使用matplotlib返回图的一部分

来自分类Dev

使用XDocument读取XML的一部分

来自分类Dev

仅使用xml文件的一部分

来自分类Dev

仅使用CSV列的一部分

来自分类Dev

使用lxml标记文本的一部分

来自分类Dev

使用re替换数组的一部分

来自分类Dev

使用ffmpeg提取视频的一部分

来自分类Dev

使用JavaScript获取URL的一部分

来自分类Dev

使用php提取链接的一部分?

来自分类Dev

使用linq比较日期的一部分

来自分类Dev

在公式的一部分中使用变量

来自分类Dev

SKPhysicsBody仅使用SKTexture的一部分

来自分类Dev

使用cURL获取网页的一部分

来自分类Dev

使用XDocument读取XML的一部分

来自分类Dev

使用 pyglet 使图像的一部分透明

来自分类Dev

使用 RewriteRule 隐藏 URL 的一部分

来自分类Dev

使用D3.js仅渲染topojson映射的一部分

来自分类Dev

使用node.js脚本重命名文件名的一部分

来自分类Dev

如何使用Node.js在MongoDB中获取文档的一部分?

来自分类Dev

如何使用JS在画布上绘制角色的一部分?