Author Topic: Animated texture and Unity  (Read 4062 times)

Why substance "Generates" maps every frames?

In Unity, the fact of generate a map every frame (about 60 times per seconds) is just too heavy!
Imagine a simple case, I want to switch my diffuse map 60 times per seconds to get a fluid animation, there isn't a way to load/generate my 60 diffuses maps just one time, at the first loading, and switch between them without regenerate them at every frames?

Honestly you should use a spritesheet instead of this (way more performant that regenerating your texture in real time)

BUMP!

So my big question is, how to create a sprite sheet based off of a graph that will fill each offset frame on a grid and step the animation each time???

Anyone who can answer this for me gets the biggest gold star EVER.

If you want to do that, it's better to generate the atlas in a single graph I guess, better than generating 60 and building the atlas in runtime.

If you want to do that, it's better to generate the atlas in a single graph I guess, better than generating 60 and building the atlas in runtime.

Hi,

@crimson97430 Yes in this case you should try to create an atlas texture as mentioned by dactilardesign . If you are wanting to use Substance, please take a look at this tool. It's designed to make an atlas in Designer. Please note it's designed to take materials as input. https://share.allegorithmic.com/libraries/18

The animation will then take place in the shader in Unity. Substances are not designed to be used for animated textures per frame.

Cheers,
wes


Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

In my case, the idea is to NOT do any substance work in unity, as we are creating a VR game, and we need all the CPU/GPU we can get. I basically just want a texture sheet filled with frames of animation, and I was hoping SD could be used to generate them, as it supports animation and looping frame textures.

In my case, the idea is to NOT do any substance work in unity, as we are creating a VR game, and we need all the CPU/GPU we can get. I basically just want a texture sheet filled with frames of animation, and I was hoping SD could be used to generate them, as it supports animation and looping frame textures.

Ah, I see. SD isn't really designed for this type of work. The animation support is really only based on the frame rate of the substance engine itself. It's not helpful for being able to generate a different texture per texture sheet tile. In Designer you don't have access to a timeline as well to play the animation.

Cheers,
Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

Thanks for the response, these sure sound like features that would be great if they existed ;-)

As such, I have heard from various people on these forums that timeline support for scrubbing frames would be valuable to have down the road. I am aware of substance player having this, though I feel iteration within SD is faster when things are within easy grasp.

So I guess there is not much way of getting this kind of behavior, short of blindly authoring frames and trying to preview manually... pity, cause it was so close to a powerful approach for VFX artists.

Thanks for the response, these sure sound like features that would be great if they existed ;-)

As such, I have heard from various people on these forums that timeline support for scrubbing frames would be valuable to have down the road. I am aware of substance player having this, though I feel iteration within SD is faster when things are within easy grasp.

So I guess there is not much way of getting this kind of behavior, short of blindly authoring frames and trying to preview manually... pity, cause it was so close to a powerful approach for VFX artists.

Hi,

I asked the devs to take a look at this post to see if they could provide some more insight or information.

Cheers,
Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

Thanks for helping get some more eyeballs on the issue Wes, you're a superstar as usual ;-). I look forward to some possible things to try and get going here.

Thanks for helping get some more eyeballs on the issue Wes, you're a superstar as usual ;-). I look forward to some possible things to try and get going here.

Thanks very much : ) Happy to help. I don't think this is anything we have planned soon but we will take a look.

Cheers,
Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

Coo, yeah I just feel like there is so much missed potential here for VFX artists to using this package for creating procedural effects for games and film. The power to quickly create realistic natural effects is certainly there, and with a little more exposure to the user could be pretty amazing.

Currently, we have been able to get some pretty good results for our game's (Vox Machinae) particles using SD, but are missing animated textures from the mix. I have made it so our engine (Unity) picks randomly from a set of 4-16 different texture sheet options to randomize our particles, but it could be so much better with fully animated textures. There is really no technical limitation on the game-end of things, only the issue of generating source material.

Here's an example of some of the weapon particles in action:
https://drive.google.com/file/d/0B0Lm0K4M1manZ2N4cXNoTkFOV2c/view?usp=sharing

Hope that helps visualize the kind of effects we plan to animate.

There's also this substance on Share for creating sprite sheets :

https://share.allegorithmic.com/libraries/20

The texture sheet node on share looks great, but it's really only made for laying out source textures, and not for generating them over time. The bit that I'd really like to get help on is the generation of unique frames for the sheet itself.

Basically I am looking for a way to ouput the results of $time to maps for laying out within SD, and then combine those in a row for the resulting texture sheet. I guess this really doesn't involve Unity so much except that it's the target use for the assets hehe.

The only thing I really see having this sort of option is the frame animation output option in Player that will spit out sequential images of the frames that I would then have to re-import and hook up to offsets to get them lined up in sequence. A bit of a bummer for a workaround, as it seems this should already be possible from within SD itself.
Last Edit: December 28, 2016, 02:14:38 am

The texture sheet node on share looks great, but it's really only made for laying out source textures, and not for generating them over time. The bit that I'd really like to get help on is the generation of unique frames for the sheet itself.

Basically I am looking for a way to ouput the results of $time to maps for laying out within SD, and then combine those in a row for the resulting texture sheet. I guess this really doesn't involve Unity so much except that it's the target use for the assets hehe.

The only thing I really see having this sort of option is the frame animation output option in Player that will spit out sequential images of the frames that I would then have to re-import and hook up to offsets to get them lined up in sequence. A bit of a bummer for a workaround, as it seems this should already be possible from within SD itself.

Hi,

I can only second that!

Are there any new insights on that topic?
I am as well looking for a solution to create sprite sheets consisting of sprites which are animated over time and looped within Substance Designer.

It would be an immensly helpful functionality for VFX of all kinds and would add a whole new dimension to Designer.