matriax's Forum Posts

  • X3M Yesterday i worked on debug various things and maybe i found the problem, or one of the problems.

    When you clone a mesh using events you only clone the mesh in the 3D scene not the NewMesh.object that C2 can manage a thing that happens with Sprite.Objects. If you do a lot of mesh clones using events you only will access to the objects you created in the C2 layout(That have a name, UID, instances,etc..) but not the ones you cloned in realtime because this ones not have an UID to be accesed, instances or whatever C2 can control and assign actions.

    So, when we use the event "Clone mesh" and set a name , Babylon3D have also to create a NewMesh.Object and add the name in the properties , in the same way the Sprite.Objects does when in events you create an object, "spawn another object" etc... if not we can't manage this mesh using events because C2 not have idea this one exists, only exists in the Babylon scene render.

    Or maybe i'm wrong?

  • matriax I am going to add the Change mesh name function, but be aware that the things you two wanna do are just not going to work.

    I'm talking from the point of view of a coder.

    Does C2 have a Sprite array plugin like the MeshArray ? I guess not ...

    For us, we think like how C2 do the things with the sprite objects, their name, UID and the way that duplicate/clone and using family works, and the idea is have the same for 3D objects.

    If you say the change mesh name will not works, then we have to think in other way to solve that. We all want the same. For that i said ask help for users with big experience on plugins, to see if there is any way to solve this problem.

    In 2D if we duplicate the Sprite.Object in the C2 layout all they have the same name with different UID. In events if we said:

    On Hero Colides with Sprite.Object > do something . Will be applied to all the instances of that Sprite.object that have all the same name but different UID.

    But in 3D if we have 10 instances of the same object only will be applied to one Mesh.Object , the first one created because applies to the Mesh name in the properties. So we have to find a solution to manage 3D Mesh.Objects in the same way C2 do for Sprite.Objects.

    For us the first thing come to our mind is the action to change the Mesh.Name. Because we can have a family that have a Coin.Object and when start do some "for each" and change their names automatically and then use that family to apply an action to all the instances. BTW, this is still more a patch than a solution.

    The problem:

    Seems in 3D every mesh object need to have a different name, even for an instance of the same object to apply some action.

    Possible Solution

    Some way that the mesh name of the 3D object is the name of the Mesh.Object we create in the C2 layout. For duplicate objects Internally set the mesh name as "Object.Name"+"UID". So every 3D mesh in runtime will have a different name, but in the C2 layout we only see the name we set on top of the left tab, as we have for Sprite.Objects.

    And when we do an action on events related to a Mesh.Object this action will be applied to all instances of that Mesh.Object with their different UID.

    We don't know how C2 exactly do that for Sprite.Objects and how do the same for 3D, for this reason i think will be a good idea ask for help to rexrainbow or R0J0hound that maybe they know how to fix this problem.

  • > Do you mean a Function or an Expression :

    > - Expression means : Alert(Mesh.Name)

    > - Function means : Set mesh name to ("Box")

    >

    > Yes whatever that is I will add it.

    >

    Yea i meant Function... if that is the one that alters the Mesh Name.

    something like the bellow image... i just cloned a function in the action common.js just its not linked to anything so errors all over the place.

    the above image should change the bellow value

    You had the same conversation with X3M that i had days ago requesting the same action and talking about the same things.

    I also requested be able to change the name of the mesh in that properties in the left tab using events, and in the same way i sent him some screenshots, but told me this was unable to do because something that how C2 manage that and is imposible change the name of a mesh in runtime.

    In one of this conversations was born the MeshArray to at least to pick coins in one event, instead to create a pick event for every single coin(Coin001, Coin002,etc...) like in one of the early templates.

    ---

    The big problem actually on Babylon3D is manage the duplicate/clone mesh objects and their instances that breaks totally the C2 workflow. Maybe we can't explain what exactly we want, or maybe the Babylon3D or C2 SDK plugin not allows the things we are requesting in the way we want, and this conversations always seems to go nowhere.

    So, I suggest ask for help to rexrainbow or R0J0hound that are possible the most experienced members doing plugins for construct to fix this problem once in the best possible way.

    Some request for C3:

    Native Mouse Lock for Browsers and Desktop versions without need an external plugins.

  • McKack You get the MouseLock working in NW.JS? i have the same problem but i not understand very well your solution, can you upload your MouseLock plugin please?

  • The 0.5 version have Mouse Lock or at least he told me that here:

    https://github.com/matriax/Babylon3D/issues/4

    I still not search for that, still figuring how do all from scratch. A bit confusing to manage the X,Y,Z and camera target , hope with some template be all more clear.

  • The game has been released. 30 levels in total.

    You can get here:

    https://kronbits.itch.io/cube-rampage

  • OMG! What? :O , I guess this is the "little" surprise XD.

    This can be so awesome in all ways, i can't wait!!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • With X3M permiss i opened a github for Babylon3D, you can find here:

    https://github.com/matriax/Babylon3D

    WIKI - You will find tips, tutorials and videos related in how doing games using the plugin.

    https://github.com/matriax/Babylon3D/wiki

    ISSUES - Ask for help, Report bugs, Request new features,etc...

    https://github.com/matriax/Babylon3D/issues

    (Please Read This before post an issue)

  • Wait where do I pre-purchase?

    adcornaglia You can purchase in the scirra store:

    https://www.scirra.com/store/construct2 ... ition-2992

    Also look the first post regarding the "NOTE FOR BUYERS".

  • You see the old plugin because you not unistall the SceneLoader Edition plugin from Html5/Exporters/Plugin , The old one use a different folder so when you installed the new one that have new folders not overwrited the old and you see both ones.

    Simply remove the old one "BabylonSceneLoader" folder from the plugins and you not will see the old plugin on C2.

  • I commented the same days ago and if i understood well, the 0.5 will have plugins of a "new mesh object", "new light object" etc... with all the creation tools the original SceneLoader has for creating new stuff from 0 and change it referencing the new objects created in C2 using events.

    I didn't know we can use at the same time the new plugins and the 0.2 one with all that functions, i have to test it

  • Hii guys!

    Well, i'm excited with this new plugin, i can't stop testing every feature and try to do all kind of things.

    I was able with events linking the C2 "sprite" objects with a babylon3D mesh. So now i can create a level in the C2 layout, and when the scene is loaded, will recreate with 3D models that level i build in the C2 layout.

    Is a simple "On scene loaded"-> For each "sprite" object -> Clone "Object_name" mesh in X/Y/Z position. The X/Y/Z position is the "Sprite" X(width) and Z(height) position with their coordinates converted & corrected(2D>3D). For Y (Floor/plants) i guess the best option is use the layers system, will see. Maybe is primitive but works for now.

    In the same way, i made an object-mesh always get their position updated and create a 3D model moving with the original C2 behaviours because their are added to the "Sprite" object, and the mesh simply moves in the same % position the sprite does.

    So, i said, ok, but what can we do more with the babylon3D plugin? Maybe a 3D editor? I'm going to try... and after 1 hour this is the result:

    Some gif teaser:

    And if you are interested here is the 2min video:

    Subscribe to Construct videos now

    NOTE: This 3D editor was only a test to know the possibilities, stopped because an "Editor Edition" will be developed by the Babylon3D plugin creator when this "Scene Loader Edition" reaches the v1.0.

  • Some suggestions:

    Actually all the plugin is based on one object. Have you considered separate in two or three to make it all more readable and easy to find actions? Like:

    Babylon Scene ( Scene | Camera | Light | World | Sound | Overal settings )

    Babylon Objects ( Material | Mesh | Object | Particles )

    Babylon Physics ( Native | Cannon.js | Oimo.js )

    What you think?

  • I see, but the sprites are displayed in the C2 canvas and are visibles in the 3D rendering. Also a sprite with effects in the 3D rendering appears with the effect. Maybe there is some way/trick to get it working? I will try it for curiosity <img src="{SMILIES_PATH}/icon_razz.gif" alt=":P" title="Razz"> .

    ----

    i can't resist and did some demo, using the actions template. I edited the lights, speed, collision camera, emisive texture, created materials and meshes and this is how looks:

    Here some gif:

    Here the demo can be played: https://kronbits.itch.io/proto3d

    I was unable to add to the scirra arcade because the file upload system rejected the .zip saying:

    "The file extension .babylon is not a permitted extension to upload. "

    Seems changing the extension by other allowed works as X3M said by email. BTW, Ashley can you allow this extension to upload in the scirra arcade?