二.問題分析
三、後期補充總結
<
!doctype html>
"en"
>
"utf-8"
>
"viewport" content=
"width=device-width, initial-scale=1.0"
>
軍營展示<
/title>zhuyemian
<
!--引入three.js三維引擎--
>
"../build/three.js"
>
<
/script>
<
!--引入軌道控制項orbitcontrols.js--
>
"../js/orbitcontrols.js"
>
<
/script>
<
!-- 引入global載入器 --
>
"../js/gltfloader.js"
>
<
/script>
<
/head>
"junying"
>
<
/div>
<
!-- 載入模型檔案 --
>
"../js/junying2.js"
>
<
/script>
<
/script>
body
<
/style>
<
/body>
<
/html>
let junying = document.
getelementbyid
("junying");
//建立場景物件
let scene = new three.
scene()
;// 設定光源
//點光源
let point = new three.
pointlight
(0xffffff);
point.position.
set(
500,
300,
300)
;//點光源位置
scene.
add(point)
;//點光源新增到場景中
//環境光
let light = new three.
ambientlight
(0x444444);
scene.
add(light)
;//相機設定
let camera = new three.
perspectivecamera(45
, window.innerwidth / window.innerheight,
0.25
,1000);
//透視攝像機
camera.position.
set(
500,
100,0)
;//設定相機位置
camera.
lookat
(scene.position)
;//設定相機方向(指向的場景物件)
// 載入模型
var loader = new three.
gltfloader()
;loader.
load
('../model/yqnew.glb'
,function
( glb )
, undefined,
function
( error ));
// 建立渲染物件
let renderer = new three.
webglrenderer()
;renderer.
setsize
(window.innerwidth, window.innerheight)
;//設定渲染區域尺寸
renderer.
setclearcolor
(0xb9d3ff,1
);//設定背景顏色
junying.
(renderer.domelement)
// 執行渲染操作
function animate()
animate()
;
通過上面的**,引入的模型資料可以列印出來,但是模型沒有顯示,把引入的外部模型換成自己**生成的模型可以正常顯示
例如:把**中的
var loader = new three.
gltfloader()
;loader.
load
('../model/yqnew.glb'
,function
( glb )
, undefined,
function
( error )
);
替換為// 立方體網格模型
var geometry1 = new three.
boxgeometry
(100
,100
,100);
var material1 = new three.
meshlambertmaterial()
;//材質物件material
var mesh1 = new three.
mesh
(geometry1, material1)
;//網格模型物件mesh
scene.
add(mesh1)
;//網格模型新增到場景中
模型可以正常顯示,模型有資料列印,那麼問題就定位到渲染處,在函式animate()中加入requestanimationframe( animate );模型可以正常顯示,然後把requestanimationframe( animate );注釋,新增乙個定時器,設定為2秒,2秒後模型展示。function animate()
animate()
;setinterval
("animate()"
,2000
);
又遇到一種情況。。。。。無資料列印,模型不顯示,原因是:
模型需要放在public的static下面
並且引入路徑要寫成如下圖的格式
注:這裡沒有寫成『二、問題分析』中的「var loader = new three.gltfloader();」,
是因為採用的寫法:
import from 「three/examples/jsm/loaders/gltfloader」;
記錄學習中遇到的問題:threejs引入外部模型第一次呼叫render()不會載入模型,需要加入requestanimationframe()進行週期性渲染。
THREEJS載入必要五要素
threejs載入3d模型 就像人的眼睛去看這個世界,需要有所處的環境,眼睛,看的物體,有光等等 場景就像人所處的環境一樣,所有的模型 都是在這個場景中去展示 去活動 this scene newthree.scene 攝像機就像人的眼睛 var k width height 視窗寬高比 建立相機物...
cesium載入管道glb模型如何改變紋理
求幫助 cesium載入glb模型後,想要為其貼圖,且在管道內沿路徑運動。目前只能做到改變其顏色,且動畫效果也沒有實現 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計...
spring boot啟動時載入外部配置檔案的方法
前言 相信很多人選擇spring boot主要是考慮到它既能兼顧spring的強大功能,還能實現快速開發的便捷。本文主要給大家介紹了關於spring boot啟動時載入外部配置檔案的相關內容,下面話不多說了,來隨著小編一起學習學習吧。業務需求 載入外部配置檔案,部署時更改比較方便。先上 spring...