Wingnut

Members
  • Content count

    5,149
  • Joined

  • Last visited

  • Days Won

    107

Everything posted by Wingnut

  1. Hi Seba. Ya know... this also sounds like something that could use GUI mesh-tracking labels (labels which could be a GUI image-control). https://www.babylonjs.com/demos/gui/ http://doc.babylonjs.com/how_to/gui Those sphere1 - sphere7 labels... they use mesh-tracking... quite powerful, and are able to be sprite-like images instead of text. I think you would/could like it. Worth checking out, eh?
  2. Wingnut

    Text as polygon mesh

    https://www.babylonjs-playground.com/#XWVXN9#26 Playin' with the pivot. I wish I had a handy boundingBox.center for "second"... so I wouldn't need to hunt'n'peck for an accurate .pivot (line 60). Still... FUN! Yeah, TL, your house on Lake Babylon is almost done... and so is your "Extensions Laboratory". The workers are finishing-up the whirlpool/hot tub/sauna "bath house" and terrarium. Of course, once you put up your "mesh-fonts lighthouse" for guiding other boaters on the lake... you have to keep its light burning... forever. Others will count-on that lighthouse... for safe navigation thru the rocky webGL waters.
  3. Hi gang! Newbie Wingnut here again, hope everyone is well. Here begins a massive "chronicle" of "Stupid Stuff That Wingnut Talks About". It will get big and stale, but what the heck. I goof around in 3dMax a bit, and I've seen their massive 'library' of procedural primitives/shapes, and one would think that BJS is destined to have every one of those, plus a few hundred more. Thoughts, anyone? Thanks!
  4. Hey, that's pretty danged COOOOOL! Excellent. hmm. [Wingnut attaches a BJS ShaderMaster pin... onto P8's lapel and shakes his hand vigorously]
  5. Hi P8/everyone. Including the numbers? And sometimes rotated numbers? The '60' looks strange, there, eh? With easy user-selectable font families and sizes? With any number of graduations per scale-ranges, with 3+ hash-mark weights (line lengths/thicknesses)? With full-circle, 3/4-circle, half-circle, quarter-circle graduation scales/ranges? Sideways? Down-hangers? And still be user-friendly and experiment-inviting to JS hackers who don't do shaders? hmm. Cuz, I'll bail on this "old-school" project... if it can be done wiser with shaders (and maintain user-friendly api) Are there any GUI controls that use shaderMat/customMat, now? I don't think so. Perhaps start with Adam's colorPicker control... which has no numeric labels to fight-with. If you can re-create the GUI ColorPicker, using shaders instead of context2d canvas drawing, I'll become a believer. Or were you talking about a tachometer face that is NOT a GUI control? More specific to tachometer task, less universal/re-usable for other meters/dials? That would seem more shader-possible, imho. I don't know shader coding very well, and maybe shaders IS the way to go, even for universal/easy-user-modded round-meter-face drawing. Here, I'm trying to use GUI control functionality and "rules". *shrug* But I'm listening/watching. ALL mad-scientist claims/experiments are certainly welcomed/encouraged wholeheartedly. I LOVE big-dreaming.
  6. Wingnut

    Illuminated City

    I imagine this will have multiple filters/layers. OF the forced entry burglaries, NOW show me the daytime ones only. Of that group, now show me the ones that used the garage door... etc etc. Now ADD another layer... green... that shows same criteria except nighttime. (the daytime forced garage entries are now in blue, and the nighttime forced garage entries in green) It's a bit like SQL, eh? Perhaps, instead of trying to provide menus and checkboxes for the MASSIVE configuration options available... create a high-level scripting language... very much like SQL. Configuring an "illumination" is an SQL-like directive... each save-able, so they can be re-applied/re-used whenever needed. Far less buttons... but a very powerful text input field... nice backbuffering, with auto-completion options and similar intelli-sensing query-building assistance. hmm. Illuminator Buddy 1.0 Helps you build a sophisticated illumination query, even if you've never built one before. I think there's some SQL Buddy things like that... hand-holders for helping people make db queries. I wonder if you can rely upon police databases to have identical record structures, field names, data typing (same db schema?) for their DB's... city to city, state to state, etc. I bet not. Anyway, interesting tool. Useful. I like it. Trend analysis dream-come-true.
  7. Wingnut

    Text as polygon mesh

    Ahh, thx! https://www.babylonjs-playground.com/#XWVXN9#10 Uh oh... I'm startin' to have fun, and it smells addictive. unh, PG suddenly failing after reload. hmm. Oh, I know why. Need to wait until stuff exists. https://www.babylonjs-playground.com/#XWVXN9#12 Globalized text1 for time being. Still learning. Nope, still broke after reload. text1 is undefined. Gotta click RUN again. I'll figure this out. A little "scope" wrangling needed.
  8. Wingnut

    Text as polygon mesh

    https://www.babylonjs-playground.com/#XWVXN9#7 My thickness isn't working. hmm. Likely Wingnut mistake. I'm thinking about trying some physics/boxImpostors... bounce a few words on the ground... see what happens. Might be fun. http://mrdoob.com/projects/chromeexperiments/google-gravity/ (drag any node among other nodes... to "toss the salad"). Ours will be better, of course. (ahh, competing, gotta hate it) For those unaware, mr doob is professor of 3js, our loving neighbor.
  9. Wingnut

    Webcam background reflection challenge

    I meant... are you involved in MakingOf_En site/people? Know them/him/her/company? I was confused about the wanted effect, earlier. I didn't read Jerome's post very well. I guess the cam would need to be across the room, aimed back at user, with FOV that is proper. There's many camera systems that publish a still pic from the camera... to a web/file server... once per minute or so. AssetsManager texture task could be sent to retrieve a fresh picture (same URL over and over)... once per minute. It could be done, eh? Periodically-acquired camera-grab reflection texture. yuh yuh yuh... I think so.
  10. Yep, that's a type of meterControl, for sure. Thanks for the complete sentence. http://2.bp.blogspot.com/-92QXGUoR5fI/TdVV7hGk1-I/AAAAAAAADxM/I9I6_UbJ8ZU/s1600/Heathkit%2BGD-1u.jpg Ooh, a meterControl AND dialControl, all in the same picture! Rad! Square meter, though... maybe a little too modern. Also steam gauge, also water gauge, also scale dial, also Simpson 260 VOM, also clock/watch, also roulette wheel, also dart board, also protractor, also rifle scope reticle, also... umm... I'm spent. heh The highly-versatile world-famous BabylonJS GUI RingControl... YOUR one-stop way of "getting around". Get it? That's good humor! (There's a general shortage of round things in current BJS GUI controls... so... a device that helps us make round things... pretty useful. GUI should have equal rights and stuff... for both square AND round controls.) heh. Even now... during GUI measurements... rounds are treated like squares. Sad but true.
  11. Wingnut

    Text as polygon mesh

    I didn't start any demented experiments, yet, but thanks for asking. I need a game plan (or 10) for those fonts. I'm thinking about... animating some single characters... flying them into place... to form words. https://www.babylonjs-playground.com/#HH1U5#70 There's some little easy-animators in there... that run on a "schedule" (lines 118-148). I think I can "fly" some characters/letters into place... spinning, moving, scaling, coloring. FUN! Then there's texturing. We have a few animated textures... like lava and fire, etc. Those will add some "spiffy". Then godrays/volumetric lighting and other 2D post-processes. I think... it won't take too much "gaudy" to drop the FPS to a crawl. We have "particles from verts" that someone made for us... https://www.babylonjs-playground.com/#2A4NUR#6 That should bog us down some more, if used on font shapes. Not sure, yet. I need to learn stuff.
  12. Wingnut

    Text as polygon mesh

    Aww, that's darned nice of you to say... thx! It's a worthy cause, for sure. The curves of font shapes... tend to get vert-heavy... so... a word manager or sentence manager... is likely needed. Next gen of hardware... we'll be up-to Cray speeds for our home computers. Then... we can worry less about bog, I suppose. (duh) Pretty decent "side project" ya got here, TL. I like it a lot, as you can tell.
  13. Wingnut

    Webcam background reflection challenge

    Hi J! Cool challenge. Nothing to win? Pfft. Oh that's right, I'm against competing, anyway. Although I'm not recommending a product, I have a couple of these things... https://www.ebay.com/itm/Panorama-Remote-Control-Pan-Tilt-Mount-Adapter-For-Smart-Phone-Gopro-DSLR-Camera-/222761475157 Although this thing is RF control, the low-budget webcam I have Gorilla-taped to it... needs a USB cable connection. If you COULD get this pan/tilt device to aim itself... using BJS camera alpha/beta values, the camera cord could get coiled around the pan-pivot shaft (after a few pan-spins of the BJS cam). So, you'd need an onboard-battery-operated camera, with wireless transmit (battery eater)... and your pan and tilt device must do 360+ degrees of pan and tilt. The "rostrum thing" shown above, does a decent 360 degrees beta/tilt/pitch, but it will only do 355 degrees alpha/pan/yaw. AND... when you look straight down (beta)... you'll see the base of the rostrum device... and not the floor of the room. (or, if rostrum is mounted inverted like mine is, you cannot see the ceiling. The base of the rostrum device... gets in the way of the view of the ceiling. SO, there's really 5 problems... 1. Getting a wireless IP network cam... to run a decent amount of time on self-contained batteries (and still not weigh a ton). 2. Sending BJS camera angles to camera rostrum device... causing it to pan and tilt (needs to be wireless). 3. Pan and tilt limits, and view-blockages caused by base of rostrum device. 4. Streaming live video from camera... into cubeMap textures or equirectangular texture for skydome/skybox. (or Babylon.Layer - .isBackground = true); 5. High prices on drugs and pain killers needed to think about this challenge. Thx for the URL, J. Are you involved with this project, J? (if it's ok for me to ask).
  14. Wingnut

    Text as polygon mesh

    Hi again! A bit off-topic, but, I want to give a little tip-of-the-hat to @JCPalmer, as he also did some 3D font work at one time, and I didn't get to play with those. I think his 3d fonts were a side-project of a GUI Dialog panel, which was the primary objective. I don't think he ever fleshed-out his mesh-fonts system, as that was not his objective. Maybe he'll visit and show/tell more. I just want to be fair in my excitement spraying. ALL pioneers and trailblazers of 3D fonts... get a hug from me. A hug to @jerome for SPS (and a hundred other innovations/contributions), too. Core BJS team gets hugs, as well. Aw hell, I'll hug any developer/innovator who lets me do it. Thanks guys! What's that? You all want lobster dinners instead of hugs? hmm. Mostly male dev teams... it figs that they'd want to get some "tail". :D
  15. Wingnut

    Text as polygon mesh

    Absolutely gorgeous and SO COOL! Oh man! Folks think I talk too much in 2D (forum posts). Wait till they see me fly 3d words/sentences! 3D words can be WAY MORE expressive than 2D words! YUM! Ok, let's see... a "war of words"... hmm... becomes a whole new thing, eh? Heat-seeking nouns and laser-guided verbs! Adjectives with objectives. Thx TL... this is very nice! I bet I can crash my browser with it... by midnight (4.5 hours away). So, oh man... a "tangent" (from a topic) is now an actual direction vector! Space-scroller angle adjustment. heh. Dangling participles... might REALLY "dangle"! WOW! It's a new dawn! Fun! I think almost all student reading... especially in younger years... might be done with 3D fonts... in the future. The student will be sitting on a stump in a VR woodland... enjoying the animated colorful antics/dancing of the "sentences" traveling the nearby grassy paths (path-scrolling words). It will be the most enjoyable way to read almost anything (in the future). YUM! I predict so. I suppose we need some human ear models, so we can make our words "go in one ear, and out the other" (words ignored by the listener). Or "fall on deaf ears". Expression! Make kids laugh as they learn. Then they'll seek that learning on their own... and maybe I'll even read the BJS docs. Let's see, texting in VR? Probably the same... message will fly out of the sunset, over the snow capped mountains, across the meadow and lake (full reflections, of course)... and come to hover in front of the eyes. Maybe a little dust cloud as these heavy, fat fonts fire their braking retro-thrusters. The message might have xmas lights strung onto it, or be beautiful chrome/glitter. Nice. Not recommended while driving.
  16. Wingnut

    Tutorial Talk

    Hi gang! Here begins the never-ending thread... about babylon.js tutorials. Post freely in here - about any tutorial. Here in the early days of this thread, I would like us to talk mostly about 'the basic series' of tutorials: https://github.com/BabylonJS/Babylon.js/wiki/Tutorials We will need input from everyone. We will be doing test translations. We will be collecting pictures that are perfect for the tutorials. We will be collecting great ideas and always looking for ways to make things clear for all. Comment freely. Here are some early things that we are wanting your comments about: ---------- #1: The use of 'arg' and 'arguments'. ie. function(arg, arg, arg, arg). Early tutorials called them 'parameters'. In tutorial #6, I started using 'arg' and args. Does anyone think that 'arg', 'args', 'arguments', etc... is outdated or wrong? Is ECMA officially calling them parameters? Should we avoid calling them args and get back to 'parameters'? Thoughts? Comments? ---------- #2: The use of the term 'one-line constructor' (see tutorial 6). Here, we used 'constructor' to define a one-line Babylon scene item maker such as var light0 = new BABYLON.HemisphericLight("Hemi0", new BABYLON.Vector3(0, 1, 0), scene); Does anyone think that 'constructor' is a bad term to use for that 'line'? For babylon.js, that single line scene item maker is not only a constructor... but also an 'installer', yes? In other frameworks, you first 'construct' (make) a scene item, and then you need to do scene.add(item). Babylon.js does the add for the user. Comments welcome... about 'constructor'. ---------- Hey, thanks, everyone! We will be watching this thread forever. No hurry on commenting, and feel free to change your minds and comments later. A special thanks to Dad72 for recently showing me that light.isEnabled PROPERTY... has been changed to .isEnabled() ... a getter FUNCTION. And that the new way to change a scene item 'enabled'... is with .setEnabled() function. His information not only fixed a section at the top of the #6 lights tutorial, but it fixed some personal projects as well. Thanks again, Dad72. camera_or_light_or_mesh.setEnabled(1 or 0); ... that is the way. But don't forget about light.intensity and scene.setActiveCamera[by](something) and mesh.visibility and StandardMaterial.alpha. All are good ways to think about... when you want to make things appear and disappear. Do not trust my typing. Be sure to visit http://doc.babylonjs.com to find the perfect syntax. The #6 lights tutorial is still being edited. I (Wingnut) hope to clarify the .direction property somewhat. Tutorial #5 about cameras... is scheduled for some work, soon. Feel free to comment about those things, or about anything in the GitHub tutorials. We are listening carefully. Be well!
  17. Wingnut

    Change the color of an imported obj

    Yeah he is... and a bunch of other BJS founding fathers and early trailblazers, too. Genuine "french fries"... crispy on the outside, tender on the inside. We love 'em! And I think the French... invented/mastered that pastry thing... where they smash the dough micro-thin, then layer it MANY times into a stack, with butter between each layer. After baking... it's "mouth heaven." Professional dough-wranglers, for sure. Professional JS wranglers, too... good coders... good artists. But... I don't know if France has anyone that can ramble-on aimlessly and hijack someone's solved thread... as well as us constantly-talk-about-ourselves Americans. Know what the #1 most-discussed subject in America, is? The weather. #2 - Where are we going to eat-out for the next meal. We certainly are a nation of "deep thinkers", eh? heh.
  18. Wingnut

    Change the color of an imported obj

    Montpellier, France? Cooool. https://www.huffingtonpost.com/entry/destination-spotlight-montpellier-france_us_5a42adb5e4b0d86c803c73a3 Look at that pretty sphere! A "3D - aware" city, for sure. Here in the USA, we use high-tech plastics and monomers to create copies of that "french curvy architecture". There, you got the REAL stuff. (drooooool). C'mon, who is rich and wants to send me on a free Tour-de-France? Just rent me a motor home and pack it with french toast, and I'll return it in a month. I got a lot of forum friends in France... that I want to shake hands with. I'll even make a "BabylonJS Tour de Francais Polygons" - the movie! I'll sing and play guitar for the whole soundtrack... I'm pretty darned good at that stuff, ya know. Clint Black + Randy Travis + Jon Anderson, and I can tear-up a guitar pretty thoroughly. C'mon! I suppose we would need a corporate sponsor, and that's where it all goes to hell, eh? Oh well, I wish I could spend a week in Mont-p... it looks pretty cool. Ok, back on topic... - BJS .obj file loader... pulls .mtl files... if reffed within .obj file? - BJS .mtl file loader... pulls texture file(s)... if reffed within .mtl file? - Texture files... they just get loaded. Been there.
  19. Wingnut

    Door designer (Work in progress)

    You ROCK, CLW! (mostly to The Doors) Beautiful!
  20. Well wasn't that a fun little tangent. When I invited anyone to talk about anything here in TWC... WHAT WAS I THINKING?!?! heh. (just kidding) https://www.babylonjs-playground.com/#91I2RE#83 There's our first needle. Animate by activating line 292. As you can see, the blue meter face (ring) or its stackpanel (panel) are a little mis-centered or something. Not sure why, yet. I'm using this image in 288 x 240 px size, and the image needs to be rotated -45 degrees. So, those factors could be involved (likely). Setting image.left = "4px" improves things... somewhat. This version has ALL of its mousePointer things removed. No clicking, here. The needle is a standard GUI Image control... not part of the custom ring control. This made me think about... What IS the needle? Is it a mesh? Is it a GUI control? Is it ANOTHER canvas of the custom control, and the needle is drawn on that 2nd canvas, so the needle is completely dynamic and self-contained on the custom control? IF a person decides it is a mesh needle, then... the ring control (meterControl) is best suited "for mesh" (as a texture on a plane, for example) and not for full-screen GUI's. IF the needle were drawn on a 2nd canvas BY the custom control... then it will likely look more like a thin triangle... and never like a real sewing needle. It is STARTING to "feel" like... ring with marks-making engine... is a control of its own. No needle (meterControl), no knob (dialControl)... just the blue-circle-maker with a powerful graduation-marks drawing func. LATER, it can be used WITH the knobControl, or the needleControl... to make a meterControl or a dialControl (compound GUI controls). We're thinking... "primitives" here. Let's go back to calling the blue circle with its marks... the ring control. By keeping the ringControl as a control of its own, it can more-easily be used for both texture-ADT and full-screen ADT. The programmer can determine if they want to use an imageControl for a needle, like I did... or an image control for a knob, or use the add-on (overlayed) GUI knobControl or needleControl. Or, use a mesh for needle or knob. More versatility, eh? *nod*. dialControl = knobControl + ringControl. meterControl = needleControl + ringControl. Modular! Cooooool... maybe. Anyone remember XBL ... xml binding language? We used it to bind XUL GUI things to other GUI things. I think we might be able to do the same bindings... using observers/notifiers. RingControl should be able to observe knobControl (communication across multiple parts of a single combo-control). But more importantly, dialControl.onValueChange can notify meterControl.setValue. Turning the dial, moves the meter needle. (Communications between multiple combo-controls.) Perfect! Later... dial/knob control... needs to be ready for rotary switch option. (oh no!) And... we might need an oscilloscope portal... with green display cycling thru all 11 of our Animation easing functions (pretty waveform ramps displayed across our oscilloscope screen). Cool! I fig that's a custom/shader material, perhaps. On a related topic, see the way this meter has the bottom of its circle... blocked by an area of black semi-circle? Here is another method of blocking the 'meter movement'... on a square meter. One more method... knurling the clear plastic meter crystal... to hide the meter movement. Let's call these "blockades"... meter masks. We'll surely talk more about meter masks/encasements... soon. Meter masks are possibly a necessity, used to keep direct sunlight from reaching the thermal-sensitive coil spring used in the meter movement (speculating). Party on. Comments welcome, as always.
  21. Wingnut

    Tutorial Talk

    Hi kids. http://doc.babylonjs.com/how_to/gui Me thinks that colorpicker is NOT a container. It is a control. @adam may wish to comment or be the one to adjust the docs. If nobody disagrees or adjusts the doc after some time, I will adjust. Also, after study, I think "Line spacing" and Resize to Fit" should be deeper into TOC hierarchy (...if possible. One more # prefix for each header?) Both should be subs/children of TextBlock, I suspect. "spacing" could be capitalized. Thoughts? Thx.
  22. Ahh, yeah, I didn't see -0.7 alpha. *sigh*. Thx dk. It's a pieced-together PG from an old model that somebody else made. I was backing the camera away from a culled backface and didn't even notice. DUH, Wingy. Sad. I swear I'm getting dumber by the hour. Perhaps Akatana can modify this playground, publish his sign.obj, sign.mtl, and sign.png files... somewhere CORs-clear. Then import them into this playground demo (and do some more saves). We can see what it looks like in the playground, and maybe do some hacking. Akatana, if it's possible for you, zip-up all three files and publish it somewhere where we can DL it. I need to quit putting unnecessary workload onto DK, though. Geez, Wingy.
  23. Hi Af. I think you are talking about the dialControl, and not the meterControl. The faceplate-o-marks (the control) doesn't need to rotate for the meter. Only the meter-needle needs rotating, or the circular bar-graph LED colors need updating. (which LEDs/marks are lit, and which not - the no-needle meter - more modern, non-retro). I suppose we should temporarily add a digital readout (GUI textBlock) below our meter/dial, for testing values. (Prefer blue segmented Quartz-Crystal LCD fonts - cool looking.) Extra credit for Nixie tubes. For the .upperRotationLimit/.lowerRotationLimit = null... dial, couldn't you analyze the control.rotation value, and know what happened? control.rotation/2PI == how many completed dial spins? You could do... dialSetting = (control.rotation * 100).toFixed(0); Then... a complete rotation would be positive/negative float 628, yes? A dialSetting of +/- 1256 (control.rotation = neg/pos 12.56 radians) means we did 2 complete dial rotations. That seems workable, but I make lots of mistakes. Who's going to work on the steampunk toggle switch and pilot light?
  24. Hi guys. I hear there are quite a few different .obj formats. I'm certainly no pro... regarding the whole situation. BUT... I think I have an .obj loader playground that broke in v3.2+. Not sure... and it might be predicted and understood... by the core team. https://www.babylonjs-playground.com/#3FV2X#25 You must mouseWheel forward to see the loaded .obj mesh. That... seems like the wrong mouseWheel direction. You can set the camera radius in line 14 (currently 20)... to -180, and get a decent camera position. (weird) But, the mouseWheel is backwards, still. Is the BabylonJS objectLoader plugin... healthy? Did it become z-inverted, somehow? Thoughts? (thx)
  25. Wingnut

    Scene observables firing order

    Oh, by the way... Hi Theodox... welcome to the forum! Good to have ya! List added... https://github.com/BabylonJS/Documentation/pull/1019 Needs approval/adjusting, then docs build-into-html, eventually. Observ-ables, animat-ables, vari-ables, there sure are lots of 'ables' around this place. How about a new system for doing matrix transformations? Transformers and transform-ables! errr... maybe not.