• Content count

  • Joined

  • Last visited

  • Days Won


Wingnut last won the day on November 20

Wingnut had the most liked content!

About Wingnut

  • Rank
    Advanced Member
  • Birthday 12/15/1957

Profile Information

  • Gender
  • Location
    Bessemer, MI, USA
  • Interests
    3D Web, CSS, HTML, Guitars, NORML, storytelling

Recent Profile Visitors

4,668 profile views
  1. What's next?

    Hiya Tomm! Perhaps ? Your idea was SO GOOD... that somebody went back in time, and coded-up a solution. There's a whole thread about it. Lots of action has been taken toward modules... and it's still happening. Bloat is really a sign of high-activity/power-inventing, so it's good... and bad. All in all, you're thoughts are good ones. thx! A note to @JCPalmer: Did you see the butt1._children[0].text in the third line of my post before yours? No skimming allowed. I just think there should be an easier way... like button.setText() or just button.text = "whatever". If button.fontStyle works, why not button.text? Seems inconsistent... but there's things I forget to take into consideration. Thx for reply just the same. Other ideas welcome, thx. If longer discussion needed, perhaps Wingnut Chronicles thread.
  2. Playground Based Tutorials

    Hi guys. John... is that PG theme-sensing going to be a problem? In order to maintain proper mouse-highlighting abilities (of highlighted-by-PBT-code-lines)... the PBT-highlighting needs to be a different color than mouse-highlighting. There is probably a CSS style set in both dark and light stylesheets... for mouse-highlighting. Perhaps there needs to be another stylerule inserted into both stylesheets... for dynamicHighlighting (PBT highlight). Then, let's see... you would change the class of a code-line... from un-highlighted class... to dynamicHighlighted class. Sorry if I'm saying something that you have already thought-about. It just seems to me that... somehow inserting the stylerules needed for light/dark theme PBT-highlighting... into their respective stylesheets... would be a wise solution. I don't know if I have ever tried changing a HTML node class AFTER the node is already rendered. Wear protective suit and safety goggles, eh?
  3. How to make FreeCamera push objects

    Hi again Splash. Congrats on the improvements... well done! Let's go back to our no-physics "barrels test scene"... After load, hold the up-arrow... keep pushing against that somewhat-buried-in-ground barrel2. See the jiggling after collide? It is MY theory... that these camera climb-over attempts happen... because the center of the camera.ellipsoid... is some amount higher (more +Y) than the barrel2.ellipsoid. The camera.ellipsoid is trying to climb-over the barrel2.ellipsoid. The camera.applyGravity is fighting-with those attempts. Let's run a test. Look carefully at lines 251-254. That code waits about 16 minutes and then disables camera.applyGravity. CHANGE that 1000000 to be 1000, and run again. Then it will disable camera.applyGravity after ONE second. Try your held up-arrow test again. See how the camera.ellipsoid climbs-over the barrel2.ellipsoid? Camera does not return to ground after climb-over because camera.applyGravity is disabled. Climb-overs, dive-unders, and sideways scrub-offs... happen when two .ellipsoids get pushed-together... when their .ellipsoid center positions don't match. For example: IF the camera.ellipsoid center is higher than barrel2.ellipsoid center, then the camera will try to climb-over. HOW MUCH mis-alignment is needed before a climb-over, dive-under, or side scrub-off happens, you ask? Good question. There is a property called engine.collisionsEpsilon. I'm quite sure... THAT value... determines the amount of ellipsoid mis-alignment that is needed... before any "scrub-off" happens. SO, what causes the jiggling/jumping? You have probably already deduced the answer. The camera is TRYING to climb-over our low-positioned barrel2, but camera.applyGravity is pulling the camera back to the ground. Solves: Good question. Certainly play-with the value of engine.collisionsEpsilon. Also think about possibilities of disabling camera.applyGravity inside-of onCollide, but re-enable after collision condition is cleared (IS THERE an onCollideClear()? Not sure. Maybe there is an .isColliding or similar on the collider?) Lastly, think about force-aligning the ellipsoids inside-of onCollide (by temporarily setting barrel2.ellipsoidOffset or camera.ellipsoidOffset... but that is probably not the best way). Warning: I'm not sure if .ellipsoidOffset is working at all. In another test, I use the renderLoop to gently increase barrel2.ellipsoidOffset.x value (line 238). You can see the ellipsoid move right, and the text read-out showing the collider's offset values. As you can see with up-arrow tests, the collision is still happening AT barrel2 position. This could be a bug in the framework. Not sure. I'm scared to report it as a bug... without others agreeing that it is broken. I make many coding mistakes, and this could be another. Anyway, perhaps you have a bit more information, now. If you do some tests involving someMesh.ellipsoidOffset, and learn good/bad things about it, please report them here, okay? Thanks! Be well.
  4. Wow, I can see that the response is overwhelming! SO many users logging-on to participate in this "idea", that it looked liked a forum denial-of-service attack! heh. BABYLON.GuiEffects v1.0. Makes ANY (renderable) BABYLON GUI control... into a Christmas tree ornament! C'mon! And for mesh with (advanced)DynamicTexture's... well... we ALL know that there's only ONE WAY to get sparkly snow on your terrain. Yep... particles-as-texture, or customShaderMaterial, or direct high-speed manipulation of image buffer data used for GUI and other dynamicTextures. Okay, fine, there's THREE ways to get sparkly GUI text, borders, and snowy terrain. But particles-as-texture would be the WORST way, so that's the best way for us. It is most demented. Here gang... start with this. A "custom start-position function" is in lines 12-15 (a custom start-pos func tells WHERE each new particle will spawn). ANYWAY... with the help of getCart() and plot1(), it has placed ALL the particles... in a sphere-shape, almost like PARTICLES-AS-TEXTURES. (I'm trying to emphasize that phrase. Can ya tell?) So, now, all ya gotta do... is put big fonted "HAPPY HOLIDAYS" on a plane, using a BJS GUI textBlock... grab its image buffer, and... you know... do some other difficult stuff... so that a single particle sits atop every 2px * 2px part of the image buffer... that has colors set. (position them in-front-of the "Happy Holidays" text... on the plane. SIMPLE! How about you, DeltaKlaus? Doesn't "particles-impregnated GUI-colors"... sound like a cooooool feature? Glitter! Or, at least... the Babylon.GuiEffect Class. Wow... that sounds important! A lib of post-process effects specifically for font-effects and border effects. Far out, man! I wonder. hmm. On your average 512x512 image buffer... how many iterations thru it (to mess-with its colors)... could we do... per frame? If we could get one "repaint" per frame or more... then we can do direct-attacks on the image buffer of GUI text, and NOT use particles, eh? *nod*. But... WILL a Babylon GUI textBlock... update its "paint"... if Jerome repainted the image buffer in Mandelbrot fractals? (Must repaint only pixels where there is already a color - maintaining the character/font shape) Fractal-texture text for GUI? TOO COOL! (esp if it is animated real-time - like our fireTexture). How about fonts as godrays emitters? Wow! "Happy Holidays " in sparkles and godrays! Mega-demented! Advertisers would love it. Burn your brand name right into the viewer's retinas! Jabylon BS! errr... hmm. Speaking of a fireTextured bigtext-on-a-plane "Happy Holidays", ahem. But we're not talking backgrounds, here. We're talking the fonts themselves... have animated textures. Can that be done? What kind of idiot would it take... to TRY such madness? hmm. Let's get "moving"! (I'm a pathetic cheerleader, eh? I ain't got the legs for it.) heh
  5. Parametric cabinet

    Amazing, Arte! Way to go! I'll take one of each... in Teak wood... light colored stain... near blond. Farm-out the construction (to master cabinet-makers), and have the items delivered to my home. Bill the forum... gouge as wanted. thx. (And thx for the media-show sneak-peak - cool of ya!)
  6. Cut faces on custom polyhedron

    Hi again, guys. Ok, so, where are we at? Is that red sideways line... the problem? Is that what you mean by "cut", MW? (there is another red line on bottom, in same position) If so, ok... we need to find the "big dogs" of the edgesRenderer and see if they want to try a modification, yes? I did another test. [link] I wanted to create a wireframe clone of the mesh, and render THAT atop the main mesh. I needed to LOWER the mesh.visibility (to something < 1.0)... so I could see the wireframes. When I did that, the edges render ACTIVATED in the 90 degree corners. Know why? Yep, the edgesRenderer, which is an angle-sensitive device... did its job perfectly... ON THE INSIDE OF THE MESH. heh. Ahh, robots... they are SO FUN to fool. How 'bout it, pros? Any way to remove the cross-mesh red line shown in #3 playground? Any ideas about WHY the edgesRenderer thinks that is an edge location? (thx) Also, MW... if I have stated the issue wrong, please correct me. thx.
  7. ActionManager

    Hi Nahu, welcome to the forum. Please ensure that rdc.isPickable = true; That could be the problem. Report results, please. (thx)
  8. Thx joe! Wingnut had a demented idea, again. (I have to type them here, whenever I have one... federal law) Ok, let's say we got a big fat textBlock in the middle of an AdvancedDynamicTexture fullscreen... "Happy Holidays" Big fonts... uses most of the screen. Now... grab a particleSystem, grab the imageBuffer for the textBlock control, and use the particleSystem customStartPosition feature/func... to put a particle at every pixel of the image. Then use the particleSystem customUpdate feature/func... to random-color them puppies... or wiggle them... see if you can make some sparkly glitter. Possible? Sure it is. Someone run-with-it! I'm too lazy. (I sort-of hate dealing-with Context2d image buffers, too.) But, in the grander picture, I have been having thoughts-of "particles as textures", lately. Billboarding off, coat the surface of ANY mesh... with particles. Glitter boxes. Glitter spheres. Santa Claus is coming to town, so it's tinsel time. Time to get sparkly. If everyone else screws-off long enough, I guess I'll have to build it. But, please, somebody, feel free to build one. Glittering/sparkling GUI text/borders... would be SO... holiday-cooool! What's that? A particle for EVERY pixel... is too much? Yeah, maybe so. Every OTHER pixel that has color, eh? *nod* Ok, that is all.
  9. Questions about Animatables & Animations

    Hiya RB, welcome to the forum. BJS animations allow an AnimationEvent. These can be inserted into an animation, and used to trigger the start of OTHER animations. Using these, you could use a MAIN animation as the controller for all SUB-animations. You could also make a master "timeline" animation that contains ONLY animationEvents. It would be considered your master sequencer/scheduler. Here's a playground search for animationEvent, so you have some demo code. There is another way to do "scheduling". Take a sniff at this: Notice lines 150-166. See those big numbers at the end of those lines? 3000 = 3 secs, 7000 = 7 secs, 13000 = 13 secs (elapsed time since scene.isReady), etc. And, I think there is another timer called engine.deltaTime. Here's a playground search for occurrences of that. You could build an animation scheduler based-upon that, too, I suspect. Hope this helps. Others may comment soon with different/better ideas. Be well.
  10. Cut faces on custom polyhedron

    Hiya MV, welcome to the forum. I'm not sure that is possible. (But Gods are nearby, thinking about it). Line 47, that true parameter is for .useVerticesInsteadOfIndices I thought SURE that would fix the red line crossing the mesh. But noooo... Wingnut does a face-plant with added Purina Gravel-Chow I'm not sure that I understand the problem, but I think the red across-the-mesh line... is unwanted. Also, it might be nice to have edgeRender in the corners of the 90 degree angles. I also added light.groundColor... so we could get some bottom lighting. Anyway, smarter people than I... will comment soon. Stay tuned, please.
  11. Playground Based Tutorials

    thx! Umm... I've been thinking a bit... about a PBT feature that I once dreamed-up - the ability to GO BACK ONE STEP. That led me to thinking about scroll-able stackPanels. Essentially, re-stocking the stackPanel with every up-scroll/down-scroll button click... to make it APPEAR-like scrolling. Just getting started. Nothing active, yet. Exciting, huh? (snore) I love using percentages, and so far, Babylon GUI is SMOKIN' the percentages... sweet! Fun to work-with. I am currently using rectangle-wrapped textBlocks for the "entries" into the papapanel stackPanel. I might switch-to unclickable simpleButtons, IF I can get some power over their borders/containingRectangle (simpleButtons can activate ._children[0].textWrapping = true; - cool). *shrug* A WingnutStackItem class of my own... is certainly an inviting possibility, too. Learning learning learning. Good fun, though.
  12. What's next?

    Hi guys. DK, thx for the "let's hear wishes/dreams" -thread. I love it. var butt1 = new BABYLON.GUI.Button.CreateSimpleButton("butt1", ""); butt1._children[0].text = "test"; Does anyone (besides me) think that a BABYLON.GUI.Button could/should have a .setText("some text"); ?? *shrug*. Perhaps late-setting of button text is discouraged, because the button doesn't have an .updateFitAndWrapAfterTextChange() ? Anyway, butt1.fontSize = "whatever" works. I wonder why it doesn't need butt1._children[0].fontSize = "whatever". Perhaps butt1.text = "whatever" is SUPPOSED-TO work? *shrug* Maybe this belongs in a different thread.
  13. Babylon Highlight layer

    Hi again, M. In another project... we first made a func... called colorPulser() var alpha = .5; var colorPulser = function(mesh) { mesh.material.emissiveColor = new BABYLON.Color3( Math.sin(alpha)/15, Math.sin(alpha)/15, Math.sin(alpha)/15 ); alpha -= .1; }; Then later, in the renderLoop... if (myPickedMesh) { colorPulser(myPickedMesh); } I think this method could work on an entire array of selectedMesh... and not slow things down. And, it's a pretty nice effect... works fine with textured objects... might even work fine with semi-transparent mesh. It's just another thing to try... to indicate that something is selected. Off-topic for this thread, sorry readers. Be well, gang.
  14. Custom skybox in playground?

    Hiya gexzor, welcome to the forum. I like using a free Github account... which you could also open/use. Models, textures, drag'n'drop from desktop into Github folders... pretty nice. Others will have ideas, too... stay tuned. PS: There is a package of about 32 skyboxes with displayer... at (if you might need such). It is the same as the "Skybox Tour" from BJS main website. Caution, it contains an older version of BJS. Skybox images are from . It might be cool to give them some credits if you use one of their skyboxes for a commercial project.
  15. It's all good. There's multiple ways to mark as solved. Actually, it was probably MY fault... on this. I wrote the comment about making sure you mark "solved"... and then I looked, and you had already done that. Dummy me. So I deleted that part of the comment... but I think you already saw it. But now ya got it double-marked as solved, so... it is seriously solved. Indisputably solved.