Three.js: рдореЗрд░реА рд╡рд╕реНрддреБ рдХреА рдзреБрд░реА рдмрд┐рдВрджреБ рдмрджрд▓реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдлрд╝рд░ре░ 2012  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mrdoob/three.js

рдореИрдВ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдмрд╣реБрдд рдирдпрд╛ рд╣реВрдБ, рдЗрд╕рд▓рд┐рдП рдмрд╣рд╛рдирд╛ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдмреЗрд╡рдХреВрдл рд╕рд╡рд╛рд▓ рд╣реИред

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛:

рдореИрдВ рдПрдХ рдкреНрд░рд┐рдЬреНрдо (24 рд╡рд┐рдорд╛рдиреЛрдВ рдХреЗ рдмрд╣реБрднреБрдЬ рдХрд╛ рдирд┐рд░реНрдорд╛рдг) рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ 24 рдкреНрд▓реЗрди рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рд╣рд░ рдХреЛрдИ 15 ┬░ рдПрдХ-рджреВрд╕рд░реЗ рдХрд╛ рд╕рдореВрд╣ рд╣реИ рдФрд░ рд╕рдореВрд╣реАрдХреГрдд рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЬрдЯрд┐рд▓ рд╣реИ рдХрд┐ x рдФрд░ z рдХреА рджреВрд░реА рдХрд┐рддрдиреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд╛рдИрдВ рдУрд░ рдзреБрд░реА рдмрд┐рдВрджреБ рд╕реЗрдЯ рдХрд░рдиреЗ рдкрд░ рдпрд╣ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛? рд╕рд╣реА? рдкрд░ рдХреИрд╕реЗ? рдпрд╛ рд╡рд╣рд╛рдБ рдПрдХ рд╕рд░реНрдХрд▓ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬреЛ рд╡рд┐рдорд╛рдиреЛрдВ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ?

рдореЗрд░реА рдЦрд░рд╛рдм рдЗрдВрдЧреНрд▓рд┐рд╢ рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХреАрдЬрд┐рдпреЗ :-/

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

рдЕрдкрдиреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдореЗрдВ рд╕рднреА рдХреЛрдгреЛрдВ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ:

geometry.applyMatrix( new THREE.Matrix4().setTranslation( 0, 10, 0 ) );

рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ рдЬреЛ рдзреБрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧреА:

mesh.position.y = 10;

var pivot = new THREE.Object3D();
pivot.add( mesh );

scene.add( pivot );

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

рдЕрдкрдиреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдореЗрдВ рд╕рднреА рдХреЛрдгреЛрдВ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ:

geometry.applyMatrix( new THREE.Matrix4().setTranslation( 0, 10, 0 ) );

рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдмрдирд╛рдПрдВ рдЬреЛ рдзреБрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧреА:

mesh.position.y = 10;

var pivot = new THREE.Object3D();
pivot.add( mesh );

scene.add( pivot );

рдХреНрдпрд╛ рдЙрди рджреЛ рддрд░реАрдХреЛрдВ рдореЗрдВ рдХреЛрдИ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдпрд╛ рд╡рд┐рдкрдХреНрд╖ рд╣реИ?

geometry.applyMatrix (рдирдпрд╛ THREE.Matrix4) (ред setTranslation (0, 10, 0));

рдЕрдм рд╣реИ

geometry.applyMatrix (рдирдпрд╛ THREE.Matrix4) (ред MakeTranslation (0, 10, 0));

https://github.com/mrdoob/three.js/commit/7f05ba167c522d1b9bac01677c2249b0f1b8c834

applyMatrix makeTranslation рдмрд╛рдд, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ред рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВред
рдзреБрд░реА рд╡рд╕реНрддреБ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдФрд░ IMHO рдпрд╣ рдЖрд╕рд╛рди рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ:
рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЛ

mesh.position.x = ###;
mesh.position.y = ###;
mesh.position.z = ###;

рдХреЗ рдмрдЬрд╛рдп:

mesh.position.set(###,###,###);

рдзрдиреНрдпрд╡рд╛рдж @placegraphichere , рдЬрд┐рд╕рдиреЗ рдорджрдж рдХреАред

рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рддреАрди.js v78 рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдХреЗрдВрджреНрд░ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдШреВрдореЗрдВ:

.js mesh.geometry.translate( -myObjectWidth/2, 0, 0 );

рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ geometry.translate() рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рдЪрдХреНрдХрд░реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрдм рддрдХ рдЖрдк рдмрд╛рдж рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдзреБрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдЕрдкрдиреЗ рдЬрд╛рд▓ (3 рдбреА рдмреЙрдХреНрд╕ рдХрдВрдЯреЗрдирд░) рдХреЛ рдореВрд▓ рд╕реЗ рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдЬрдм рдореИрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЬрд╛рд▓ рдХреЗ рдЕрдВрджрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдЫреЛрдЯреЗ рдЬрд╛рд▓ рдмреЙрдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рддреЛ рдЗрд╕реЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмрд╛рдПрдВ рдирд┐рдЪрд▓реЗ рдХреЛрдиреЗ рдХреЗ рдЕрдВрджрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

mesh.geometry.translate (-myObjectWidth / 2, 0, 0);

рдЬрдм рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореЗрд░реА рдЬрд╛рд▓реА рдХреА рд╕реНрдерд┐рддрд┐ рднреА рдмрджрд▓ рд░рд╣реА рд╣реИ

@imguccho рдХреГрдкрдпрд╛, рдорджрдж рдХреЗ рд▓рд┐рдП рдордВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдореИрдВ ArrowHelper рдХреЗ рд▓рд┐рдП рдмрд┐рдВрджреБ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jack-jun picture jack-jun  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jens-duttke picture jens-duttke  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

seep picture seep  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

clawconduce picture clawconduce  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

konijn picture konijn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ