Hi TL! Glad to do it.
Line 120 refTexture.level can adjust texture “intensity” but I’m not sure that is “brighter”. Possibly lighting increase needed, and possibly a different texture.
All the animation happens in lines 155-182. In the original, I used one ‘addInPlace’ for position anim, and another for rotation anim. This one… has the position anim disabled, and TWO rotation addInPlaces… one doing Y (lines 168-172), another doing X (lines 174-178).
This is simple animation, but understand that EACH addInPlace could have its OWN timeline, its own step, and its own softener(s). And remember that you could do softener*2 or step/2 (or similar stuff) in any addInPlace section.
Lines 163, 170, 177… they are each vector3’s to be added-In-Place each frame, and they are essentially the “change since last frame” (sometimes called the ‘delta’).
And, you know sin and cos are cyclers… essentially back-n-forth oscillators. You can think of sin as ONE bike pedal, and cos as the other.
Step is VERY important. Often, when you adjust step, you need to adjust other things, too. Step adjusts both speed and amount of effect. So, sometimes we adjust the speed of the animation, but then the amount of movement becomes too little or big, so the softeners need re-adjusting.
Softeners (attenuators) can be used as amplifiers, too… depending upon if you use them as a divisor or a multiplicand. (What the hell did he say?) (ie. You can sometimes divide-by softener, and sometimes multiply-by softener). I probably should have named it ‘scaler’ or ‘range’ or something like that.
And, camera angle is also important, esp .beta (the 1.8 seen in line 12).
This reflection version is still looking directly at the “pole” of the texture. You can see the texture’s pole… pass vertically thru the letter surfaces… twice per anim cycle… once going up, once going down.
If you would like to NOT see the texture pole pass thru the fonts, adjust that camera beta… OR… you can do what I did in the old forum post… where we changed line 91 ‘xyz’ into ‘zyx’. That might work.
Do you see how you could eliminate the 2nd rotation anim… by replacing the first zero in line 170… with the
(Math.sin(timeline)/softener) from line 177? (add/remove parentheses as wanted). Then, line 170 would be animating both X and Y, and then lines 173-178 could be removed.
I turned OFF position animator… because… it gets to be too much, and also… it needs to be programmed more carefully than I have done, so far. Up in that section (lines 164/165)… you can see that I used the ‘i’ indexer variable in some of the calcs. That… is weird… and can have strange effects. Generally speaking, when using the i-indexer in calcs, left-most letters get little effect, right-most letters get LOTS of effect. This is not an overly-useful movement and can make words difficult to read.
Ok, I hope this helps. You should have some tools to cause trouble-with, now. Don’t accidentally blow-up the planet. Perhaps someday, we will add pre-made MeshWriter “animation behaviors” that can be applied to a single letter, a single word, a single sentence, or an entire message. I am also hoping to apply path-following, soon, and have begun studies on paths. I’ve tested only camera-flying and single object-flying, so far. Thx to @JohnK and others… for helping me learn about paths.
This young birthday gal… umm… is she a California Girl? hmm. Can she… Does she… Would she… ahhh, never-mind. She wouldn’t know how to operate a snowblower.