I’m using this method to make the texture face the camera on only 2 axes:
but how can I force it to face the camera in all three axes?
I’m using this method to make the texture face the camera on only 2 axes:
but how can I force it to face the camera in all three axes?
There is actually a material function called “Sprite” that can do exactly what you are looking to do. Just plug in your UVs and hook it up to WorldPositionOffset and size and it should point at the camera on all three axes. That function is actually much cheaper than the other one since it isn’t doing any rotation just pushing the verts along the view vectors. It will also transform your normals for you if you need that.
If you want a slightly different kind of sprite that cambers inwards a bit on the edge of the screen (using true camera to worldposition vector rather than fixed camera left direction as the axis), look at the example in the content examples level Math_Hall.umap. There are two different versions towards the end.
Thanks! It seems to do the job, but now I have an other problem.
The texture used to show only one of the grasses painted on it, and now it shows them all exactly as it is in the texture:
Ah, if your material is not a simple sprite already, you just need to make a different UV set that has planar 0-1 UVs for the whole mesh and then use that UV channel as the channel for the sprite function. But this function always will make your model completely flat in that camera facing space. This does not rotate your mesh to be 3d, rather it collapses your mesh to a single point and then re-projects a plane using the UVs as the only coordinate basis. So the shape of your mesh is essentially gone afterwards. Maybe you do need the rotation but that will be trickier.