
GuriVR – Describe your VR experience and the editor will do the rest - bpierre
https://gurivr.com/
======
danzajdband
Hi, GuriVR author here. Let me know if you have any questions :)

~~~
edko
Just nitpicking: you use the Spanish flag to switch languages, but the
grammatical person and verb conjugation you use are generally not currently
used in Spain.

~~~
danzajdband
I'm argentinian and it's a challenge LOL Next design says the word "spanish"

~~~
edko
Just wondering: if I ran two instances of your application, would I have
"guríes" or "gurises"? :-)

~~~
danzajdband
I'd say gurises, since Guri comes from `kid` in uruguay

~~~
jazzido
Lo' chiquiline'

------
strgrd
VR version of WordsEye? [http://www.wordseye.com/](http://www.wordseye.com/)

~~~
danzajdband
Kind of, I saw wordseye the first time after starting building guri (and I
love it). I guess my nlp is much worse but in the other hand Guri has some
capabilities built-in to the editor for searching resources. Also the AR-mode
in Guri expands what you can do with it

------
eridius
Clever idea. But scrolling the little VR scene on the right with my mouse is
backwards. When I click and drag to the right, the camera pans to the right.
But since I'm clicking on the content and dragging, it feels like the content
should pan to the right, meaning the camera should pan to the left.

~~~
moron4hire
This is impossible to get right. If they had done it the other way around,
other people would be complaining.

Source: I've done it both ways for several apps and people always complain,
either way.

~~~
eridius
If people complain about the other way, it's just because they're used to
things doing it wrong. When you're dragging something, the thing you're
dragging stays under your mouse. Here you're clicking and dragging on the
scene, so the scene should stay under your mouse, but it doesn't. It flies in
the opposite direction.

~~~
wlesieutre
It depends on whether you consider it to be sitting in a stationary position
and dragging the environment around or sitting in a fixed environment and
dragging yourself around. Largely personal preference, but if you're expecting
one and get the other it's pretty disorienting.

Having to click and drag in the opposite direction is pretty weird though.
First person shooter style "move mouse left to look left / move environment
right" is just mouse movements. You're not grabbing something to drag it, so
there's no clicks.

Tough to translate that into a windowed thing where you can't do fullscreen
mouse ownership like shooters do.

~~~
hobofan
If I get the grabbing cursor when I press the mouse, I expect the dragging
logic. That actually would be good way to make it unambiguous but here it's
used wrong.

~~~
Stratoscope
That's a really good point. Regardless of which style of dragging someone
prefers, the grabbing cursor is a clear indication to expect "natural" style
dragging.

After all, when you press the button, the fingers close as if they are
grabbing something in the scene. In real life, when you grab something and
move it, it goes in the direction you move, not the opposite direction.

Someone correct me if I'm wrong, but I believe in large part it's gamers who
tend to expect the reverse dragging. I think at this point far more people
expect natural dragging as used in most online maps and street views, etc.

360cities used to have the reverse dragging, but I see they have changed it to
natural dragging now. Try the panorama on their home page for example:

[http://www.360cities.net/](http://www.360cities.net/)

But the other thing I was told about gamers is that they don't expect to drag
with the left button, but with the _right button_.

This suggests a possible solution: a left-button drag can use natural
dragging, and a right-button drag can use reverse dragging.

The finishing touch would be to have the cursor change to something other than
the closed hand when the right button is down. I'm not sure what a suitable
cursor would be, but there must be something - anything other than the closed
hand. Maybe a four-way arrow?

~~~
eridius
If you want camera-drag with right-click, ideally you'd just hide the mouse
(and capture it so it can't leave the bounds of the view). That's normally
what games do when they have right-click dragging in the fashion you describe.

That said, I have no idea if JavaScript can capture the mouse like that.

~~~
Stratoscope
It can! For a capture that lasts until the mouse button is released:

[https://developer.mozilla.org/en-
US/docs/Web/API/Element/set...](https://developer.mozilla.org/en-
US/docs/Web/API/Element/setCapture)

Or for a capture that works even if the mouse button is not pressed, and
remains until the Esc key is pressed:

[https://developer.mozilla.org/en-
US/docs/Web/API/Pointer_Loc...](https://developer.mozilla.org/en-
US/docs/Web/API/Pointer_Lock_API)

The first option would be the one to use for right button dragging.

~~~
moron4hire
The first one is Firefox only, the second one is everything-except-Safari.

------
xkcd-sucks
You can use this link to log in without signing up an email address

[https://gurivr.com/stories/?token=PUraxsVQKdPcmD3wKd9uNC&uid...](https://gurivr.com/stories/?token=PUraxsVQKdPcmD3wKd9uNC&uid=5835e5d75a3fda970fbb6785)

------
bhouston
Neat. Built on a-frame, which is built on ThreeJS which uses WebGL/WebVR.

~~~
jeremiep
We tried threejs (and babylonjs as well) for a WebVR project targeting mobile
devices a few months ago. Suffice to say both are extremely unoptimized and
crippled from the ground up with architectures easily wasting at least half
the CPU every single frame.

They can both be made orders of magnitude faster simply by focusing on cache
misses, branch predictions and data packing. But I don't see it happening
without full rewrites in both cases.

We ended up writing a simple proprietary WebGL/WebVR renderer from the ground
up - our scenes dropped from 18-20ms of CPU time to a very stable 0ms (and we
made them much bigger as well.) Even the GPU time saw a big performance boost
because we were using normalized integers instead of floats to reduce the
vertex stream's bandwidth.

They're both good libraries to learn 3D and toy around with, but they're
clearly aimed at beginner programmers with no or next to no experience in 3D
graphics programming. Such a requirement goes directly against raw performance
which requires loads of non-beginner friendly techniques.

~~~
bhouston
Please contact me at ben@exocortex.com so we can chat please. I am a large
contributor to three.js and use it extensively. I would appreciate
understanding what you feel are needs for a rewrite. You seek like you know
what you are taking about.

~~~
doublerebel
Just checked out exocortex.com, have you taken any look at the Hololens? For
instance, Vuforia is working on selling catalog items using 3d models built in
Unity [0], but perhaps you could use HolographicJS as another target once it
matures [1].

I'm working in AR in a different space but as a longtime JS developer I would
love to see this all come together.

[0]:
[https://www.youtube.com/watch?v=U6CpD4hVmqc&feature=youtu.be...](https://www.youtube.com/watch?v=U6CpD4hVmqc&feature=youtu.be&t=222)

[1]:
[https://github.com/lwansbrough/HolographicJS](https://github.com/lwansbrough/HolographicJS)

------
partycoder
I did not know of WebVR. Reminds me a bit of VRML. I really hope to see this
having a higher adoption. e.g: a product like Google Street View moving to it.

------
rvanniekerk
Super creative use of A-frame, nice job. I spent the last month or so building
a VR project and I found A-frame itself is still very early on and has a
number of quirks, any particular issues you ran into?

~~~
danzajdband
\- Autoplaying video/audio is a PITA. If you use video or audio in Guri you'll
see a play button. It seems iOS will eventually remove the restriction...

\- CORS is a hard restriction for this tool. That's why I built the uploader
into the editor. If you plan to do your own experience and can avoid it having
your assets in the same domain on a CORS-enabled cdn please do

This being said, the A-frame community is the most welcoming I've ever seen

------
veli_joza
If it doesn't work, try disabling Privacy Badger or similar addon. Solved it
for me.

------
amelius
No Pokemon option?

~~~
ngokevin
You could, just import models.
[https://ngokevin.github.io/kframe/scenes/pokemon/](https://ngokevin.github.io/kframe/scenes/pokemon/)

------
zajdband
excellent!

