vasturiano / 3d-force-graph-vr

3D force-directed graph component in VR
https://vasturiano.github.io/3d-force-graph-vr/example/large-graph/
MIT License
226 stars 52 forks source link

Which combination to get started #51

Open vid opened 1 year ago

vid commented 1 year ago

Hello, I would like to make a VR browser simulator to help people understand how the web works. I would really like to use this library since the web is at its core a graph and I think the ability to have different depths for progression through pages will be useful. However, I have been unable to find a combination that supports the targetted feature combination, or at least when I tried, I ran across underlying errors that seemed to indicate incompatibilities between libraries & features. I spent a few hours at it but could never get it to work, the multiple versions of this library led to more uncertainty.

Here is what I would like to combine: a-frame, gaze, 3d-force-graph, laser and keyboard controls, project images/video onto the nodes, labelled edges. Basically, the user would start facing a node that represents a page, with edges going to its assets and "forward" in depths to its links. The user can use gaze, laser, or keyboard to inspect or follow assets & links. Ideally the nodes could be (live) video, but updating images would be ok too.

I am a pretty good typescript developer, but not familiar with 3d libraries, a-frame seems like a good choice at my level. I am developing in VR with a Quest Pro.

Is the combination possible with this library? Can you point me to an example that combines these features?

If it requires some work, I would be happy to fund some open source development.

Thank you!

vasturiano commented 1 year ago

@vid thanks for reaching out.

It sounds like all of the features you described should be supported by this module. Is there some specific obstacle you couldn't get to work? If so, it may help to do a simplified example on https://codesandbox.io/ so we can have a closer look.

As for video nodes, you can just look into VideoTexture and define a custom nodeThreeObject that uses it.

vid commented 1 year ago

Thank you for your response. I have some free time next week so will try to put together a close-as-possible sample then.