How to get the absolute position of a vertex in three.js?

后端 未结 2 598
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-27 15:37

As far as I know var point = object.geometry.vertices[i]; will return with the relative position for the x, y and z of th

相关标签:
2条回答
  • 2020-11-27 15:59

    Recent versions of Three.js (v50+) provide this functionality built into the THREE.Object3D class. In particular, to get the world coordinates of a local THREE.Vector3 instance named vector, use the localToWorld method:

    object.localToWorld( vector );
    

    Similarly, there is a worldToLocal method for converting world coordinates into local coordinates, which is slightly more complicated, mathematically speaking. To translate a world vector into the objects local coordinate space:

    object.worldToLocal( vector );
    
    0 讨论(0)
  • 2020-11-27 16:16

    First make sure the object's matrices have been updated.

    object.updateMatrixWorld();
    

    The render loop usually calls this for you.

    Then, do this:

    var vector = object.geometry.vertices[i].clone();
    
    vector.applyMatrix4( object.matrixWorld );
    

    The vector will now contain the position in world coordinates.

    You might want to read some CG reference books.

    1. 3D math primer for graphics and game development / by Fletcher Dunn and Ian Parberry

    2. Essential Mathematics for Games and Interactive Applications: A Programmer’s Guide James M. Van Verth and Lars M. Bishop

    three.js r69

    0 讨论(0)
提交回复
热议问题