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.
Problems with scene size
456 3 1-
- SeriousAnimation
- Member
- 1 posts
- Joined: 9月 2019
- オフライン
-
- FedorK_FX
- Member
- 19 posts
- Joined: 1月 2016
- オフライン
-
- VortexVFX
- Member
- 58 posts
- Joined: 8月 2014
- オフライン
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)
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)
Edited by VortexVFX - 2025年8月27日 18:27:23
Dan Wood
Vortex VFX Ltd
Vortex VFX Ltd
-
- malexander
- スタッフ
- 5266 posts
- Joined: 7月 2005
- オフライン
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.
-
- Quick Links



