Scaling Gaussian Splats

   567   7   2
User Avatar
Member
14 posts
Joined: 9月 2024
オンライン
Hi,

mucking around with g splats in h22 and noticed something. I've been copying the workflow from the wasp.hip to animate a g splat - one downloaded rather than created in Houdini. I needed to scale the splat to fit the skeleton. But when I scale the gplat or the points before the bakegplat node it doesn't render properly in Karma - it sort of fades out.

This is also the case with the wasp rig itself - when rendered in karma xpu.

I have a feeling this is something to do with how gplats work - but I don't know.

I can rotate translate etc without it affecting the render but scaling messes it up.

Am I missing something or do I have to always work at the scale the gplat comes in.

Attached are images of the wasp rendered in karma xpu with scaling on and off in the transform node.

Thanks.

Attachments:
gsplatscale.png (882.8 KB)

User Avatar
Member
1941 posts
Joined: 3月 2009
オフライン
The "golden rule" is: always bake before the transform, or in fact: before any other manipulation.

Otherwise the attributes get messed up.
Martin Winkler
User Avatar
Member
14 posts
Joined: 9月 2024
オンライン
protozoan
The "golden rule" is: always bake before the transform, or in fact: before any other manipulation.

Otherwise the attributes get messed up.

Hi,

thanks for reply. The transform in the render above is done after the bake - it's the transform from the wasp.hip itself.


Attachments:
Screenshot 2026-07-27 at 13.29.11.png (103.7 KB)

User Avatar
Member
9718 posts
Joined: 7月 2007
オフライン
I assume you will need to scale v@scale attribute by the same factor

it'd probably be more robust if the transform of the GSplat was defined by v@P + 3@transform to have scales applied, instead of the current v@P + v@scale + p@orient, which is probably a good RFE
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
14 posts
Joined: 9月 2024
オンライン
tamte
I assume you will need to scale v@scale attribute by the same factor

it'd probably be more robust if the transform of the GSplat was defined by v@P + 3@transform to have scales applied, instead of the current v@P + v@scale + p@orient, which is probably a good RFE

Hi,

thanks, that has solved it. I just added a attribute wrangle after the main transform, with the v scaled linked to the transforms scale.

Perfect.

Thanks again.
Edited by SteveWatsonHoudini - 2026年7月27日 11:02:53

Attachments:
Screenshot 2026-07-27 at 16.00.07.png (1.1 MB)

User Avatar
Member
292 posts
Joined: 8月 2017
オフライン
tamte
I assume you will need to scale v@scale attribute by the same factor

it'd probably be more robust if the transform of the GSplat was defined by v@P + 3@transform to have scales applied, instead of the current v@P + v@scale + p@orient, which is probably a good RFE

Yes. Doing it right now.
User Avatar
Member
300 posts
Joined: 7月 2013
オフライン
iirc in the transform node there is an entry which attributes it also applies the transformation on, you can also flag attributes as transformable. Maybe those options can fix this without extra steps.
More code, less clicks.
User Avatar
Member
9718 posts
Joined: 7月 2007
オフライン
Jonathan de Blok
iirc in the transform node there is an entry which attributes it also applies the transformation on, you can also flag attributes as transformable. Maybe those options can fix this without extra steps.
Those work only for attributes with transformable qualifiers (type info), hence as mentioned it would nicely work for 3@transform attribute with qualifier set to Matrix

But there is no qualifier that can be set for attribute like v@scale that would only apply scaling portion of the transform but not rotation, which would do if set to Vector, therefore v@scale doesnt have any qualifier set and its not gonna transform even if the attribute pattern on Transform SOP matches it
Tomas Slancik
CG Supervisor
Framestore, NY
  • Quick Links