Chaos Corona Forum
Chaos Corona for 3ds Max => [Max] Bug Reporting => [Max] Resolved Bugs => Topic started by: ragnakim on 2014-04-16, 19:59:11
-
Hi everyone,
I searched the forum first, and found nothing regarding this problem I found. So I hope I'm not reposting a talked about bug.
I was trying to render, in 3ds max 2014, a liquid simulation using geometry made with Realflow. Basically using the realflow loader plugin. And the problem I found, is that in a still frame it renders perfectly. And you move the time slider and render another frame, and again it renders perfectly. The bug is when you render a sequence. Everything is animated correctly camera, objects, etc. Expect the real flow liquid. Its always stuck in the first frame. I've tried several thing and none worked. Even rendering with 3ds max command line.
The only way I was able to render the animation with the realflow simulation animating correctly, was using 3ds max's Batch Render, and painstakingly creating a "pass" for each frame.
Does anyone as the same problem?
Cheers
p.s.
Pardon my bad English :P
-
The same happens here... yesterday i try to render some hybrido meshes (bin mesh secuence generated from realflow) and the animation works for a single selected frame but not in animation render mode (just keep rendering the las selected frame in viewport).
Not a problem at all with particle emitters, just Hybrido related it seems.
-
The same happens here... yesterday i try to render some hybrido meshes (bin mesh secuence generated from realflow) and the animation works for a single selected frame but not in animation render mode (just keep rendering the las selected frame in viewport).
Not a problem at all with particle emitters, just Hybrido related it seems.
exactly. Its a strange bug. because you can choose any frame to render. and it renders correctly. I could only solve this temporarily by script. :-\
-
A script?... where? ... i'm facing the same situation on realflow and phoenix.
-
A script?... where? ... i'm facing the same situation on realflow and phoenix.
I'll try to find the script and post it here.
-
A script?... where? ... i'm facing the same situation on realflow and phoenix.
I'll try to find the script and post it here.
i'm also facing this problem with realflow meshes and hope you can find the script and share it whith us.
-
its not corona bug , its realflow plugin bug
-
its not corona bug , its realflow plugin bug
thank you!
-
We have just announced that we are offering free RealFlow 2014 licenses to all faculties & educational institutes.
I would encourage you to take full advantage of this!
Thanks,
Dan
education (@) nextlimit.com
-
We have just announced that we are offering free RealFlow 2014 licenses to all faculties & educational institutes.
I would encourage you to take full advantage of this!
Thanks,
Dan
education (@) nextlimit.com
While we have you here, what's the executive summary to supporting realflow in 3rd party renderers? Do you have some specific API we can get access to? Do you provide NFR licences for development/debugging?
-
Hi All,
I've attached the script I wrote to get around this problem. It'll render whatever's in your "Range" parameters in the Render Setup window - not what's in your Active Time Segment. It'll work with render elements too, renaming the outputs of both those and the main render output to respect the frame you're on.
Any questions, please email dbg@riverfilm.com. It's all commented so it should be easy to work out what's going on if you'd like to look or edit it.
--- a script to make Corona render Real Flow OK!
--- Created using Corona Alpha 7.
--- Created by Dan Grover at River Film. Any bugs or questions, please email dbg@riverfilm.com
--function to make a single digit number into a 3 digit number by prefixing 0's. Returns a string.
fn tridigit digits =
(
if digits.count >= 3 then
(
print "Digit already greater than 3 numbers"
return digits
)
else
(
if digits.count == 2 do return ("0" + digits)
if digits.count == 1 do return ("00" + digits)
)
)
-- close the RSD
renderSceneDialog.close()
-- set it to single frame
rendTimeType = 1
-- set the save output to true
rendSaveFile = true
-- temorarily store the main render output directory
actual_render = rendOutputFilename
--sets the variable that contains the render elements. re=Render Elements
re = maxOps.GetCurRenderElementMgr()
--calculates the number of elements
num = re.numrenderelements()
-- an array to store the element's current paths
cur_ele_path = #()
-- loop through the elements
for c in 0 to (num - 1) do
(
append cur_ele_path (re.getRenderElementFilename c)
)
-- perform a loop between all the frames you want rendered
for a in ((rendStart as integer)/ticksperframe) to ((rendEnd as integer)/ticksperframe) do
(
--go to the next frame to render
sliderTime = (a as time)
-- add's the frame number to the output filename.
rendOutputFilename = ((getFileNamePath actual_render) + (getFilenameFile actual_render) + "_" + (tridigit ((a as integer) as string)) + (getFilenameType actual_render))
--loops through the elements
for b in 0 to (num - 1) do
(
-- select the element
element = re.getrenderelement b
-- grabs the current element path
current_element_path = cur_ele_path[(b+1)]
-- add's 0's to it
new_element_path = ((getFileNamePath current_element_path) + (getFilenameFile current_element_path) + "_" + (tridigit ((a as integer) as string)) + (getFilenameType current_element_path))
-- assigns it to the element
re.SetRenderElementFilename b new_element_path
)
-- render the output
max quick render
)
-- reset the render outputs for the main renders...
rendOutputFilename = actual_render
-- ... and the elements
for d in 0 to (num - 1) do
(
re.setRenderElementFilename d cur_ele_path[(d+1)]
)
Thanks,
Dan
-
@DanGrover: A little tip: you can make the digits thing a lot easier (and extendable) by using formattedprint:
formattedprint 1 format:".2d" -- prints "01"
formattedprint 1 format:".3d" -- prints "001"
-
No s**t! I had no idea - thanks man!
-
Just to note, this is a problem with Phoenix FD liquid sims too.
The exact same behavior...render any single frame, no problem. Render a sequence...locked to the current frame.
(bummer)
-
script fixes the issue
not Corona-related
-
But does not solve one issue that arises. You CANT stop the rendering once is started using that script only way out is smashing ESC key until all frames are cancelled one by one. FAIR WARNING.
-
ok :)
-
Actually there is a better automated way of cancel the automated renderign of that solving script.
-
So is this really RealFlow bug? Can this be closed? Or does it work fine in other renderers, and becomes problematic only with Corona?
-
Issue unrelated to Corona.
Closing as resolved.
-
Hi all! I just thought I'd give you a tip on how to get around this issue as we also came across the same problem when working on a project.
We're using 3ds max 2016 which now supports the Alembic format.
To get around the issue of the frames not rendering, we exported the realflow mesh loader object to Alembic. This way we only had to re-import the exported Alembic file and the Realflow Loader plug-in is no longer needed :)
-
Useful tip for users who are rendering Realflow animations with Corona:
If you do not want to export the mesh (it can be really huge) and you prefer to use the 3ds Max Realflow plugin to generate the mesh for each frame, go to Render Setup > Performance > Development/Experimental Stuff and then disable "Multithreaded parsing" under "Basic configuration". It should render fine with small parsing time penalty.
Here is how to get to the development rollout: https://coronarenderer.freshdesk.com/support/solutions/articles/5000523916