12345678910111213141516171819202122232425262728293031323334 |
- import * as THREE from 'three'
- export function getForwardVector(object3d) {
- const up = object3d.up.clone()
- const forwardVector = new THREE.Vector3(0,0,0)
- forwardVector.setFromMatrixColumn(object3d.matrix, 0)
- forwardVector.crossVectors(up.multiplyScalar(-1), forwardVector)
- return forwardVector.normalize()
- }
- export function getRightVector(object3d) {
- const up = object3d.up.clone()
- const rightVector = new THREE.Vector3(0,0,0)
- rightVector.setFromMatrixColumn(object3d.matrix, 0)
- rightVector.crossVectors(up.multiplyScalar(-1), rightVector)
- rightVector.crossVectors(object3d.up, rightVector)
- return rightVector.normalize()
- }
- export function drawDebugLine(game, startPoint, endPoint, color = 0xff0000, delay = 0) {
- const points = []
- points.push(startPoint)
- points.push(endPoint)
- const geometry = new THREE.BufferGeometry().setFromPoints( points );
- const material = new THREE.LineBasicMaterial( { color } );
- const line = new THREE.Line( geometry, material )
- game.scene.add(line)
- if(delay > 0) {
- setTimeout(() => {
- game.scene.remove(line)
- }, delay)
- }
- }
|