欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Three.js加載外部模型的教程詳解

 更新時間:2017年11月10日 10:58:13   作者:CQ-engineer  
這篇文章主要介紹了Three.js外部模型加載的教程詳解,在文章給大家補(bǔ)充介紹了three.js 外部模型加載json的方法,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下

1.  首先我們要在官網(wǎng): https://threejs.org/ 下載我們three.js壓縮包,并將其中的build文件夾下的three.js通過script標(biāo)簽對的src屬性導(dǎo)入到我們的頁面中

2.  創(chuàng)建three.js核心對象

  Scene(場景)

  Camera(相機(jī))

  Light(光源)

  Mesh(模型)

  Renderer(渲染器)

  最后一步就是渲染顯示在我們的頁面上了renderer.render(scene,camera)

3.  OBJ模型的導(dǎo)入

<script type="text/javascript" src="js/OBJLoader.js"></script>
 <script type="text/javascript" src="js/MTLLoader.js"></script>

4.  .JS模型的導(dǎo)入

首先我們需要將.OBJ模型的文件轉(zhuǎn)換成.JS文件的模型

.obj格式轉(zhuǎn).js格式使用的是threejs.org官方提供的一個convert_obj_three.py的工具,這個工具的使用需要安裝python環(huán)境

轉(zhuǎn)換過程:

    將convert_obj_three.py和要轉(zhuǎn)換的.obj文件和.mtl文件放在同一個目錄下

打開cmd,切換到對應(yīng)的目錄下

python convert_obj_three.py -i infile.obj -o outfile.js [-t ascii|binary]

    可以得到兩種編碼方式的.js文件(二進(jìn)制binary和ascii)

出現(xiàn)的問題,轉(zhuǎn)換格式的問題:

   打開.obj文件,

將mtllib關(guān)鍵字后面改成 .mtl文件相對于.obj文件的路徑

將文件中的這些?改成字母,亂碼

.mtl文件中的newmtl 關(guān)聯(lián)到.obj文件中

這是.obj文件中的

5.  準(zhǔn)備導(dǎo)入

Ascii

Binary

需要導(dǎo)入

<script src="js/BinaryLoader.js"></script>

PS:three.js 外部模型加載json

用blender做模型可以直接導(dǎo)出json文件(導(dǎo)出插件可以從three.js包里找到)。從網(wǎng)上下載模型,網(wǎng)上的模型很多事3ds max做的,我就用3ds max把模型格式轉(zhuǎn)換成obj,再導(dǎo)入blender處理好模型后導(dǎo)出json文件。

導(dǎo)出json文件時選項(xiàng)勾選如果選擇了SCENE可連燈光一同導(dǎo)出加載時需要用ObjectLoader

var loader = new THREE.ObjectLoader(); 
loader.load('youscene1.json',function(obj){ 
  obj.scale.x = obj.scale.y = obj.scale.z =100; 
  scene.add(obj); 
}); 

導(dǎo)出json文件時如果不勾選scene,需要頁面中添加燈光否則模型全黑,加載時用JSONLoader

var loader = new THREE.JSONLoader(); 
      loader.load( "noscene.json",function( geometry, materials ) { 
        materials[ 0 ].shading = THREE.FlatShading; 
        mesh = new THREE.Mesh( geometry, new THREE.MultiMaterial( materials ) ); 
        mesh.position.x = 0; 
        mesh.position.y = 0; 
        mesh.position.z = 0; 
        mesh.scale.x = mesh.scale.y = mesh.scale.z =100; 
        scene.add( mesh ); 
      }); 

總結(jié)

以上所述是小編給大家介紹的Three.js加載外部模型的教程詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論