Blame
|
1 | ## Unity |
||||||
|
2 | Pointcaster integration for [the Unity game engine](https://unity.com/) ships as a package you can include directly from Unity's package manager. |
||||||
|
3 | This package supports Unity 2021.3 onwards and is compatible with both URP and the built-in render pipeline. Native libraries are included for Windows x64 and Android (`armeabi-v7a` and `arm64-v8a`). |
||||||
|
4 | |||||||
| 5 | Open the Package Manager window inside Unity and add a new package from the following git URL: |
|||||||
| 6 | ``` |
|||||||
| 7 | https://github.com/matth-av/pointcaster-unity.git |
|||||||
| 8 | ``` |
|||||||
|
9 | |||||||
| 10 | ### Pointreceiver Mesh Host |
|||||||
| 11 | The quickest way to get a point cloud into a scene is to drag the **Pointreceiver Mesh Host** prefab from the package into your scene. It connects to Pointcaster and creates a child object with a mesh for each point cloud channel it receives. Points are drawn as camera-facing quads. |
|||||||
| 12 | ||||||||
| 13 | - **Point Caster Address / Point Cloud Port**: the Pointcaster instance to connect to. The port defaults to `9992`. |
|||||||
| 14 | - **Subscription**: receive all channels, or only the channel matching **Address**. |
|||||||
| 15 | - **Point Size**: the width of each point, in world units or screen pixels depending on **Size Mode**. |
|||||||
| 16 | - **Point Scale Multiplier**: scales per-point sizes sent by Pointcaster (e.g. from a PLY file's attributes). Only applies in world units. |
|||||||
| 17 | - **Shape**: draw points as squares (cheapest) or disks. |
|||||||
| 18 | - **Tint**: a colour multiplied with each point's colour. |
|||||||
| 19 | ||||||||
| 20 | To change hosts at runtime, call `SetAddress(address, port)`, or call `Reconnect()` after changing the address fields directly. |
|||||||
| 21 | ||||||||
| 22 | ### VFX Graph |
|||||||
| 23 | For use with the Visual Effect Graph, add a **Pointreceiver Host** to the scene, then add a **PointCloudBinder** to your Visual Effect (under _VFX/Property Binders_). Set its **Channel Address** to the channel to draw. The binder exposes the cloud to the graph as `Positions` and `Colors` textures and a `PointCount` integer. |
|||||||
