X3M's Forum Posts

  • Bought this Plugin. It seems really cool and powerful, great work! : )

    However, I encountered this problem....i imported a obj mesh and i applied a diffuse texture...when i launch the preview with NW.js it gives me this error "cannot set property 'diffuseTexture' of undefined babylonOBJ_plugin.js, line 1135 (col 27)"....only when i apply texture....i have version 240 and the last nw.JS...

    You dont need to apply anything to the .obj file, it already comes with a .mtl file which holds all information of diffuse textures.

    So you only have to import : the .obj , .mtl and images files

    The library will take care of everything.

    Here is an example of a car model that I've downloaded from the Internet :

    Most 3D models websites when it comes to free stuff do not provide good quality obj models, and they often can be missing some image files, so here are some good websites where you can download well made obj files :

    1- https://www.cgtrader.com

    2- https://www.models-resource.com

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hi,

    can one minify scripts including this plugin?

    Thanks!

    Yep

  • matriax I'll figure out a way how to make a bullet behavior

    MATAGUIRIS You can already use raycasting

    They are used as expressions to either return the mesh name which intersects with the ray, or the x y z position of the intersaction point between the ray and a mesh.

    Here in the example, A ray is casted downwards from 0,20,0.

    It is casted vertically because I chose the Y axis (0,1,0), its downwards because its 1 and not -1, if I chose -1 the ray will go upwards.

    So if there is a mesh under the position 0,20,0. The game will tell you its name and the contact point.

    matriax Yep thing will be done the right way in 0.6, I just need time to make everything set.

    Now work rate is at 200% and things are done quicker since I switched to VS code that gives codehinting (At least for Typescript) , (Props to fuego96 for recommending me the software)

  • Unfortunately it's not possible

    Again no one of you has made a capx where he explains why C2 cloning method is easier and better , and I mean an example in which you clone a sprite and then control one of them.

    If the example is much simpler and clearer than my method with MeshArray, then I'll rewrite all the new plugins. So its up to you to prove it.

    And if anyone missed my method , here is it : http://sendvid.com/xefvxtkh

  • Isn't this much better for your umbrella demo : http://www.babylonjs-playground.com/#29F0EG

    Doesn't use much CPU

  • Infact all the SLE plugins are data models used mainly when you load an external scene, you tell them to go fetch this or that instance that is located in the 3D scene, but they can also be used to make them hold new instances when making a scene solely in C2.

    Edit: Yes there will be a convex mesh collider but only for CannonJS, OimoJS does not support such things.

    This type : http://schteppe.github.io/cannon.js/demos/trimesh.html

    And this type : http://schteppe.github.io/cannon.js/demos/bunny.html

    But as I told you before, the Mesh option which is in the Physics behavior actually works if you are colliding a sphere with a complex mesh.

    In fact if you happen to use the Mesh collider, you will notice a warning in the console sent by the library : "MeshImpostor only collides against spheres."

  • fuego96 Yep there will be a solid particle system which for making rain drops and such things that should bounce of a surface.

    Here is a vide showing how you can clone a mesh in 0.5 :

    http://sendvid.com/xefvxtkh

  • fuego96 Yes that is going to done

    matriax Well the thing is, I can make the System->Create object compatible, but this would make a lot of features that depend on Name expression non functional. And making it would mean rewriting the new plugins all over again.

    Currently I'm going to add the Change name function, 3D sound plugin and New Mesh Array so that instead of cloning, you will just have to create new meshes 50 times for example by only one NewMeshArray, here is an explenation :

    NewMeshArray

    Box[1-50]

    Distance between clones : 0,50,0

    Var X = 0;

    Var Y = 20;

    Var Z = 0;

    NewMeshArray-> Translate by( Suffix ID: 21, X,Y,Z); // Translate the mesh Box21 by 20 on Y axis.

    This will make everything much clear and simple, you wont have to make 50 New Mesh instance on the C2 Editor.

    But for now, I need to verify each plugin and add all remaining functions that I left and also retest everything.

    So 0.6 will take some time to finish.

  • I was not offended in any way lol !?!? Yes ofcourse I'll add it in 0.6.

    Is there any other requests ?

  • For now, the New plugins and the SLE plugins can be used together since they are following the same naming system , for example you can use a MeshArray plugin in both a scene created from scratch or in a loaded scene. This is the biggest advantage of the name expression.

    But, what you are requesting can be done if I ditch the naming method and let C2 name the meshes like this : "Mesh"+this.uid

    Therefore you could pick any mesh by its UID. BUT, fromnow on , in case you all agree to ditch the name expression and to allow picking meshes by UID , you should know that you will not be able to use different plugins in the same projet anymore.

    So its either : C2 names the meshes so you get to pick them in event OR you name them and you get to pick them by name.

    I know that so many things will not be possible to do anymore if I change to UID instead of name. So I won't take any responsiblity for this.

  • Again, in your example you are not choosing which sprite to move by its name . So whats the point of cloning a sprite if you cannot access the clone you want ? You let C2 grab whatever sprite and change its position.

    To be clear: You cannot go to the event and choose Sprite 5 -> and then apply whatever action to it , But using my method, you can do that easily with the MeshArray.

    I want a capx where you clone a sprite and access several clones.

  • Can you please provide and example (capx) explaining how you make several clones of a sprite by calling their names?

  • 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 ...

  • 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.

  • How are you going to the change the name of something that is not returned ? System->Create Object does not give any clue about the new instance.

    I understand what you're trying to do, that can be easily done with the Mesh->Clone Mesh , you just have to pass the name, like in your example :

    var count = 0

    Repeat 100 Times

    {

    /////////////////////////New name, X , Y , Z

    Mesh->Clone mesh(count,count*100,0,0) // Put clones at X interval of 100

    System->Add to(count,1)

    }

    You get me ? Your clones are named 0 , 1 , 2 etc...

    How is System->Create object is going to give you a reference to the created mesh ? Since you want to change its name

    But of course I will add that possiblity in next version