У меня огромные проблемы с тем, чтобы заставить мышь работать после того, как игрок был в VR.
Обновление атрибутов курсора ничего не сделало, поэтому я попытался удалить и заменить их
getRayCasterAttributes: function(){
return this.data.isVR ?
{
cursorAttributes:{
fuse: true,
fuseTimeout: cursorFuseTimeout,
},
raycasterAttributes: {
objects: '[data-raycastable]',
},
} :
{cursorAttributes:{
fuse: true,
fuseTimeout: cursorFuseTimeout,
rayOrigin: 'mouse',
},
raycasterAttributes: {
objects: '[data-raycastable]',
},
}
}
if(oldData.isVR !== this.data.isVR){
this._recticle.object3D.visible = this.data.isVR
this._recticle.removeAttribute('raycaster')
this._recticle.removeAttribute('cursor')
setTimeout(() => {
console.log(this.getRayCasterAttributes().raycasterAttributes, this.getRayCasterAttributes().cursorAttributes)
this._recticle.setAttribute('raycaster', this.getRayCasterAttributes().raycasterAttributes)
this._recticle.setAttribute('cursor', this.getRayCasterAttributes().cursorAttributes)
},100)
Этот вид работы переключается с 2D на VR с тайм-аутом, но переключение назад - еще одна серьезная проблема.
Каков наилучший способ сделать это в рамке?
Я пробовал это, не помогает. Работает с мышью, не переключается на управление курсором при вводе VR.
this._recticle.setAttribute('cursor', {fuse: false, rayOrigin: 'mouse'})
else
this._recticle.setAttribute('cursor', {fuse: true,rayOrigin: 'entity', fuseTimeout: 2000})