• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
FumeFX 4 - maxscript accessibility questions
#1
I've got a couple of questions in regards to FumeFX 4 and MaxScript:

1. I encountered a bug (?) where GetVel returns 0 unless Velocity is enabled in the viewport. This is quite bizarre and looks like a bug to me as I would expect any simulation data to be accessible at all times. Enabling viewport gizmos somehow doesn't feel like something one should have to do to get access to that data. Is that a known bug or a feature?

2. Is there a function which would inject maxscript code into simulation script (the one which user can set in General tab)? I can't find anything like that and I need to make an automated scene creator which also defines maxscripts for created fumefx grids.

3. Is there any way to access velocity, smoke or any other simulated data from outside the FumeFX "use maxscript" in the General tab? I want to build a tool, utility window which artists can just open and you retrieve velocity/smoke data of a selected FumeFX grid. It seems that GetVelLocal is only available if I put MaxScript into "use maxscript". So currently I have a maxscript which does that but artists have to copy the code from a file, paste it into "use maxscript" code slot, scrub through the timeline (UI is being open on PostLoad event) and only then they can click a button which retrieves velocity values. This is very silly to work with.
Senior VFX Artist @ Foundry 42 UK
  Reply
#2
Hello,

Thank you for your reports.
To answer your questions.

1. This is as designed as unless some channel is requested it is not loaded.

2. You can use GetPath "scrsim" to get scriupt path and replace it. Have not tried it, but it might work.

3. We do not have such access to fields as generally the max script is very slow for such usage. It would be probably better to write utility that handles FumeFX voxel data in c++.
However, feel free to email us with more detail and we might add support for such functionality to FumeFX.

Thank you.

Best regards,
Kresimir Tkalcec
  Reply
#3
Thanks for the reply!

Ad 1. It makes sense that data is not loaded until requested but isn't calling GetVelLocal actually a function which should force velocity data to load? You always call this function when you need Velocity data to be loaded so it kind of implies that it should be loaded.

Ad 2. I'll give it a try, thanks.

Ad 3. Is there any C++ documentation anywhere on how I could retrieve fumefx data this way? I guess it is all saved within fumefx files but I know nothing about this file format. I think I could save to VDB and read it from VDB but this feels like an unnecessary step to take especially that the data is already there?
Senior VFX Artist @ Foundry 42 UK
  Reply
#4
Hello,

We have the FumeFX I/O SDK for loading caches but as I understand this will not benefit you as you'd like to access the FumeFX from the scene and its data.
If you're experienced in MAX SDK and C++ we might add method to FumeFX' GetInterface() that would return the very same instance of our Voxel Flow class and we can provide header to this class so you can access members which would be the fastest method.

Please let me know.

Regards,
Kresimir Tkalcec
  Reply
#5
As a matter of fact I have two use cases. One in which I need to access data from the scene, another one in which I could access data from outside of max. So I would say I am interested in both the SDK and the implementation of GetInterface.
Senior VFX Artist @ Foundry 42 UK
  Reply
#6
Hello,

Please email us at support@afterworks.com and we'll provide you with the SDK.

Regards,
Kresimir Tkalcec
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)