2013-03-19 112 views
1

我正在將.obj文件加載到Object3D對象中。這很好,我可以在屏幕上看到它。不過,我想要在物體上方的某些位置創造出旋轉精靈(螢火蟲,閃電球等)的印象。將子節點/對象附加到three.js中的Object3D中

我一直在尋找有關精靈和其他東西的three.js文檔,並且對這些功能印象非常深刻。但是我需要一點幫助,瞭解如何創建一個獨立的精靈「globe」,精靈在自己的本地座標系中飛行,然後將獨立的「globe」移動到obj文件上方的某個點。有人可以幫我開始做這件事嗎? (我猜它歸結爲,你怎麼一個物體相對於另一個在threejs的位置?)

回答

4

你應該能夠簡單地spinnning精靈重視使用add()功能:

//create an empty 'container'/Object3D 
var spinningSprites = new Object3D(); 
//add elements to it: 
for(var i = 0 ; i < numSprites; i++) spinningSprites.add(yourParticleObjectInstsance); 
//lastly add the whole container to the loaded model: 
youLoadedModel.add(spinningSprites); 

以上是一個例子,你可以使用不同的變量名等,但這個想法很簡單:使用add()。

+0

謝謝。不要聽起來像個笨蛋,但是有沒有辦法將spinSprites對象添加到容器的特定位置? three.js'add()'方法似乎不提供定位信息? – larryq 2013-03-19 17:19:51

+1

spinningSprites.position.set(x,y,z) – gaitat 2013-03-19 17:25:43

+1

@larryq as gaitat指出,使用position屬性。只需添加,根據您翻譯/移動的層次結構中的哪個對象跟蹤本地座標。 – 2013-03-19 19:22:59