enable orbit controls in VR
up vote
0
down vote
favorite
I'm using the orbit-controls that are part of Kevin Ngo's k-frame package:
https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/
the controls allow you to rotate your camera around the scene, creating the impression of rotating the scene around your view point.
unfortunately, the component automatically switches to first person look controls in the center of the scene when entering VR mode.
for my project, I want to keep the orbit perspective and orbit controls, even in VR. I thought, this simply could be achieved by disabling the part of the code after the check if VR is entered.
el.sceneEl.addEventListener('enter-vr', () => {
if (!AFRAME.utils.device.checkHeadsetConnected() &&
!AFRAME.utils.device.isMobile()) { return; }
this.controls.enabled = false;
if (el.hasAttribute('look-controls')) {
el.setAttribute('look-controls', 'enabled', true);
oldPosition.copy(el.getObject3D('camera').position);
el.getObject3D('camera').position.set(0, 0, 0);
}
});
the orbit-controls component operates directly on the three.js camera instead of on the aframe level - however, the vr camera is managed is managed by aframe. so far everything that I tried ended up with the vr camera in the center of the scene..
I managed to see the camera moving around the scene in VR mode - however, I'm stuck in my VR position
aframe orbit-controls
add a comment |
up vote
0
down vote
favorite
I'm using the orbit-controls that are part of Kevin Ngo's k-frame package:
https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/
the controls allow you to rotate your camera around the scene, creating the impression of rotating the scene around your view point.
unfortunately, the component automatically switches to first person look controls in the center of the scene when entering VR mode.
for my project, I want to keep the orbit perspective and orbit controls, even in VR. I thought, this simply could be achieved by disabling the part of the code after the check if VR is entered.
el.sceneEl.addEventListener('enter-vr', () => {
if (!AFRAME.utils.device.checkHeadsetConnected() &&
!AFRAME.utils.device.isMobile()) { return; }
this.controls.enabled = false;
if (el.hasAttribute('look-controls')) {
el.setAttribute('look-controls', 'enabled', true);
oldPosition.copy(el.getObject3D('camera').position);
el.getObject3D('camera').position.set(0, 0, 0);
}
});
the orbit-controls component operates directly on the three.js camera instead of on the aframe level - however, the vr camera is managed is managed by aframe. so far everything that I tried ended up with the vr camera in the center of the scene..
I managed to see the camera moving around the scene in VR mode - however, I'm stuck in my VR position
aframe orbit-controls
1
Probably better results by rotating the model / scene in VR. You can create and move a parent entity that contains your scene. Moving the camera in VR is discouraged. it will create disconfort and likely induce motion sickness.
– Diego Marcos
Nov 23 at 0:10
1
By rotating / moving your scene via a a parent component you will also avoid collision with look-controls
– Diego Marcos
Nov 23 at 1:55
@DiegoMarcos thanks, that was actually much easier to implement - I should have though of that sooner - would have saved me a ton of headaches :D
– jaronimoe
Nov 23 at 14:45
Turning my comment into answer for better reference.
– Diego Marcos
Nov 26 at 16:16
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm using the orbit-controls that are part of Kevin Ngo's k-frame package:
https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/
the controls allow you to rotate your camera around the scene, creating the impression of rotating the scene around your view point.
unfortunately, the component automatically switches to first person look controls in the center of the scene when entering VR mode.
for my project, I want to keep the orbit perspective and orbit controls, even in VR. I thought, this simply could be achieved by disabling the part of the code after the check if VR is entered.
el.sceneEl.addEventListener('enter-vr', () => {
if (!AFRAME.utils.device.checkHeadsetConnected() &&
!AFRAME.utils.device.isMobile()) { return; }
this.controls.enabled = false;
if (el.hasAttribute('look-controls')) {
el.setAttribute('look-controls', 'enabled', true);
oldPosition.copy(el.getObject3D('camera').position);
el.getObject3D('camera').position.set(0, 0, 0);
}
});
the orbit-controls component operates directly on the three.js camera instead of on the aframe level - however, the vr camera is managed is managed by aframe. so far everything that I tried ended up with the vr camera in the center of the scene..
I managed to see the camera moving around the scene in VR mode - however, I'm stuck in my VR position
aframe orbit-controls
I'm using the orbit-controls that are part of Kevin Ngo's k-frame package:
https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/
the controls allow you to rotate your camera around the scene, creating the impression of rotating the scene around your view point.
unfortunately, the component automatically switches to first person look controls in the center of the scene when entering VR mode.
for my project, I want to keep the orbit perspective and orbit controls, even in VR. I thought, this simply could be achieved by disabling the part of the code after the check if VR is entered.
el.sceneEl.addEventListener('enter-vr', () => {
if (!AFRAME.utils.device.checkHeadsetConnected() &&
!AFRAME.utils.device.isMobile()) { return; }
this.controls.enabled = false;
if (el.hasAttribute('look-controls')) {
el.setAttribute('look-controls', 'enabled', true);
oldPosition.copy(el.getObject3D('camera').position);
el.getObject3D('camera').position.set(0, 0, 0);
}
});
the orbit-controls component operates directly on the three.js camera instead of on the aframe level - however, the vr camera is managed is managed by aframe. so far everything that I tried ended up with the vr camera in the center of the scene..
I managed to see the camera moving around the scene in VR mode - however, I'm stuck in my VR position
aframe orbit-controls
aframe orbit-controls
asked Nov 22 at 17:04
jaronimoe
155126
155126
1
Probably better results by rotating the model / scene in VR. You can create and move a parent entity that contains your scene. Moving the camera in VR is discouraged. it will create disconfort and likely induce motion sickness.
– Diego Marcos
Nov 23 at 0:10
1
By rotating / moving your scene via a a parent component you will also avoid collision with look-controls
– Diego Marcos
Nov 23 at 1:55
@DiegoMarcos thanks, that was actually much easier to implement - I should have though of that sooner - would have saved me a ton of headaches :D
– jaronimoe
Nov 23 at 14:45
Turning my comment into answer for better reference.
– Diego Marcos
Nov 26 at 16:16
add a comment |
1
Probably better results by rotating the model / scene in VR. You can create and move a parent entity that contains your scene. Moving the camera in VR is discouraged. it will create disconfort and likely induce motion sickness.
– Diego Marcos
Nov 23 at 0:10
1
By rotating / moving your scene via a a parent component you will also avoid collision with look-controls
– Diego Marcos
Nov 23 at 1:55
@DiegoMarcos thanks, that was actually much easier to implement - I should have though of that sooner - would have saved me a ton of headaches :D
– jaronimoe
Nov 23 at 14:45
Turning my comment into answer for better reference.
– Diego Marcos
Nov 26 at 16:16
1
1
Probably better results by rotating the model / scene in VR. You can create and move a parent entity that contains your scene. Moving the camera in VR is discouraged. it will create disconfort and likely induce motion sickness.
– Diego Marcos
Nov 23 at 0:10
Probably better results by rotating the model / scene in VR. You can create and move a parent entity that contains your scene. Moving the camera in VR is discouraged. it will create disconfort and likely induce motion sickness.
– Diego Marcos
Nov 23 at 0:10
1
1
By rotating / moving your scene via a a parent component you will also avoid collision with look-controls
– Diego Marcos
Nov 23 at 1:55
By rotating / moving your scene via a a parent component you will also avoid collision with look-controls
– Diego Marcos
Nov 23 at 1:55
@DiegoMarcos thanks, that was actually much easier to implement - I should have though of that sooner - would have saved me a ton of headaches :D
– jaronimoe
Nov 23 at 14:45
@DiegoMarcos thanks, that was actually much easier to implement - I should have though of that sooner - would have saved me a ton of headaches :D
– jaronimoe
Nov 23 at 14:45
Turning my comment into answer for better reference.
– Diego Marcos
Nov 26 at 16:16
Turning my comment into answer for better reference.
– Diego Marcos
Nov 26 at 16:16
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
I recommend creating and rotating a parent a-entity
of the model / scene instead. Moving the camera will collide with look-controls
as you've seen, will be uncomfortable for the users and likely induce motion sickness.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53435562%2fenable-orbit-controls-in-vr%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
I recommend creating and rotating a parent a-entity
of the model / scene instead. Moving the camera will collide with look-controls
as you've seen, will be uncomfortable for the users and likely induce motion sickness.
add a comment |
up vote
1
down vote
accepted
I recommend creating and rotating a parent a-entity
of the model / scene instead. Moving the camera will collide with look-controls
as you've seen, will be uncomfortable for the users and likely induce motion sickness.
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
I recommend creating and rotating a parent a-entity
of the model / scene instead. Moving the camera will collide with look-controls
as you've seen, will be uncomfortable for the users and likely induce motion sickness.
I recommend creating and rotating a parent a-entity
of the model / scene instead. Moving the camera will collide with look-controls
as you've seen, will be uncomfortable for the users and likely induce motion sickness.
answered Nov 26 at 16:15
Diego Marcos
1,67511013
1,67511013
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53435562%2fenable-orbit-controls-in-vr%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Probably better results by rotating the model / scene in VR. You can create and move a parent entity that contains your scene. Moving the camera in VR is discouraged. it will create disconfort and likely induce motion sickness.
– Diego Marcos
Nov 23 at 0:10
1
By rotating / moving your scene via a a parent component you will also avoid collision with look-controls
– Diego Marcos
Nov 23 at 1:55
@DiegoMarcos thanks, that was actually much easier to implement - I should have though of that sooner - would have saved me a ton of headaches :D
– jaronimoe
Nov 23 at 14:45
Turning my comment into answer for better reference.
– Diego Marcos
Nov 26 at 16:16