Mikal's Forum Posts

  • Great work, definitely watching this thread... at the moment I am trying to take your code and add it to my 3DObject plug-in (for C3). It will be interesting to see how much perf it takes for animations (and for creating a nice structure in my case of position and uv for using the C3 Quad3D2() API to draw the triangles with texture.

    I am also translating the glmatrix API to version 2.0 (which I am already including in my plug-in.)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • More updates, details on github

    1.48.0 Scripting interface for Apply slot colors, scripting interface for addCustomSkinOutfit (quickly update custom skin from object)

    1.47.5 Make compatible with ProUI plugin for scroll lists

    1.47.3 Add bounding box override checkbox (can set bounding box in property, no need for transparent bounding box)

    1.46.0 More animation scripting interfaces

    1.45.0 Animation scripting interfaces

    1.44.0 Palette loading optimization (if only a few palette entries need an update, just update those areas of the palette texture, otherwise update the entire palette texture.)

  • I moved on from this experiment, focusing on my 3D Object plug-in instead, since it’s better integrated with C3 (however does not have animation/lighting like Babylon).

  • You can put model viewer on another canvas over or behind the C3 canvas.

    modelviewer.dev

  • Image point is interesting will take a look at that.

    I am not sure what you mean by the Jeep model, can you explain more?

  • I will likely add frame based interpolation for animation in a month or so. Blender can output obj frame based animation and I will find or make a tool to make a JSON format per animation. It is very unlikely to work directly with mixamo. However I think blender can use mixamo and then output frame objs.

  • GeoffB In the Spine program, try adding a Spine bounding box (rectangle) in the Spine project with a name you will remember. Make it small and attach it to the appropriate Spine bone, centered on where you want to pin the C3 Sprite.

    Then, in C3, use the C3 Spine object bbox expressions to find the x,y location and move your C3 sprite to that location, read more details here (check out the notes on update location also):

    github.com/MikalDev/c3_spine_plugin

  • Is that just in a scripting block in the event sheet? Can you give more context? When I try it in a scripting block, I don't get that parsing error marking. Ashley has noted in the past that script blocks are default inside async functions, so you can use await in event scripting.

    Ah, if you are doing it in just a separate C3 JS script file, you need to make the function calling the below function async also, for example:

    async function readJSONFile() {

    const jsonData = await runtime.callFunction("readJsonFile")

    console.log('jsonData:', jsonData)

    }

  • You could try using 'await runtime.callfunction()' (I hope that runtime.callfunction() was made to support async behavior.)

  • Please use a later version of C3 (for example r257.)

    The new version now renders in the editor but relies on a later beta version of C3. The feature should also be available in the next stable version of C3.

  • Yes, this is only for 3.8 right now. I will start working on a 4.0 update after summer. Thanks for checking it out.

    I have not used Spine 4.0+ that much, so I'm interested in what are the nice new features that you like to use?

  • Some answers:

    1) You can have multiple bound boxes in the Spine project and C3 can differentiate between multiple bounding boxes at runtime. (The expression for the bounding box center and for the poly points use slot and bounding box name.)

    2) The bounding boxes in Spine just provide position and poly data in C3, for hit box and collision, you would still need to align some other sprites with either the center position or use a mesh to have it follow the poly points. I don't think you can get away without having _some_ sprite along with the Spine object. It has to do how the Spine object is rendered, it's basically rendered into a texture which is then used as texture for a rectangular C3 drawing object, so C3 is not aware of all the pieces being rendered. Check out the example project on github for the image you showed below, it shows how to use the poly point of a bounding box to deform a C3 sprite.

    Performance wise, using just the bbox center and a C3 sprite will be faster, because you can just set the position of the sprite in one action. To match a changing bbox (e.g. deform) with a sprite w/ mesh points will require more perf due to C3 calculations of bbox, etc. when mesh points change.

  • I would also like to add Editor (and runtime) render of changing the Z elevation of the object (how far or close to camera), but currently the C3 SDK does not support it in editor. I have requested this in the new C3 suggestion platform.

    If you would like to see 3DObject rendered correctly in the editor (with location, scale, rotation _and_ Z Elevation) can you please upvote the suggestion here:

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-32

  • Thanks, will add to the new suggestion platform.

  • Ashley any thoughts on including this to the SDK? If it exists, perhaps another nice alternative would be to add AddCommonZElecationACEs() (if that's available like AddCommonApperaranceACEs(), etc.)