Hello, I’ve been trying to create this seemingly simple effect for a while now, but I come up short on all the ways I know to solve this. Here is a graphic on what I am trying to achieve:
http://www.distortions.com/work/rotation_problem.jpg
(Sorry, can’t get the attachment feature to work)
This logo is floating in 3D on a plane or could be made onto an flat oval geometry. The camera is fixed and never moves.
Here are the avenues I’ve tried:
A) Build an oval plane, have it floating slightly in front of the static logo, rotate the UVs around the center. Problem? I cannot find any way to rotate UVs, even after lots of searching.
B) Build a flat circle plane, parent it to an empty game object, then scale the parent so it affects circle into an oval shape by squashing the Y axis. Now animate the child circle’s rotation. The parent will influence it to keep the oval shape while it rotates (like a half filled beach ball rolling). Problem? This works fine inside of Unity Editor when previewing the animation! I thought I had my answer! But when I run the game it no longer keeps the squashed orientation of the parent, but instead rotates the oval as if I was rotating the parent, breaking the effect.
C) Build an additive or transparent shader that has two maps: the starburst UV mapped, and a projected alpha or multiply (white oval on black BG), then I can rotate the object but the alpha wills stay aligned to world up creating the effect I want. Problem? I’m not that advanvanced at writing shaders and can’t find any similar examples.
Is the answer in one of these solutions or are there other avenues I could try? I don’t want to do an animated texture animation as its intended to rotate slowly and smoothly.