4 ms·
Just a heads up, when folks say “complex 3d objects”, it’s usually assumed that they’re talking about things like GLTF files, which contain geometry, materials,
by Uehreka 3y ago
Just a heads up, when folks say “complex 3d objects”, it’s usually assumed that they’re talking about things like GLTF files, which contain geometry, materials, lighting elements, animations, etc, and which Unity/Unreal can absolutely load/unload at runtime or even stream from a media server online (so they don’t have to be in the binary).
However, once you cross over into scripting code, you are in fact crossing a barrier, and it does become harder to hot-reload the way you can in a JS app. Like, the fact that Unity scripts are written in C# and have to be compiled and linked is a pretty huge impediment that you don’t face when loading almost any other kind of asset.
I’m right there with you: Hot-reloading and 3D is a thrilling combination, and tools like react-three-fiber are miles ahead of anything I’ve seen in Unity-land in terms of laying foundations for stuff like this. I’d recommend emphasizing “hot-reloading code” when drawing this distinction with Unity/Unreal folks to better get across the magnitude of what you’re looking for.
- hoc 3y agoThanks for both hints. I recently had more contact with gaming engines than I originally wanted and there's always this kind of community-specific vocabulary whenever you cross borders. Oh no,like in real life.
- gregfagan 3y agoI wrote up a post on my R3F based WebXR hot reloading setup here: https://github.com/gregfagan/blog/blob/main/xr-remote-display/README.md https://github.com/gregfagan/blog/blob/main/xr-remote-displa... You don’t actually need this if you’re just working on graphics, as usually a flat projection is fine, but it is quite nice to work inside your own XR app while iterating on the interaction.
- hoc 3y agoNice. I also started looking into possible WebRTC sources and servers since at least this could be integrated quite well into WebXR. Unfortunately I find myself cycling thru needed components for interactivity these day and being stuck between competing SW and HW constraints. Will give it a closer read next week.
- JoeyJoJoJr 3y agoIMO, the main impedance towards scripted graphics facilitating hot reloading is that they are generally coded in object hierarchies whose nested state is difficult to serialise. I have found using the 2d canvas context as an immediate mode renderer alongside a single global store allows me to create workflows more similar to what one would expect with React.
- stavros 3y agoIs hot-reloading code useful past the development stage? In what way? (I'm not familiar with 3D development at all).