2012-06-20 10 views
20

क्या किसी ऑब्जेक्ट को थ्री.जेएस में आगे बढ़ाने का कोई तरीका है?किसी ऑब्जेक्ट को थ्री.जेएस में आगे कैसे स्थानांतरित करें?

शायद मुझे rotation.x, y, z को वेक्टर में परिवर्तित करना चाहिए, और इसके साथ सौदा करना चाहिए। लेकिन मैं शुरुआत कर रहा हूं, और मुझे नहीं पता कि यह कैसे करना है।

उत्तर

41

Object3D पोस्ट किया है कि के लिए कुछ आसान तरीकों है।

object.translateZ(10); 
+0

धन्यवाद। और कैमरे को कैसे स्थानांतरित करें? – eqiproo

+3

@eqiproo camera.translateZ (10); – mrdoob

+5

@mrdoob क्या तीनjs के लिए दस्तावेज़ विस्तृत करना अधिक विस्तृत है? –

7

यहाँ एक अच्छा ट्यूटोरियल http://www.aerotwist.com/tutorials/getting-started-with-three-js/

// set position of YOUR_OBJECT 
YOUR_OBJECT.position.x = 10; 
YOUR_OBJECT.position.y = 50; 
YOUR_OBJECT.position.z = 130; 

ठीक है, दोस्तों, और अधिक विस्तृत है!

var STEP = 10; 
var newCubeMatrix = cube.matrix;   
newCubeMatrix.identity(); 
//newCubeMatrix.multiplySelf(THREE.Matrix4.rotationYMatrix(cube.rotation.y)); 
newCubeMatrix.multiplySelf(THREE.Matrix4.translationMatrix(cube.position.x, cube.position.y, cube.position.z + STEP)); 
cube.updateMatrix(); 

जानकारी यहां https://gamedev.stackexchange.com/questions/7490/translate-object-in-world-space-usings-its-local-rotation

+0

क्षमा करें, लेकिन मुझे अभी भी यह नहीं पता कि यह कैसे करना है: एस – eqiproo

+0

क्या आपके पास कुछ स्निपेट शुरू करने के लिए है? क्या आपने अभी तक कोई ट्यूटोरियल आजमाया है? क्या आपने लिंक जांच लिया था? मुझे अपनी चिंताओं बताओ? –

+0

मेरे पास मेरे दृश्य में एक लाल घन है, जो एक्स, वाई और जेड अक्ष के चारों ओर घूमता है। मैं ऑब्जेक्ट की वर्तमान दिशा का उपयोग करना चाहता हूं और निर्दिष्ट चरण मान का उपयोग करके इसे आगे बढ़ाना चाहता हूं। – eqiproo

-2

एक और विकल्प वेक्टर 3 की सेट विधि/फ़ंक्शन का उपयोग करना है।

position.set(x, y, z); 
+0

एचटीपीपीएस पर प्रतिबिंबित करने के लिए कुछ: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set –