I want to replace the default cursor model (sphere) that comes with the Haptic Rig with a custom model. The custom model is a periodontal instrument which is much smaller than the default sphere and has a mesh collider. I also have a have the a sphere with the default SphereForceFeedback script on it to provide force feedback when I interact with it using the cursor models.
When testing with the custom model it does unexpected behaviour. The force feedback is not only contained to the sphere but it seems have a bigger radius than the sphere, making the Inverse3 device very difficult to move around the scene.
I would like to know if there is a best practice way to replace the default cursor model with a custom model, and also what is the cause of the issue.
Welcome to the Haply community, and thanks for your interest!
The demo scripts (SphereForceFeedback and others) are designed for a Unity sphere as the cursor model.
The CursorRadius property used here is read-only and automatically computed — it’s only calculated from the model when it’s a Unity primitive. For any other model (like a custom mesh or imported object), it simply uses the object’s scale divided by two, which usually makes the haptic contact area much larger than the visual model.
We recommend attaching your custom model as a child of the default cursor sphere at its tip.
This keeps the haptic behavior correct while letting you display your custom tool visually.
For more advanced or non-spherical contact behavior, you’d need to implement your own feedback algorithm.