0 votes

I'm using quad mesh instances with a billboard material overrides to place icons in my 3D world. This works as desired: the icons maintain their size and facing regardless of camera distance and stay with their respective parent spatials.

However, if I change FOV, then the icons grow/shrink. My game needs to be able to change FOV during run-time without the icons changing size.

Does anyone know how to make billboard texture NOT change with FOV?

What I've tried:

Changing the scale of the MeshInstance to compensate. This has no effect on the billboard texture size.

Playing with the SpatialMaterial paramsgrow and paramsgrowamount. This does affect the icon sizes, so maybe I could use it to compensate for FOV changes. However, it messes up the location of the icons. Specifically, a child MeshInstance with 0,0,0 origin now displays itself offset in location from its parent spatial (possibly in proportion to paramsgrow_amount). Well... I could add scripts to each icon trying to compensate for this spatial displacement, but this is becoming way to kludgy....

I greatly appreciate any help!

asked Aug 8, 2018 in Engine by Charlie (47 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.