I have a small texture that I want to distribute randomly on a sphere, without UV distortion,
and I have no idea how to do this.
However, it should be possible as far as I know - I just don’t know how.
I already tried using some noise multiplied/added to the world position / texuture coordinate and some other weird stuff.
I guess that the way to go is to get a random point on the sphere (using noise - somehow) and then calculate the right UV coordinates.
It would be really nice if somewould had an example for that!
Unreal 4.7 has this new feature:
Material Function SkyboxImage: Projects an image onto an infinite sphere, useful for putting images in the skybox
and this one:
Material Function TriPlanarCameraVector: Applies a texture to the background, similar to a cubemap but uses the same 2d texture for all sides
Ah, alright, thank you!
I guess SkyboxImage is the function I am looking for.
Do you have any idea how to modify that function so that I can project the texture multiple times?
I cannot think of a good way to do this in the material with a single dot texture. I could see using a multitude of dots in a single texture and using information to rotate the UVs “randomly”.
That being said you could write your dots randomly to a programmatic render texture then use that texture in your material.
If you want it on all sides, also bottom, the TriPlanarCameraVector sounds like the one you need, it also has a Tiling option, the other one has a sclae option.
I think what he wants is to generate a sky field procedurally with his texture being a single dot. With these approaches he would just end up with something like 6 large dots all around the sphere.
Yes, you are right RimmyD - that’s what I want to do.
It would be really cool if someone had a solution for this!
I am having the same problem. Maybe the best way is to do some C++ code to generate a jpg image that is actually the texture you will use in the sphere of the skybox.