The Wingnut Chronicles


Hi gang.
New experiment… flying the camera on a path3d… based upon our cool car path snippet.
(#51 for a wider view)

Kind of smooth and nice. Perhaps could use some lens flares.

Box (which you can’t see in PG #53 because camera is sitting atop it) does not tilt up/down when traveling up/down hills, yet. It doesn’t steer-down path very well anymore, either. (not as well as snippet car)

Just goofin’ around, as usual. I love the smoothness of this path generation math.

Later, I’ll re-flatten the path, bring-up the speeds again (reduce points)… and hang a physics joint beneath the “carBody”. Then attach a mesh and camera to the bottom of that joint. (pendulum)

With just the right speed, gravity, mass, and joint axis length, we should see some camera “banking” on the corners. Bobsled-track-ish. :face_with_raised_eyebrow:


On a new and weird subject…

I wonder… how many labor-hours… have been lost… because…

When using Internet Explorer–>Help–>About Internet Explorer …

… we can’t highlight/copy the version number.

We have some MS employees laying around here, right? Perhaps you guys can put a little pressure on the IE dev division… and make that version number be easy-copy, somehow?

Just tell 'em that Wingnut wants this fixed… right now. They will surely jump to your orders with a “Right away, sir/madam”. (yeeeeah, right) :slight_smile:


Hi gang!

Weird forum-software subject: Has anyone noticed that… when you edit one of your previous forum posts, the forum lists that post at the TOP of its “latest posts in this sub-forum” list?

In other words, when you edit a post, it bumps it to the top of the list.

I don’t know if this is good/wanted. Hey Discourse experts… is this adjustable? Know? If so, should we?

I edit quite a few posts… sometimes WEEKS after first-posting them. I don’t want folks to re-read the post after the minor edit (because it went to the top of the “latest posts” list).

Sometimes, I simply fix the spelling on one word. Then it looks like a NEW POST to other readers.

Thoughts, anyone? thx.

Update I learned that moderators can use the “reset bump date” option… to keep an edited post from jumping to the top of the forum lists. hmm. Interesting.


HI wingnut…
hi wingnut…
I was thinking to start a new language apart from js…
so my choices is btw Java to android and c# in unity…
Idk what to pick both seems like not fun to learn c# has 100 different types and
java idk.
but i dont want to be limited by only javascript what languages do u do?
I looked at ur “simple” path 3d also it looks cool but i dont understand the math is the sinus making
the points end and start to connect into a forever loop?


Hi drogs!

I like JS better than anything… but it has some limits. Only a few of those limits… block me from things.

I have done SOME Java, some 6510 assembly (C-64), some REXX, and much LambdaCore MOO code, whatever that is called. My suggestion to you… perhaps Python. It seems to have WIDE support and popularity.

On the path-math, yeah, I agree... I have not studied it well. I have barely begun experimenting with that.

To move toward “smart-path”… perhaps each point in the path… needs a transformNode added… to cause each path-point… to have a “normal” and a transformation. As the camera moves-along the path… it also ANIMATES its rotation… from currentPathPointTransform… to nextPathPointTransform.

This will cause the camera to turn-toward various targets, or bank like an airplane when going around corners, etc. Other motion might be possible, too… IF we put SOME “data” (other than position) in the path-points.

Smart path-points. For now, we can overload the vector3-class path-points… by simply adding a point.transformNode = new BABYLON.TransformNode() to each path-point.

How to SET all the pathPoint.transformNode values… to create nicely-eased camera target-turns (without camera.lockedTarget) and banking on corners… I have NO IDEA. heh. Still thinking. :slight_smile: Thoughts?


haha… me and my thoughts… yeah maybe a for loop to add data to every “point”
everypoint just represent a point an camera angle…
you dont even have to use the same array of points as long as they contain the same number of points and time pass btw points… but im not an expert wingnut.
and change camera angle in quaternion or radians watever float the boat… in registerbefore render loop somehow. so when point[100] camera animation change to that but idk its probably not working but if its an animation loop…

Im not advanced yet… but i always try keep it simple.
And i love javascript too… its my first language I just read about android games.
and there is two possibilities to go with android studio and java
or unity c# to natively export to android…
but I dont know i have tons of fun with babylonjs…
it just lacks a bit of jobs opportunities and i guess i need be more well rounded =)


Yeah, your “point” is well-taken. The smart-path is very near-to standard camera animation techniques.

hmm. Animation interpolations are quite similar to our path-math.

Programming as a job? Blech. That would ruin the fun, imho. :slight_smile: I’m retired now, but my career of selling weed to children… rarely bothered my programming fun. :slight_smile: (just kidding, of course).

If I were young again, I think I would design/build a custom graffiti-removal truck (20 year bank note), computerized… water-jet, chem-jet, sand-blast on a long boom… cameras… all work done in comfort of truck cab, and often quite automated. Plenty of time to code games in the “office” of the truck… while a removal is in-progress. :slight_smile:

Of course, the truck and its robotic arm… freely run JS, and its cameras use BJS-based Augmented Reality. :slight_smile:


that was funny wingnut im on to u =)))
jk but its good point that shit get automated and a chore if its work
but that is the risk of any job
I love code its intriguing and captivating
yes keep doing hard 3d path work wingnut
its not impossible must be a sollution


A bit of path work here Positioning, Rotating, Scaling - Babylon.js Documentation
Need to move camera to see 3D of paths. Would be interesting to see the way a cone moves along rather than a plane.


Oh YEAH!!! Nice! I like the 4th one… best. The plane stays orthoganous to the tobogganous. Thx John! Good link.

Tangents, normals, biNormals, just YUM! You’re a God, JK! A friggin’ Level 7 PathMaster!


Animated camera is a favorite topic. Want to combine it with movement zones, when back from appwastelands.

Like the orthoganousness.


tobogganous…hmmm John u too good for us mortals.=)
very cool it looks like rollercoaster could be like if i had one!
Whats the secret to know all that… i wonder sometimes


Well, I haven’t posted here in a long while… been out arguing with everything including myself. How’s it going, readers? Are ya’ll building every 3D thing you ever dreamed-about? Yeah? Gooood.

Other than Oimo work, I’ve been thinking about GUI, lately. In a recent playground series, I have been testing a thing I call “cach flow”. It is a diagram that I “imagined-up”… from a user question. That’s irrelevant. The first nice-working version… is this #14 PG. It got a bunch of engine.onResizeObservable additions from a forum friend/helper, and now it does quite well when canvas size changes. I like it.

I went-on to do more torturing in pg #15… sliding-around the advancedDynamicTexture (master/root full-screen GUI container), to see how well my diagram held-up. Pretty ugly.

I needed to clean-up my hard-coded positions, and use more “derived” positions. Pg #16 does a pretty good job… except for ‘target’.

Target… is a little ellipse defined at line 55. It hangs-out at the intersection of Eastwest Blvd, and Northsouth Av. It… is still having problems with its position during the slides. Help/ideas welcome, there.

On a completely different subject (except for the similarities), I was thinking about grids of grids… of grids… of grids… the making of HIGHLY DETAILED dashboards/control-panels. We’re talking tiny LED indicator lights and micro switches, and readouts, and little radar view, and little infrared view, and knobs, and widgets, and labels, and doohickies… till ya vomit! Something that just COULD NEVER EVER be operated on a mobile device… at least not without a needle-like stylus. :slight_smile:

I’m thinkin’ … 200 controls on a half-screen-height dashboard (some controls are little LED’s that only change color and don’t need clicking/sliding.) All within grids of grids of grids. Would a guy need a manager? Could we get syntax such as… adt.radar.range.sensitivity.autoswitch = true? Kind of “Fluent”-ish? I dunno… I barely know what Fluent is about.

Could a “manager” assist us “dashmasters” with building custom observers that “bind” switch.value… to its switch.indicatorLight.value? Sort of a “back side of the panel” binding/patching? A special kind of notifyListeners… super easy to patch-together… thanks to the manager’s “patch panel”? Wow! Perhaps not apropos, because switch needs an onChange handler ANYWAY. Just toggle its indicator light… within there. I suppose the indicator light could be a member of the switch’s onChange notifyList. Sounds sane and logical.

Complex Grid Manager v.01 hmm. :slight_smile: Who will invent the manager that creates our first ever complex dashboard-o-micro-controls? C’mon, ya KNOW ya want to build it. I think @Deltakosh? still holds the record for most controls on a single adt…

Lookups might matter… but maybe we have an ADT.getControlByName() feature… already active.

What if… the grid/cells can stretch beyond idealWidth and idealHeight… but the controls within the grid-cells… don’t stretch. hmm. Rough area of town. Rubbery canvas size… sucks, eh? It makes a person wonder if .thickness can accept micro-percentages (so borders get thinner/thicker with scalings).

What’s that? It didn’t make you wonder about that… at all? uhn. :slight_smile:

Ok, that’s enough Wingnut blabbering for now. Party on! Stay orthoganous to your tobogganous!


That’s a record I’m proud of :smiley:


id like to see this, is it a playground? :smiley:



Woahhhhh Awesome!


It rocks, huh? Yeah boy. Best “Particles Lab”… ever.

So, @Rah… seeing that YOU caused the 3 unnecessary posts to The Wingnut Chronicles (I already included the URL to that playground… in post #53)… you get to code the advancedTexture.getAllControls(includeChildren->true/false).length … to see if @deltakosh is over 100 controls. I think he is. I’m guessing… 125. :slight_smile:

C’mon Rah… hurry-up with that JS one-liner or however you decide… to get us a total count on how many controls were used. I’m hungry… it’s lunch time, but I’ll wait until you have that number for us. Hurry. :smiley:

11 hours later: I’m starving, Rah! :slight_smile:
22 hours later: Buzzards are pecking my entrails!


You mean 3 Very important and extremly necessary posts? :smiley:

Also i can take a look at that after class :confused:


:slight_smile: I’m just having fun with you, of course.

A quick-look at the AdvancedDynamicTexture API… shows… this.

Yep, deltadawn already built a tool for us (DK always writes systems with ‘essential tools’, often successfully predicting user’s needs. Considerate and Hot.)

So… I already know how many controls were used, and I/we didn’t need to write any code at all.

How many? I ain’t tellin’. :slight_smile: Go insert a line of code into pg #7 and find out, readers. I WILL say… that my 125 estimate… was too low. :wink:

-18 F here this morn, and i really need to do some snow-blowing. brrrr. Does anyone think my 25 year old Toro snowblower will start/operate in these temps? What about Wingnut’s body? Can he handle 45 mins in his spacewalker’s suit, to get the job done? What will break? It’s SO cold.

I’m scared. Someone HOLD me! :roll_eyes:

Update: After warming the starter rope pulley for 15 mins with a pistol-style hair dryer, the Toro started 1st pull, and kicked butt on the neighborhood snowdrifts and street-plow banks! And I didn’t get frostbite, or frosted bytes. yay! My cross-street neighbor FINALLY got his Ariens-brand blower started, but it needed to be zapped with the defibrillator about 100 times. pfft. Obviously, I’m the top-dog blower on THIS block. :smiley:

Here’s some getDescendents(true, someFunc) predicate fun!

Then set line 515 to true, and add a little adt rootCon rotation… phew. I’m so dizzy.