Jump to content

Box rotation


Alby
 Share

Recommended Posts

I started to look at your code

I cleaned un-needed stuff to focus on the planes : http://www.babylonjs-playground.com/#12ZRI0#1

 

Well, from here, there are things I don't get :

        //Rotations of the panel        // First of all we have to set the pivot not in the center of the plane:        plane.setPivotMatrix(BABYLON.Matrix.Translation(0, -distance/ 2, 0));        // Then move the panel to endpoint        plane.position = vend;        // Then find the vector between points        var v1 = vend.subtract(vstart);        v1.normalize();        var v2 = new BABYLON.Vector3(0, 1, 0);        // Using cross we will have a vector perpendicular to both vectors        var axis = BABYLON.Vector3.Cross(v1, v2);        axis.normalize();        console.log(axis);        // Angle between vectors        var angle = Math.acos(BABYLON.Vector3.Dot(v1, v2));        console.log(angle);        // Then using axis rotation the result is obvious        plane.rotationQuaternion = BABYLON.Quaternion.RotationAxis(axis,-angle);

First, you translate the plane rotation pivot at -distance/2 on y local axis. Ok, I understand.

Then you set the plane at end point. Why ?

Then you compute the vector v1 between start and end point. Ok, understood.

Then you compute a cross vector from v1 and v2 (0, 1, 0) to get an orthogonal vector (axis) to v1 and v2. Why ?

And moreover why this fixed vector (0, 1, 0) ?

 

What do you exactly want :

- a text plane set in the middle of the box center and sphere center ?

- do you want it parallel to the world x0z plane and perpendicular to the box-sphere vector  ? if not what is the rotation basis... just given this initial vector ?

Link to comment
Share on other sites

Although I don't know yet how you really want to set these text planes, I tried to understand your (complex to me) way of doing.

I just noticed you rotated your planes, well, but without any extra constraint about the text orientation.

 

Let me explain : http://www.babylonjs-playground.com/#12ZRI0#2

If don't rotate anything (before quaternion application here), you can check all the texts are oriented the same way... because of the way the planes are created by BJS : everything is initially in the same orientation.

Maybe you would like to have all your texts initially perpendicular to sphere-box axis, wouldn't you ?

Or maybe you want to keep a small rotation on your texts then (not parallel to xOz plane)... I don't know

 

So, if I lazily just rotate all the texts of PI if they are the right side (plane.position.x > 0), I set a (raw and simple) constraint on text orientation, line 60 : http://www.babylonjs-playground.com/#12ZRI0#3

 

Now, let's reactivate the quaternion : http://www.babylonjs-playground.com/#12ZRI0#4

 

Is this quite what you want ?

 

Whatever you want to do, you just have to add an extra constraint about the text orientation because BJS set initially all planes (so texts) in the same orientation.

Link to comment
Share on other sites

Have you read this entire thread, J?  The pictures need to be billboarded, and upper and lower camera beta constraints were needed to keep those pictures from z-rotating when the camera went near the poles.  Billboarding and lookAt causes spin when the camera is too high or low. 

 

The pictures were operating semi-correctly, but I think Alby has some future plans for picture clicking.

 

The strides are the issue, and as far as I know, Alby is open to all sorts of ideas about those.  But, the strides (connector bars) will have text on them, and we are trying to come up with ideas about HOW to make that text be always-readable no matter where the camera orbits-to.  Yet the stride still is a connector between a picture and the sphere... and that cannot change, no matter the vewing angle.  Just like your network wires, they must stay connected to the nodes when the camera is orbited.

 

(I think..) The planeBetweenPoints function.... was an adaptation of a function called CylinderBetweenPoints (written for a differrent project by some smart person), so that adaptation naturally has some old (likely unnecessary) code in it.  I think Alby and I were leaving it as-is until we figured out how it worked.  :)

 

You're doing great, Jerome, but keep the pictures aboard and keep them billboarded as they were. Then notice the problems when the arcCam camera nears the poles.  We want to stop the camera from going too high or too low... to avoid that rotation.  Thus, the beta limits on the camera.

 

These latest PG's are "test jigs", right, Jerome?  You removed things "temporarily" so we could concentrate on the actual problem, right?  Cool.  Just keep in mind that viewing the text on strides from the top/bottom... is not an issue, because the camera won't be allowed to go that high or low.  At least, not yet.  :)  One-axis billboard mode on the strides... might fix that, too.  The planes could follow the camera up and down, but never left/right.

 

A complicated formula COULD be applied to the pictures... which would rotate the pictures on the z-axis.... to compensate for the natural billboard z-rotation seen when the camera nears the poles.  But I'm sure not qualified to try that.

 

Yep, planeBetweenPoints is the problem area, J... and I should have informed you of that function's history/origin.  Sorry about that.  I don't think Alby understands how that function works, because its borrowed from another task.  I know I don't understand it... and that's why I left it alone.  It scares me.  :D

 

Okay, I'm sure Alby has more information about the objective.  I should not try to speak on your behalf, Alby.  I probably said it wrong.  Jerome/Alby, you both speak French, so feel free to talk to each other in native language, public or not.  I can run it thru the translator.  After all, I just climbed aboard Alby's project like a parasite, and set up camp, without even being invited.  How forward of me, eh?  :)

 

Thanks Jerome, and sorry again about not giving you the full story.  PlaneBetweenPoints is definitely a place needing adjustings.  It's rotating is just "plane" broken at the moment, but it .positions the plane correctly, and it's setting the length of the strides correctly. 

 

After the initial rotation repair is done, THEN some kind of "x-invert the text when viewed from the backside" for the strides... is still needed.  OR... two-sided text... written in one direction on one side, and in the opposite direction on the other side.

 

The only work I've done on this project... is with the dynamicText... getting it to look pretty on a rectanglular plane with max font size (avoiding too much text plane whitespace).  Oh, I've also talked and talked and talked, but that's not really "work".  :)

Link to comment
Share on other sites

Try to follow, but for the moment I feel to be a bit at sea at my present level of knowledge!.... I think Wingy is more competent to answer to your technical questions as he did (Thx Wingy!) :o

 

I just can answer to the two last questions :

 

 

- yes I want if possible a text plane set in the middle of the box center and sphere center and the text centred in it.

 

- I want that text will always faces the user point of view where ever he is, so the text shoud be written I think twice on the text plane, one on each faces of it,

  because  when we turn around the "entity" when there is one face of a plane text where the text is written that becomes no more visible, we can see the same text  written on the other face correctly (left to right)

 

 

I hope to be not to much confused in my explanations!

 

And thank you both of you, Jerome and Wingy, to look so kindly at my "problem", hope it will help others, that's the goal !

Link to comment
Share on other sites

You are right, Wingy, you speak well :

 

my project goes in the direction of the link that Jerome gives : http://logiciels.iut...oto/weathermap/

But with more options and complete editing possibilities of all elements.

 

It is a challenge I want to achieve, unfortunatetly I cannot work full time, for the moment.

 

Thank you again fot your precious help, should all parasites be like you! :D .

 

PS : you don't speak to much, and all what you say is always very interesting and sometimes very funny!

Link to comment
Share on other sites

Today is the first time I've read this post.  WOW - lots going on here. :huh:   I tried to get through it all, but didn't have the hours needed to follow everything.  The two questions that stood out to me early in the topic appeared to be box/image rotations, and the increased framerate in using Wingnut's look at target example.  These have probably both been answered, but again, this is quite a thread to get all the way through.

 

In applying Wingnut's Look Now at Target example to simple scenes, I didn't experience an increased framerate.  However, in viewing Alby's earlier scenes, the vertex count was high, the faces of the boxes (although simple geometry) often filled a large portion of the canvas, and the framerate slow down appeared for me only when the camera was pointed and attempting to draw the vast # of textured faces.  I believe it was DK that mentioned that a limit on the camera's transforms might help - although IMO, there were allot of unnecessary rendering resource calculations happenning.

 

As for the rotating boxes/images, throughout the script there are references to both world and local matrices in both Euler and Quaternion, and the new box.position is being set as Euler. I haven't tried yet, but I would try setting the conditional transforms for the boxes using Quaternions and not Euler vectors.  And then trace all of the vector references back "by type" to really see what is causing the undesired behavior.

Just a thought.

Link to comment
Share on other sites

Interesting!  I don't think any of us have thought much about frame rates.  The limit that DK was talking about... was in regard to the z-rotating that happens to billboarded/lookAt mesh... when an arcRotate camera nears its orbital poles (when it nears minimum and maximum .beta values).

 

The pictures spin a bit... when the camera gets too high or low.  So, DK suggested we put a beta limit on the camera.  Post #54 sums-up the issue well, I suspect.  This isn't a huge issue, really.  We have been milking it along and talking about visualization ideas and having tea and scones along the way.  :)  It's a very social PG demo issue. heh.

 

Nice of you to come on-board, DB!  You actually know about quaternions, eh?  Wow.  I heard them explained like this one time.

 

Rotate around x, rotate around y, rotate around z (order matters), and then...  the fourth rotation... is how much rotation around that "arrow" that you aimed... with the first three rotations.  phew.  Scary.

 

Yes, please do experiments on http://www.babylonjs-playground.com/#12ZRI0   (and #1-4+)  ...at will.  The text planes (this is art) are in the correct .position, they have the correct length, but they need rotation loving.  :)  Thanks for any help you can give, and have given.

 

Again, I think the .position is correct on the above demo.  And size is good... they are long enough to do the stride.  Rotation/pivot?  A challenging, enjoyable, tea-worthy mess.  :)

 

My latest theory is that each text plane's pivot point... needs to be the center of the sphere.  Can we set a plane's pivot point to a place that is not WITHIN the plane's volume?  Can a plane's pivot point... be ANY point in (local?)space?  hmm.

Link to comment
Share on other sites

Hey Wingnut,

 

I understand more about the scene now, and see a few elements in the script I haven't previously worked with.  I also see that you're working with planes, and not more complex geometry as I had viewed in a couple of the links.  The framerate issue was brought up early on in the post, and as mentioned, I sourced your code and it worked fine for me.  So for this scene, I still believe the framerate slowdown was simply based upon where the camera is looking, as well as screen fill of textured objects.

 

I'll try and see if I can push quaternion values into the transforms of the image planes instead of euler vectors, as there shouldn't be these perceived issues using quaternions for this scene.  I would however expect the undesired behavior we're viewing pushing euler vectors.  This should be an easy one to solve - unless I'm missing something - which is often the case.

 

Cheers.

 

Edit-

And: Alby, you nailed it - Wingnut IS the comic relief around here. :lol:  Otherwise we'd all have to hate him, since he's just too good at this stuff.  

Link to comment
Share on other sites

@db :  I think not too good only in that stuff... also in the range of clever explanations and generosity in the time he spend to enlighten lost souls in babylon ocean!... thank you for your interest!

 

Just a addition about the function I wish to use (readable text between two elements what ever is the user point of view)... it should be not only functional between the sphere and a box but between two boxes (or other futures elements) where ever they are... so  each text plane's pivot point needs to be the center of the sphere... or the point where the user looks at?... Maybe I'm wrong in my deductions because my mind is rotating in silly ways trying to follow the explanations and assumptions about it seems a not so easy problem!

 

Any way thank you to all for the time and energy you spend to find a solution, hope one day to be able to do the same!

Link to comment
Share on other sites

Another question is it possible to use the function that where used in http://www.babylonjs...d.com/#12ZRI0#4 allowing to display these little texts in debug mode (box1, plane, skybox, and so on) 

it should be nice to be able to use it to write some text in this way where we want in a project...

 

sorry I try to delete that duplicated post but didn't find...

Link to comment
Share on other sites

@Alby

 

Je n'arrive pas bien à comprendre ce que tu souhaites faire :

- mettre les plans de texte à mi-distance sur le vecteur sphere-box : ok

- faire en sorte que le texte soit toujours lisible, càd lettres à l'endroit : ok

et ?

pour l'orientation/rotation, tu veux que les plans de texte soient :

orthogonaux au "sol" (le plan xOz) avec l'arête de la base du texte parallèle au sol

OU

orthogonaux aux vecteurs sphere-box (dans ce cas, j'imagine que tu souhaites en plus que la base du plan texte soit parallèle au sol) ?

 

Pour que le texte soit lisible correctement des deux côtés, il te faudra probablement "coller" deux plans de texte, identiques, orientés dos à dos et laisser le backfaceculling activé pour éviter les problèmes de z-fighting.

L'option DOUBLESIDE disponible pour certains types de mesh n'inverse pas la coordonnées de la texture appliquée au mesh, mais la rend simplement visible de façon identique des deux côtés : le texte serait donc inversé (droite vers la gauche) d'un côté.

Link to comment
Share on other sites

Alby, regarding the use-a-label-anytime question... yes it can be done.... but there's problems.  First, look at this monster scene by DK.

http://playground.babylonjs.com/#2FNT2E#1

DK used a magic function "hijacking" (override) in lines 190-192.  It turns OFF labels for any scene item (mesh, light, cam) whose name begins with *.  Fancy, eh?

BUT... debugLayer ALWAYS uses .name.  So, you must name your mesh per the message you want to display.  IF we can talk DK into changing this line ... into being ...

_this._renderLabel((mesh.localLabel?mesh.localLabel:mesh.name), projectedPosition, 12, function () {

...then we'd have some more power to do label over-rides.

And, you can build your own layer system...  AlbyLayer...  its a drawing canvas placed atop the scene... and you can build your own labeling system that would do multi-line and wordwrapping.  Wow!  Party!  EVERYTHING is do-able with BJS.  It's the hardware that's holding us back. :)

Update:  http://playground.babylonjs.com/#RFFFQ#2

By hijacking _syncData (lines 84-148), I was able to put an option for .localLabel on mesh, lights, and cameras.  (using modified lines 106, 122, 138).

By hijacking _renderLabel (lines 2-52), it gives us some font and style adjustability on the labels.  But keep in mind... that this label system does not allow line breaks and does not word wrap.  It CAN do those things, but it will take some more goofing-around.

Anyone can put these two functions somewhere in their code... and start using .localLabel with full power of http://www.w3.org/TR/2dcontext/.  (the 2d context object from hell)  :)

Link to comment
Share on other sites

@Jerome : Merci pour ta patience à essayer de comprendre ce que je souhaite obtenir à l'aide d'une fonction :

 

un texte placé entre deux elements (sphere - box, box-box, ou autres  éléments futurs)

 

- mettre les plans de texte à mi-distance sur le vecteur element1-element2 : ok

- faire en sorte que le texte soit toujours lisible, càd lettres à l'endroit : ok

 

Quant à l'orientation , j'aimerais obtenir la même chose  que pour les box_images, c'est à dire un texte qui soit toujours face à moi comme une sorte de version proche du billboard mode  mais en restant attaché aux deux élements choisis.

 

Je joins un schéma, ce sera  plus explicatif! :

 

http://toutbox.fr/albruno/TextPlaneBetweenTwoElements500,27835433.jpg

 

Voilà, on dit parfois qu'une image vaut 1000 mots, j'espére que ce sera la cas! ;) .

 

@Wingy : So it iwill be  possible to create AlbyLayer ;) ! I thing it could be useful in many cases, but we will see later, step by step, first "TextBetweenTwoElementsGoodOrientedIfPossible" :D

Link to comment
Share on other sites

Hey Wingy, you are killing me! ;)  Does sometimes your 3d mind stop? Do you sometimes sleep? :D

Any way thank you for your first attempt (succesfull) to create those label functions usable by everybody!

 

I would be the greatest liar if I say I understand completely what you have done :wacko: , but I don't desperate !

"Impossible n'est pas français"!

 

Just wondering if you say you are not an expert in babylon field, what are experts!?

 

Have a nice 3d day!

Link to comment
Share on other sites

:)  I really didn't write them.  They are two functions from the Babylon.DebugLayer... that I brought into the playground and modified slightly.  By doing this in a certain way (by naming the functions correctly), the framework uses the two funcs in the playground INSTEAD OF the two funcs in the framework code.

 

https://github.com/BabylonJS/Babylon.js/blob/master/Babylon/Debug/babylon.debugLayer.js#L86  (the framework's syncData func)

 

https://github.com/BabylonJS/Babylon.js/blob/master/Babylon/Debug/babylon.debugLayer.js#L195 (the framework's renderLabel func)

 

I pushed the RAW button in github, and then copy and pasted those two functions, into the playground.  Then I adjusted the name on one of them, removed a few '_this' and replaced them with 'that', and made some other minor modifications.  So you see, I did nothing very fancy or highly intelligent.  I used the Wingnut ax to modify an ornate and beautiful wood-carving made by Deltakosh.

 

Using the RAW button before copying BJS source code... retains the code-indenting after the paste.

 

But yes, I LOVE working with/on BJS... and I REALLY like all the people involved.  And boy, this a great place/way to learn about webGL and JS.  Also, I (sometimes) do lots of work on tutorials, and the forum itself is one big tutorial, so I try to heavily explain things... for future new BJS users.  AND, not many forum readers are native English speakers, so using multiple ways of explaining something... is also important, in case auto-translating messes-up one of the explanations.

 

So, upon the unusual occassion when I actually understand something, I explain it to death, so as to contribute to the forum knowledge base.  Unfortunately, current forum readers have to deal with my long posts, but they have all been very friendly about it.  It's yet another reason why I love this place and my fellow mad scientists and artists.

 

Thanks for the credit, Alby, but I ONLY modified the funcs and I did not write them or do anything requiring high-intelligence.  It's more a matter of "balls" and the abilities to search BJS source (github) for certain key-words... such as "debugLayer".  Deltakosh (and other contributors) does a good job at naming his variables and functions, and it's fairly easy to understand most of his code. :)  You'll be doing similar hackings and contributions soon, Alby.  Be well.

Link to comment
Share on other sites

Wingy, maybe you have just modified those inital functions (thank you to the creators!) but I am sure you could have created them with all the knowledge you have now about babylon !

And I think too that to modify a function needs sometimes high intelligence; depending on its complexity, because you have first to understand how it works.

 

Enough compliments for today! ;)

 

For the moment I'm trying to find an example of an input label, but I didn't find in the forum, maybe a wrong search!

 

By "label input" I mean for example , if you click left plus "t" on a text under a picture box  in my project, you would be able to modify, change the text in real time...

 

I don't think it is possible with dynamic texture to change it directly (as far I investigate) on the box where the label is written...

 

So I'm wondering if, as a replacment solution,  it is possible to open then a popup window, with background  transparence possibility, where you can use html5 and javascript, take data from babylon framework, change them, close the popup window when finished, and send it back to babylon  and of course display the change made.

 

I'm sure it is, but without an example I feel unable at present time to do it by myself.

 

So if you know an example somewhere treating that kind of problem, I would be grateful forever to you! :D

 

 

PS: I'm sure I'll become one day a nightmare for you, with all my questions, so forgive me in advance!

      If it happens I promise you to buy an indian  dreams catcher ;)

 

Be cool!

Link to comment
Share on other sites

dynamicTexture, as its name tells, allow to dynamically change a texture.

So you can change a text value onto a texture of course (whatever the way you get the new text value) !

 

Since texture generation is a bit expensive, don't try to generate many new dynamic textures each frame but only when needed.

Link to comment
Share on other sites

Thank you Jerome for the light you bring  in the dakness of my mind ;) !

I will make some attempts, just the time to find a way to simulate an input state.

 

But I think the popup window should be another complementary solution able to manage more data  together (in my case for instance  changing picture and text,  the box dimensions, all displayed together in a window )

So if you have encountered such an example... (popup window and one data from bab displayed in it)

Link to comment
Share on other sites

Hi gang.  There is another option to the labeling issue.  HTML.  Since we/you have the screen x/y position after a click/pick, we/you could use CSS position: absolute, along with CSS top and left settings... to place html nodes (elements) anywhere on the canvas.

 

IF you use that method... you have full-power html FORM stuff, anywhere on the screen, any font, rounded corners, word wrap, multi-line, background image, animated gif/png, and all other HTML/JS special effects... right there in front of each picture. 

 

Really, it's the only way to go, because it has so many advantages.  But it won't "fly around" real well during camera pans.  Maybe only use html when user is in "edit mode"  (a mode where the camera cannot fly, temporarily).

 

To do this, you will need to "borrow" (or write your own) code like Deltakosh uses to place his labels at the correct XY positions, and use it to set your HTML 'node'/'element' CSS top and left settings.   It's easy.  Maybe I'll try a demo, later today.

 

No need for hijacked/modified functions.  Just a little function... maybe...

 

placeDomNodeAtPickPoint(domNode, pickingInfoObject, optionalVec2Offset);

 

(keep in mind that a HTML node's "center" is top-left, so placement offsets will be needed)

 

Thoughts?  I love working with html.  Changing span.textContent is easy.  Input boxes... easy.  BLINK... easy.  :)  Everything becomes easy with html-over-canvas.  The pictures are each billboarded, so they maintain um... something.  The labels on the bottom of each picture... could use html FULL TIME, and fly with the camera pans. 

 

But there's one minor problem.  HTML labels will not go "behind" any 3D object when the camera pans-around.  They will always be in front of 3D scene items (just like debugLayer labels).  AND... HTML labels will need special width/height loving... if you want them to look smaller when they are (faked to be) far from the camera.

 

But maybe... only use an html INPUT BOX and not full-time html labels.  Just turn-on (or create/destroy) an html node WHEN you need one.  (like for text input).  After the user enters the text, just hide it with CSS display: none, or use node.parentNode.removeChild(node); (destroy it).

 

Imagine this.  Click on the canvas, and it makes a html button exactly where the click happened, and then you click again on that.  :)  Crazy!  Maybe set the button's onclick="destroyMe()" ... a function that removes the button.  What a great waste of clicking energy THAT would be, eh?  heh

Link to comment
Share on other sites

A suggestion....

 

I think it should be nice to  create a post named "Library of users functions" where everybody could put a function. that (s)he created or modified, so sharing it easily with all babylon's community

 

 

it should include

 

  • The name of "creator" and the "modifier"
  • The version number
  • the field of the function (animation, text,and so on)
  • An explanation about what it does exactly
  • An example
  • What should be improved

 

 

So all the community could easy find a function for its need (if it exists)  without to have to create it again, and so devlop quicker his (her) game, application,...

 

What do you think?

 

 

Oh, Wingy, I have a problem, I should need a function that can translate a path of a box from the eight dimension to the four dimension but without going through the sixth dimension, could you help me :ph34r: ?

You scare me, always a soluce to a problem; does it happen you don't find one?! :D

Link to comment
Share on other sites

It's a great idea, Alby... and as Jerome stated, github does most of that (except the talking).  I think they are called "branches".

 

There are issues, Alby.  Let's say you went to Deltakosh with a bug report.  HE doesn't know which "add-ons" you are using, and he doesn't know the quality of the programmer who coded them.  Many users code things and want them included as a feature in the framework, but they don't know the "far-reaching ramifications" (FRR) of the code "hack".

 

So, Deltakosh has a real struggle trying to find the issue... because you are using non-official mods... and they haven't been tested for FRR.  The "bootleg" function runs fine, in many projects... until that one special day... when a user tries to use it with... say... post-rendering pipeline.  Then, KY-POOM, crashes the framework...  global variable collision... just a nightmare to find, and it's caused by "Ed and Terry's Amazing DepthRendering SpriteParticle Emulsifier" function.  Deltakosh doesn't even know it exists, speak nothing of knowing if you have it installed in your project or in "his" framework code.

 

We did a perfect example, recently.  SpriteFire wanted a screenshot maker that didn't try to auto-download the screenshot on the newer browsers.  I hacked a function for him that avoids the auto-download.  But someday, he may come to the forum with...

 

"Why doesn't my screenshot do auto-download like it says in our 'Render to a PNG' docs?"

 

Deltakosh answers: "Can you make a playground showing the issue, please?"  :D

 

Wingy answers: "Are you still using Ed and Terry's Amazing DepthRendering SpriteParticle Emulsifier?  You forgot, dincha?"

 

Alby, it all can be done, and is best done with github branches, I suspect.  Your ideas are excellent, Alby, but somebody just like you... had the same ideas.  GitHub caused such things to become SO easy... that they became not-easy.  :)

 

But really, one of the nicest ways to find a "magic function" is to seach the forum for perfect keywords... and keep trying.  Also, use the BabylonDocs searcher.  And there's one other way to find the magic function.  You can ask on the forum, so we can all help in the search or coding.  And then there is bribing/annoying the Gods... to write the perfect function for you.  (limited success)  ;)

Link to comment
Share on other sites

Hi Wingy, I understand your reluctances about it through the indirect experiences you met, that's why I suggest that before putting in an potential plugin, to test it in any kind of situations (quality assurance) and if they use adds-on, only the one that were tested too the same way.

I think also that to centralise all this functions together and later in a possible plugin could be a nice feature to avoid searching during 1000 years through 1000 post, except if there is a magic search (hello, is there anybody there ? :rolleyes: )

But you are right sometimes too easy causes the opposite, that's why buddhist propose to follow the middle path! ;)
 

 

I made a post about that centralisation : http://www.html5gamedevs.com/topic/14215-centralisation-of-functions-created-by-users/


So if you could feed that post with some of the gold nuggets you created (I'm convinced of it!)... even if they are coded by the worst coder of the planet!

By the way, oh :wub:beloved Wingy :wub: , if you have time could you made a "simple" example of the html stuff. you suggest (in 10 seconds maximum :P )..

By example an input text to change a text under a choosed picture or text panel in http://www.babylonjs-playground.com/#12ZRI0 ... so we could see how it works (maybe we could translate it later in a function? :rolleyes::P )

 

Thank you in advance, the worst coder of the world!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...