Mikal's Forum Posts

  • Spine 4.1 support added. Yay! Sequence animation support!

    Updated to add spine-ts 4.1.19 runtime, also added Load Files ACE

    See updates here:

    github.com/gritsenko/c3_spine_plugin

  • Use 1.x versions of the plug-in to support Spine 3.8 (Dragon Bones exports can be updated to 3.8 using the formatted.)

  • Nice work, nice system.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Rad Ricky Congrats on the game release! Nice Spine animations.

  • R0J0hound no worries, I appreciate the comments anyway. I hope that Ashley looks at implementing something to support the derivative functions somehow.

  • R0J0hound - thanks for the comments, I'm hoping for something built into the C3 Editor to make this simple for the general C3 community.

  • At least for our game, we would be ok with putting out an alert that webgl2 is required.

    It would be welcome at least as an experiment (e.g. C3 beta) to try out using OES_standard_derivatives extension.

    That being said, how would we set C3 projects to get only a webgl1 context and not a webgl2 context?

  • The one caveat I have with this is there are some webgl2, glsl version 300 features that would be use useful (specifically derivatives, fwidth).

    They would be useful for a pixel crisp effect and depth map to a normal map effect.

    Of course, the issue is that other shaders would need to be changed to support version 300 (internal shaders, etc.)

    A project check box for glsl version 300 support would be welcome.

  • If you find you need an authoritative server, I recommend Colyseus. We use it using C3 JS scripting on the client (typescript and node.js on the server), there is also a C3 plug-in, but I don't know how to up to date it is.

    colyseus.io

  • You can play animations on different tracks, you can different skins per slots.

  • kindeyegames.itch.io/c3-3dobject-alpha/devlog/374260/example-in-game-player-texture-editing

    A quick example of in-game edit of texture is player-generated texture during runtime.

    Subscribe to Construct videos now
  • The typical way is to assign the properties to instance properties on construction in c3runtime/instance.js and then refer to those properties in actions, etc.

     C3.Plugins.Mikal_Example.Instance = class ExampleInstance extends C3.SDKWorldInstanceBase
     {
     constructor(inst, properties)
     {
     if (properties)
     {
     this.scale = properties[0];
    

    In action refer to the class property:

    	const newScale = this.scale * 2;
    

    for lib.js, since addons don't work with modules (e.g. import), I create a global pointer to the library/class and use that in actions.

    e.g. in lib.js I have

    if (!globalThis.myC3Lib) globalThis.myC3Lib = myLib;
    

    then in actions I use it by:

    const myLib = globalThis.myC3Lib;
    myLib.doFunction(this.scale);
    
  • mrzuf thanks and good luck with your game. As always I am interested in seeing the plug-in in-game, so please share some vids or pix when you can.

  • amazon.com/Mathematics-Programming-Computer-Graphics-Third/dp/1435458869

    The above is not JS, but the concepts are good and you can use the info in JS by leveraging the below.

    Also to use this info, an important JS library to be aware of is:

    glmatrix.net/docs/index.html - you can use this in C3 scripting by including the library as a module, etc.

    (C3 internally uses an older version of glmatrix for 2D and 3D rendering/camera.)

  • After a quick look, I think the materials are too complicated for 3DObject, 3DObject only supports simple diffuse textures.

    Looking at the model it has transparent textures and PBR alpha blend, metallic roughness, etc. which 3DObject does not support.

    One possibility is to bake your textures down to a diffuse texture. This can be done with different modeling tools like blender. There is a little description of this on the video on the itch site.