threepipe
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

mesh.ts 702B

1234567891011121314151617181920212223242526
  1. import {Mesh} from 'threepipe'
  2. import {createBufferGeometry} from './geometry'
  3. import {createMaterial} from './material'
  4. export function createMesh(object: any) {
  5. if (!object.data) return null
  6. const geometry = createBufferGeometry(object.data, [0, 0, 0])
  7. const mat = object.data.mat[0]
  8. const material = mat ? createMaterial(mat) : undefined
  9. const mesh = new Mesh(geometry, material)
  10. mesh.castShadow = true
  11. mesh.receiveShadow = true
  12. mesh.rotateZ(object.rot[2])
  13. mesh.rotateY(object.rot[1])
  14. mesh.rotateX(object.rot[0])
  15. mesh.scale.fromArray(object.size, 0)
  16. mesh.position.fromArray([object.loc[0], object.loc[2], -object.loc[1]], 0)
  17. return mesh
  18. }