fbx模型加载到html,three.js演示如何用FBXLoader来加载fbx模型
HTML
导入代码模板:
import * as THREE from '//techbrood.com/threejs/build/three.module.js';
import Stats from '//techbrood.com/threejs/examples/jsm/libs/stats.module.js';
import { OrbitControls } from '//techbrood.com/threejs/examples/jsm/controls/OrbitControls.js';
import { FBXLoader } from '//techbrood.com/threejs/examples/jsm/loaders/FBXLoader.js';
var container, stats, controls;
var camera, scene, renderer, light;
init();
animate();
function init() {
container = document.createElement( 'div' );
document.body.appendChild( container );
camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 2000 );
camera.position.set( 0, 1.6, 0 );
scene = new THREE.Scene();
scene.background = new THREE.Color( 0xa0a0a0 );
scene.fog = new THREE.Fog( 0xa0a0a0, 200, 1000 );
light = new THREE.HemisphereLight( 0xffffff, 0x444444 );
light.position.set( 0, 20, 0 );
scene.add( light );
light = new THREE.DirectionalLight( 0xffffff );
light.position.set( 0, 20, 10 );
light.castShadow = true;
scene.add( light );
var grid = new THREE.GridHelper( 5, 20, 0x000000, 0x000000 );
grid.material.opacity = 0.2;
grid.material.transparent = true;
scene.add( grid );
// model
var loader = new FBXLoader();
loader.load( '/uploads/1911/forest/AssaultRifle_1.fbx', function ( object ) {
object.traverse( function ( child ) {
if ( child.isMesh ) {
child.castShadow = true;
child.receiveShadow = true;
}
} );
object.rotation.y = Math.PI/2;
//object.rotation.x = -Math.PI/2 - Math.PI/12;
object.position.set(0, -0.15, 0.3);
console.log(object.position);
object.scale.set(.003, .003, .003);
scene.add( object );
} );
renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.shadowMap.enabled = true;
container.appendChild( renderer.domElement );
controls = new OrbitControls( camera, renderer.domElement );
controls.target.set( 0, 0, 0 );
controls.update();
window.addEventListener( 'resize', onWindowResize, false );
// stats
stats = new Stats();
container.appendChild( stats.dom );
}
function onWindowResize() {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
}
//
function animate() {
requestAnimationFrame( animate );
renderer.render( scene, camera );
stats.update();
}
fbx模型加载到html,three.js演示如何用FBXLoader来加载fbx模型相关推荐
- 怎样使页面加载完再执行js代码
怎样使页面加载完再执行js代码 由于HTML页面的加载顺序是从上到下,所以js代码要写在页面靠下的位置,否则可能会发生元素获取不到的问题,为了避免这种情况,可以通过页面元素加载完之后,再执行js代码, ...
- JS,两种在页面加载完成后自动执行的方法(ready,onload)
JS,两种在页面加载完成后自动执行的方法 1.jQuery的ready事件,需要引入jQuery的包才能使用,表示文档结构已经加载完成(不包含图片等非文字媒体文件): ready可以多次调用,可以绑定 ...
- WKWebView Safari调试、JS互调、加载进度条、JS中alert、confirm、prompt
主要内容 Safari调试 swift/OC与JS互调 增加加载进度条 支持JS中alert.confirm.prompt Safari调试 设置 -> safari --> 高级,开启J ...
- 解决pjax加载页面不执行js插件的问题
解决pjax加载页面不执行js插件的问题 参考文章: (1)解决pjax加载页面不执行js插件的问题 (2)https://www.cnblogs.com/fanwenhao/p/9643549.ht ...
- Django 无法加载静态文件(js,css,image)解决办法
Django 无法加载静态文件(js,css,image)解决办法 按照这个配置成功: https://jingyan.baidu.com/article/8cdccae92ffc16315413cd ...
- 网站性能分析(下)-让网站并行加载但顺序执行JS
如果网站不支持JavaScript,复杂的功能将无法正常工作.在开发当中通常有几个脚本会写在HTML文件的头部.你嵌入的越多,网站的速度潜在的变得越慢.因此提高并行加载速度变得非常有必要,在前面的文章 ...
- 关于JQUERY动态加载页面时的JS失效的问题
加载页面后一些JS特效或CSS特效不起作用,简单的方法是重新加载一下JQUERY的特效函数.
- html底部自动加载下一页,js页面滚动到底部时自动加载下一页数据
一段滚动到页面底部自动加载更多数据的js代码,需要jquery.js . jquey.tmpl.js 支持 var Data = { PageCount: 1, PageSize: 30, IsCom ...
- html js 如何判断页面是第一次访问还是重复刷新访问,使用JS判断页面是首次被加载还是刷新...
1 利用window.name属性在页面刷新时不会重置判断(在该属性空置的情况下可使用) if(window.name == ""){ console.log("首次被加 ...
- SAP UI5应用入口App.controller.js是如何被UI5框架加载的?
首先在UI5应用的manifes.json里,定义了UI5应用的入口视图为App: 调试器里的pending数组的两个元素: 实际上对应了我在App.controller.js里定义的两个依赖: 而a ...
最新文章
- Linq 集合处理(Union)
- Python高效编程技巧
- sql server中存储过程提示错误
- ionic4的input调用手机键盘将换行改成搜索
- heart beat 安装与配置
- android控件的touch事件_聊聊Android嵌套滑动
- centos 6 安装clamav杀毒软件查毒
- java代码执行效率分析
- 《LeetCode刷题C/C++版答案》pdf出炉,白瞟党乐坏了
- 苹果Apple TV+上线了重磅史诗级别科幻作品,这是要挑战Netflix、HBO?
- 如何启用计算机网络,启用网络发现,教您win10怎么启用网络发现
- tomcat下载、安装、配置(新手教程墨迹版)
- 标准盒模型与怪异盒模型
- Java网络编程,一对一聊天
- 杭电1874畅通工程绪
- Buzz 多用途 WordPress主题[v1.10]
- 时代周刊对比海地与汶川地震 称赞中国重建能力
- 关于C中编译后RO,RW,ZI的含义
- 联通3G 网络设置+彩信设置
- 智慧管廊综合监管平台