CMJon Posted August 5, 2015 Report Share Posted August 5, 2015 Hi, I am using 2 Spriter animations for dynamic lighting in Construct 2. These Spriter animations are exactly the same, except one is made of normal maps (purple and blue textures). In C2 they are set up to have the same animation triggers and the normal map is on a layer above the regular character I am able to get the dynamic lighting working well by syncing the normal map (normalmap) onto the regular animation (character) in C2, both the following work: *Every tick = normalmap - set current time in Animation to character.timeRatio *Every tick = normalmap - set current time in Animation to character.time millisecond But sometimes, randomly when changing animations, both these ways to syncing the animations fail and the normalmap is visable over the character for a few frames before it re-syncs It is almost totally random when this happens, most of the time it syncs and works perfectly, maybe one in ten or twenty times when switching animations the sync fails. Is there anyway to lock these two Spriter animations together in a perfect sync? Another way to look at this is that I need 2 Spriter animations to run perfectly ontop of each other, switching between animations, never losing syncronisation. They need to be seperate Spriter files, as one needs to be on a different layer for the normal map shader effect. I would really appriciate any help. Thank you! Quote Link to comment Share on other sites More sharing options...
Trixt0r Posted August 5, 2015 Report Share Posted August 5, 2015 Why are you creating two animations, when the only difference is the normal map? There are various ways to achieve dynamic lighting with Spriter. Instead of creating a new animation with normal maps, why you do not use character maps, and render the animation once with the sprites and once with the normal maps? You could calculate the animation render the sprites, switch the character map and render it again. This way you save CPU time, since you only need to calculate one animation. I really don't know how C2's rendering pipeline and your dynamic lighting works in detail, but another way would be to pass the normal map for each rendered sprite to the shader and do the dynamic lighting. Is your lighting based on deferred rendering? If so, you could simply go with the way I described before. - Trixt0r Quote Link to comment Share on other sites More sharing options...
CMJon Posted August 5, 2015 Author Report Share Posted August 5, 2015 Hi Trixt0r, Thanks for the suggestions, I'm using this plugin for C2 dynamic lighting. The shader effect is set up on the layer with the (normalmap) animation on, (character) on a regular layer below. The way I've set up works most the time without a problem and memory useage isn't an issue (PC game with low memory overheads anyway), it's almost perfect for what I need. I just need a way to sync up 2 Spriter animations without there ever being any delay, or someway to totally lock the timings together. Quote Link to comment Share on other sites More sharing options...
Mike at BrashMonkey Posted August 5, 2015 Report Share Posted August 5, 2015 Hi CMJon, I'd have to see the capx to know for sure, but the event "*Every tick = normalmap - set current time in Animation to character.timeRatio" seems strange to me... The current time of the normal map object should be set to always equal the characters current time... so, you should only need one event, having nothing to do with the characters time ratio. It should read "*Every tick = normalmap - set current time in Animation to character.time milliseconds" I could be wrong. Feel free to email me the capx and I can take a look. (mike@brashmonkey.com) Quote Link to comment Share on other sites More sharing options...
CMJon Posted August 7, 2015 Author Report Share Posted August 7, 2015 @BrashAdmin, Thank you, I found a bug caused by how I was transitioning between animations. "*Every tick = normalmap - set current time in Animation to character.time milliseconds" did the job perfectly and now it's all working well. Quote Link to comment Share on other sites More sharing options...
Mike at BrashMonkey Posted August 7, 2015 Report Share Posted August 7, 2015 I'm very glad I was able to help. Cheers Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.