https://github.com/xjorma/HoudiniMeshSync
Sync mesh between Houdini and the Apple Vision Pro.
https://github.com/xjorma/HoudiniMeshSync
Last synced: 2 months ago
JSON representation
Sync mesh between Houdini and the Apple Vision Pro.
- Host: GitHub
- URL: https://github.com/xjorma/HoudiniMeshSync
- Owner: xjorma
- License: apache-2.0
- Created: 2024-07-19T13:35:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-19T23:41:14.000Z (about 1 year ago)
- Last Synced: 2024-08-20T03:47:32.373Z (about 1 year ago)
- Language: C#
- Size: 43.8 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-visionOS - HoudiniMeshSync
README
# HoudiniMeshSync
**Disclaimer**: This was developed as a proof of concept, but if people find it useful, I might spend time to develop it further into a more polished product.
## Apple Vision Pro
Sync mesh between Houdini and the Apple Vision Pro. Run Houdini or blender on a Mac computer, sending the mesh through the network to your Vision Pro.

https://www.youtube.com/watch?v=kyJoJuaRGVE
## Looking Glass Factory

https://youtu.be/kyJoJuaRGVE
Compile and run `ReceiverUnityLookingGlass` and you are ready to share with Houdini or Blender
## Meta Quest

https://youtube.com/shorts/3UlCPRU08R4
Compile and run `ReceiverUnityMetaQuest` (Works on PC and also on standalone).
If you are using it on standalone, don't forget to set your Quest's IP address in Houdini or Blender.
For screen casting, install [NDI](https://ndi.video/tools/), launch **Screen Capture** (enable the mouse cursor capture in "Capture Settings" from the tray icon), and use the **Router** to create an output called **"ScreenCast"**.
## Houdini HDA Setup

- **IP Address**: The IP address of your Apple Vision Pro.
- **Port**: Port used for network communication. If you change it, you will also have to change it in the client code.
- **ChunkSize**: Mesh is sliced by chunks before sending. **8192** is a good value.
- **Invert Triangle**: Invert triangle orientation. Mainly used for debugging purposes.
- **Verbose**: Logs information if the transfer is successful.
## Blender Setup
- Open the `SendMesh.py` script in the __Text Editor__.
- If you are using another device to see the result change the **ip_adress** in the code.
- Start the script.
## TODO (Might take time since I don't own a Vision Pro yet)
- Optimize file transfer (At least better share the vertex). **(Done)**
- Use 16bits indices in less than 216 vertices.
- Use hand gestures to rotate and zoom.
- Have nice round buttons instead of text (Better for eye tracking).
- Support for optional vertex color (Cd).