Mikal's Forum Posts

  • You do not have permission to view this post

  • A quick fix, try using classic mode rather than module mode for 'scripts'. This worked for me.

    Perhaps Eren can do a quick update to support scripts mode (things like globalThis for globals and const C3 = self.C3 at the top of the files that reference C3.)

  • I generally set scale to '1' and do not set aspect ratio, this feature was added by another developer and for me it does not work w/ my workflow.

    I use the normal ACEs for width and height to control the size of the Spine object when displayed at runtime. So, I do not need to control scale at runtime.

    If you find issues with setting scale to '1' and the image/character is clipping when animating, I add a transparent box in the Spine editor behind the character (use a small 10x10 pixel image as texture and stretch it cover the range of the animation in the Spine editor. Also center your character with that transparent box.) The size of this box defines the area that will be rendered, so make sure it's big enough to cover the range of animation.

    On the plugin web page I note this "Alternatively create a large transparent image in the Spine project behind your Spine character, this will can be used to set the bounding box size fot the C3 spine render." I think I'll elevate that to the recommended way rather than an alternate. Good luck with your work.

  • Yup you figured it out, nice work. Basically do not do any spine specific ACEs until the skeleton is loaded (there is a trigger and a boolean condition).When you are just getting started with this addon, I also recommend clicking the debug property and keep the dev console open to watch for warnings or errors.

  • Is it possible to use modules (import, export) in C3 SDK addon external script files?

    Right now it does not seem possible, because the external script files are not referenced with the module type in the generated index.html? Is there a way to change this or a different external file dependency type to use?

    Also, I am not sure this is another problem, but in preview, it _seems_ like when trying import, the path may not be intercepted by the service worker to change to something appropriate for import/export (in the way that included C3 project JS scripts do?) Heavy speculation here. The reason I suspect this is I see different import/export error messages in preview compared to using HTML5 project (HTML5 project error is just related to script not having a module tag.)

    This is the error I get on preview:

    Uncaught TypeError: Failed to resolve module specifier "./spine-gl-cache.js". Invalid relative url or base scheme isn't hierarchical.

  • Is it possible to get the plugin version at runtime?

    Scenario is, dev has deployed and are not sure what version of a plugin was used in the deployment, to check open up console, where the plugin could report the version on load.

  • The plugin focuses on using skins for this type of variation. See the top part of the page for info on skins, also see and try the mix and match example C3 project on the C3 Spine plugin page.

    en.esotericsoftware.com/spine-examples-mix-and-match

    Do you have any example art to share - to show what you are animating It's always interesting to me to see what people are doing with this type of plugin!

  • Hi! Thanks for checking it out. I suggest asking this question over on the Spine forums, I think they'll have better answers. My experience is you would be changing skins, you can look at the MixAndMatch example listed in the Spine plugin page up top.

  • Releases:

    • 1.26.1 Return w/o JS error from Expression/Conditions if skeleton not loaded.
    • 1.26.0 Add per instance debug enable ACE, return w/o JS error from Actions if skeleton not loaded.
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • R0J0hound Great example, really smooth, looks great. I added a simple gradient overlay for another little bit of sense of depth. I really like this style of 2.5D using existing features. I imagine for C3, could also use Z elevation, but it may not add much or improve perf that much.

    It's also possible to do this 2.5D style project w/ my FQZ plugin, but I always like a plugin free method better!

  • LordKhaos Check out one of the plugin examples here:

    construct-static.com/articles/downloads/46217/c3-plugin-sdk-v1-8.zip

    For example, look in the drawing plugin c3runtime/instance.js and search for "Script interface." Let me know if you have further questions. Also, I'm always curious, what kind of plugin are you working on?

  • Here's the api I am going to start with:

    esotericsoftware.com/spine-api-reference (set worldX, worldY, etc.)

    en.esotericsoftware.com/forum/Setting-Bone-Positions-During-Runtime-13890

    I think that's all the info I need to add an ACE to control bone position. It's on my list to do, but I have not scheduled time for it yet.

    Also FYI, I am using the spine-ts runtime with this plugin.

  • wertt22 Thanks for looking at this and your interest in this plugin. I have found ways to control the bones via Spine API, but they get reset by animation updates / ticks.

    So, I need to create a system to reset the bones to the 'override' setting after each animation update. It's definitely doable, so I will look into it, but I don't have a schedule for it right now.

    Your idea is interesting, but Spine only reads the JSON once on initialization, so changes to the JSON after a skeleton is loaded will not have effect.

  • Here's the basic formula for two color tint (you can also do it with non gray scale source image also, you can experiment with it.)

    Darker colors are more tinted by dark tint color, lighter colors are more tinted by light tint color. It does take some playing with to find good combinations though.

    texColor is the rgb color of the original texture. texColor.a is the alpha of the texture (used so we don't colorize transparent pixels.)

    finalColor = (1.0 - texColor.rgb) * darkTint * texColor.a + texColor.rgb * lightTint;

    The benefit is you can tint darker colors with one color and lighter ones with another color for more variety. It depends on your images though, if they are all one or two solid colors, then replace color might be the better way to go.

    I added an example Two Tint effect to my C3 effects pack, so you can play with it, if you want. If you don't have a key of my pack DM me on Twitter and I'll send you one (kindeyegames on twitter.)

    kindeyegames.itch.io/effects-for-construct

  • I created a simple animated Wind effect based on my SimpleSkend effect, now you do not need to use events to animate to get the wind effect and you can also control when the skend starts, so things like tree trunks can appear to be more stable.

    More info:

    kindeyegames.itch.io/wind-c3

    There are a couple of free keys available in the Construct Community Discord server in #effects.