22 lines
761 B
JavaScript
22 lines
761 B
JavaScript
xrf.frag.pos = function(v, opts){
|
|
let { frag, mesh, model, camera, scene, renderer, THREE} = opts
|
|
|
|
if( frag.q ){ // only operate on queried object(s)
|
|
|
|
// apply roundrobin (if any)
|
|
if( v.args ) v = v.args[ xrf.roundrobin(v,model) ]
|
|
|
|
frag.q.getObjects().map( (o) => {
|
|
console.dir(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
|
|
}
|
|
|
|
}
|