SeriousAnimation
Aug. 27, 2025 03:21:01
Hello,
I work with a large scene from another program. And because we are talking about a space scene, the ratio of the sizes of objects sometimes differs by 5000 times. And if I try to reduce the size of the scene, some objects become too small. If I work with the original size of the scene, I get big problems in the viewport and on the render, the picture is distorted, particles disappear and much more. If I simply move the box by any of the coordinates by the number 1e7, part of the box disappears, the viewport starts shaking. I have attached screenshots. Perhaps these are limitations in the program itself, that you cannot move objects at such a distance.
FedorK_FX
Aug. 27, 2025 15:44:53
I don't have a quick solution, but you can try Uniform Scaling it by 0.0001 or until the scene becomes reasonable size. Working in real scale that far away from the origin is never a good idea.
VortexVFX
Aug. 27, 2025 18:20:15
For anything remotely realistic-space-scale, you'll have to use 64-bit precision position data to avoid precision issues.
You can convert an object's P attribute to 64-bit using the Attribute Cast SOP.
It's possible that won't help with camera-jitter issues though, as I presume Houdini's camera handling is hardwired to 32-bit. Not sure about that.
(And those issues might follow you into rendering, etc... depending on if the renderer supports 64-bit precision or not)
malexander
Aug. 27, 2025 18:43:25
If you transform the parent object rather than the individual points, you'll get a better result. The object transform and the view transform are combined on the CPU in 64b, often cancelling out the large values, and sent to the GPU as a 32b transform. But if you transform P, the attribute is sent as 32b, and that's causing precision loss. GPUs do not like working in 64b -- they run almost 30x slower in some cases, so we do not support 64b math in our GLSL shaders.