When you have an indexed buffer geometry, coordinates of vertices must be taken by indices of vertices in faces. So you have to work with .index
property.
Take a look at this topic: Volume of THREE.BufferGeometry()
It works with both indexed and non-indexed buffer geometries. See, how it gets coordinates for p1
, p2
, p3
vectors in dependence on type of geometry.