xrfragment-haxe/src/3rd/js/three/xrf/pos.js

22 lines
740 B
JavaScript
Raw Normal View History

xrf.frag.pos = function(v, opts){
2023-05-09 17:42:29 +02:00
let { frag, mesh, model, camera, scene, renderer, THREE} = opts
if( frag.q ){ // only operate on queried object(s)
2023-05-22 17:18:15 +02:00
// apply roundrobin (if any)
if( v.args ) v = v.args[ xrf.roundrobin(v,model) ]
frag.q.getObjects().map( (o) => {
// if object has no parent (name == 'Scene') use absolute positioning, otherwise relative to parent
o.position.x = o.parent.name == 'Scene' ? v.x : o.positionOriginal.x + v.x
o.position.y = o.parent.name == 'Scene' ? v.z : o.positionOriginal.y + v.z
o.position.z = o.parent.name == 'Scene' ? v.y : o.positionOriginal.z + v.y
})
}else{
camera.position.x = v.x
camera.position.y = v.y
camera.position.z = v.z
2023-05-22 17:18:15 +02:00
}
2023-05-04 21:28:12 +02:00
}