Recommended Posts

I finally completed my most complicated LDCad animation to date Smile

It is a fully animated 8860 LEGO technic 'super car' set.

You can watch it here (2:15 long).

https://youtu.be/Ea1iHCSPbqo (Some how youtube messed with the quality though, the original x264 mkv is much sharper)

It is an OpenGL export, I was originally planning to do a POV-Ray rendering (I've got the POV file) but it would take over 200 hours to render as it would need very high radiosity settings to prevent background flickering.

This would result in 3750 frames of this quality:

8860s.png
 

Fullsize img: http://www.melkert.net/img/mel/8860.png

If anyone know of a way to reduce that flickering without having to crank the radiosity settings to 11 please let me know.

Share this post


Link to post
Share on other sites

Very nice work, Roland.  It looks very good, even if it's not rendered.

You can try removing the floor and/or floor reflection to speed up the render.

Share this post


Link to post
Share on other sites
7 hours ago, BusterHaus said:

Very nice work, Roland.  It looks very good, even if it's not rendered.

You can try removing the floor and/or floor reflection to speed up the render.

Thanks,

Actually rendering isn't that big of a deal when using single frames. An HD image with almost the same quality as the one above can be rendered in about 30 seconds using my 5 year old 8 core AMD machine.

The problem is these give visible background noise when used in an animation resulting from the relatively low radiosity sample level.

You can get rid of that by increasing the radiosity settings to HQ, but this increases the frame render time to over 3.5 minutes a piece :(

Share this post


Link to post
Share on other sites

This is amazingly cool!  A really good way to highlight the features.  I'd be willing to take a crack at rendering it.  I think it would be possible to get acceptable quality without using radiosity.

Share this post


Link to post
Share on other sites
21 hours ago, Blakbird said:

This is amazingly cool!  A really good way to highlight the features.  I'd be willing to take a crack at rendering it.  I think it would be possible to get acceptable quality without using radiosity.

Thanks,

The POV file is 186MB but somehow 7zip managed to stuff it into a 2MB archive

http://www.melkert.net/action/download/8860-povExport.7z

Feel free to play with the radiosity settings, but the lighting might not be optimal as I didn't optimize that as 'gave up' on the pov export.

I would be very interested in the settings if you get it to render at reasonable speeds without the flickering in the shadows/background. Although the parsing takes a big chunk too with this file.

 

 

Share this post


Link to post
Share on other sites

I can't download the file.  It says "restricted access".  Since POV-Ray uses plain text, compression algorithms work great on the files.  93x savings is pretty good!

I am surprised by the size of the file.  Did you export all the parts as a triangle mesh?  If so, that would explain the file size and the slow parsing.  If you can export with LGEO parts it would render and parse much faster, and look better to boot.

Share this post


Link to post
Share on other sites
1 hour ago, Blakbird said:

I can't download the file.  It says "restricted access".  Since POV-Ray uses plain text, compression algorithms work great on the files.  93x savings is pretty good!

I am surprised by the size of the file.  Did you export all the parts as a triangle mesh?  If so, that would explain the file size and the slow parsing.  If you can export with LGEO parts it would render and parse much faster, and look better to boot.

Sorry, it is downloadable now.

Yes all LDraw (actually the OpenGL) data is converted to mesh2 objects, this is currently the only option in my LDCad's povray export. I do plan to add LGEO at some point though.

Also because of the animated springs etc some meshes have frame specific versions.

Share this post


Link to post
Share on other sites

I've run a few tests.  Here is the default file you sent me at 640x480 (I know, wrong aspect ratio).  It has low quality radiosity and I ran it without anti-aliasing.  Parsing time was 11s and rendering time was about 20s.

1.png

Next I shut off the radiosity entirely and tried again.  It made very little difference, saved about 3s.  Everything got a bit brighter.  Radiosity makes a much bigger difference with a sky sphere.

2.png

My next step was to replace your spotlight with some area lights.  Rendering time changed hardly at all, but I think it looks much better.  If we wanted to render with no radiosity, I think this would be acceptable.

3.png

Next step was to add your default sky sphere.  It didn't change much.

4.png

After that I replaced the sky sphere with the HDR light probe I always use.  This made a pretty big difference in the lighting quality with almost no change in render time.

5.png

Now I turned the radiosity back on.  This certainly looks better, but whether it looks enough better to justify the increased render time is the question.  It took about 30s (CPU time).

6.png

Now I bumped up the radiosity to high quality.  The difference is barely noticeable in a still image, but I understand that it matters for animation.  Render time went up a LOT.  232s.

7.png

Next I used my own radiosity settings.  This runs much faster than HQ but looks just as good.

8.png

Finally, I turned on anti-aliasing.  AA adds significantly to the processing time, but it pretty much necessary if you want it to look good.  This final setting took about 47s.

9.png

I was pretty happy at this point.  If you want to see the differences between the images more easily, step through them on my Bricksafe account.

At this point I thought it was time to try a test animation.  I ran frames 2000 - 2250 at 640x360 resolution with AA turned on (last picture settings).  These 225 frames ran in about an hour.  I threw a quick animated GIF together to show the results (9.2 Mb).  I think it looks pretty good and I don't see any flickering problems.  In the extreme close-up views the lack of stud logos is noticeable as is the lack of texture on the tires, but overall it looks really good.  If/when you get LGEO parts both these issues will be solved, and I also expect parsing to go much faster.

Now at 1920x1080 it can be expected to take 9x as long, and there are 3750 frames to do so it is still going to take a long time.  I am trying it at 1600x900 right now.

Share this post


Link to post
Share on other sites

Time to buy one of those new AMD 8-core/16-thread ryzen cpus :laugh:
Or maybe @Renderbricks could give the .pov file a shot with his rendering-machine or whatever he has. :tongue:

But, that looks really nice. Great work people! 

Share this post


Link to post
Share on other sites

I'm using an 8 core i7.  500 frames done so far, but it looks like it will take a couple of days.

Share this post


Link to post
Share on other sites

Looks promising, can still see some flickering in the shadows/floor in the gif animation though. Not too disturbing though.

Are you really going to render the whole animation?

Maybe we should setup some sort of distributed rendering network :)

Share this post


Link to post
Share on other sites
15 hours ago, Blakbird said:

In the extreme close-up views the lack of stud logos is noticeable as is the lack of texture on the tires, but overall it looks really good.  If/when you get LGEO parts both these issues will be solved, and I also expect parsing to go much faster.

I played around with the rubber a bit, below settings make it look a bit more realistic I think.

#local ldrawRubberNor=normal {
 dents 0.33
 turbulence 0
}

#local ldrawRubberFin=finish {
 diffuse 1
 brilliance 0.05
 specular albedo 0.1
 roughness 0.20
 conserve_energy
}

The logo's you could add by exporting the animation while LDCad uses studs with logo's or by using custom textured studs (LDCad's pov export supports textured LDraw parts, untested when using on so many parts though I'll do some tests).

 

Share this post


Link to post
Share on other sites
10 hours ago, roland said:

Looks promising, can still see some flickering in the shadows/floor in the gif animation though. Not too disturbing though.

I think some of that flickering is not just low quality radiosity, but also the reflective floor effecting the lighting due to the moving parts.  Looking at the full animation I am working, the first 12 frames have no motion and I'm not seeing any flickering there.

The best (most efficient) solution is probably to just use a good lighting setup and skip radiosity.

Quote

Are you really going to render the whole animation?

Sure, why not!?  I'm about 24 hours in and am at 1100 frames.

Quote

Maybe we should setup some sort of distributed rendering network :)

Something like the old SETI@Home screen saver would be perfect.

9 hours ago, roland said:

I played around with the rubber a bit, below settings make it look a bit more realistic I think.


#local ldrawRubberNor=normal {
 dents 0.33
 turbulence 0
}

#local ldrawRubberFin=finish {
 diffuse 1
 brilliance 0.05
 specular albedo 0.1
 roughness 0.20
 conserve_energy
}

Keep in mind that those old tires were not rubber, but foam.  The texture on the foam is really noticeable, and therefore the lack of it is also noticeable.  Compare to this render I made a few years ago.

8860.jpg

 

Quote

The logo's you could add by exporting the animation while LDCad uses studs with logo's or by using custom textured studs (LDCad's pov export supports textured LDraw parts, untested when using on so many parts though I'll do some tests).

Not urgent, but if the goal is to not only demonstrate the functions but make it look as good as possible, then I think the stud logos add a lot of realism.  Without them, it immediately jumps out at you as not real.  I think with your OpenGL capture it looks fine because you don't expect it to look realistic in that kind of view anyway.  But once you go to a render with all the real lighting, it looks funny without them.  My opinion.  Probably will add a lot to the file size though.  With LGEO, the logo is added as an include file and just copied everywhere needed, so it doesn't add much time or space.

Share this post


Link to post
Share on other sites

With 1600 frames done, I made a quick movie export to see how it looks.  It looks pretty good! I am by no means an expert at controlling video settings, so I'm sure there is a better way to do it.  Here's what we have so far.

 

Share this post


Link to post
Share on other sites

Already looks very nice indeed.

FYI I made my original export using ffmpeg using the h264 (bluray codec) settings.

Share this post


Link to post
Share on other sites

One thing I just noticed is that YouTube won't display the video at it's native resolution of 1600x900.  It resamples it at 720p and therefore it is not as sharp as the original file looks on my screen.  I'm not sure there is anything I can do about it.

Share this post


Link to post
Share on other sites
53 minutes ago, Blakbird said:

One thing I just noticed is that YouTube won't display the video at it's native resolution of 1600x900.  It resamples it at 720p and therefore it is not as sharp as the original file looks on my screen.  I'm not sure there is anything I can do about it.

Well, not uploading it on youtube I guess... :tongue:
At least not if you want to provide a file with the 'full quality'. And besides, I believe youtube compresses video anyway, regardless of resolution.

Share this post


Link to post
Share on other sites
1 hour ago, legolijntje said:

Well, not uploading it on youtube I guess...

Good point!  I will probably upload the final file to YouTube for easy access, but I may also put a downloadable Quicktime file on Bricksafe.  It will be huge, of course, but the kind of people who want the extra quality won't care.

The other option is to render at full HD 1920x1080 like Roland intended, but that would take twice as long.  Maybe I'll launch that render next time I go on vacation.

2500 frames done so far......

Share this post


Link to post
Share on other sites

Bricksafe currently has a limit of 100MB per file. Jeroen had a problem with that too, when I wanted to put the DB11 instructions on Bricksafe, that's why the instructions were suddenly separated into 2 books.
Jeroen said, that Nathan (from Rebrickable & Bricksafe) said that the limit on Bricksafe is actually much higher, but that their back-end filehosting service has a 100MB limit.

Share this post


Link to post
Share on other sites

The original OpenGL export I made was only 70MB and has excellent quality (h264, youtube uses this codec for most clips). You can make it even smaller while retaining the quality by using the HEVC (h265) codec but older hardware might not be able to play it.

Share this post


Link to post
Share on other sites

The render is completed and exported using H264 codec.  The original file size is 162Mb, but of course YouTube messes with it.

 

The flickering is noticeable if you know what to look for, but is not bad.  Some things to notice:

  • I like how the start/stop of the motion is gradual.  For example, the wheels don't just go from stopped to full speed.  They ramp up gradually giving the illusion of inertia.
  • U-joint crosses are hard to get right.  These are perfect.
  • The way the spring compresses must have required a new version to be generated for each frame.  Good work!
  • I'm not sure if the fan belt actually moves.  With no texture, there is no way to tell.
  • The Ackerman correction on the steering is noticeable at full lock.
  • The way the ratchet pawl is visualized on the seat recline is awesome.

I suppose this video would benefit from some captions to explain to viewers what is happening in various sections.  This is a perfect way to demonstrate all the functions of a model.

Share this post


Link to post
Share on other sites
21 hours ago, Blakbird said:

The render is completed and exported using H264 codec.  The original file size is 162Mb, but of course YouTube messes with it.

The flickering is noticeable if you know what to look for, but is not bad.  Some things to notice:

  • I like how the start/stop of the motion is gradual.  For example, the wheels don't just go from stopped to full speed.  They ramp up gradually giving the illusion of inertia.
  • U-joint crosses are hard to get right.  These are perfect.
  • The way the spring compresses must have required a new version to be generated for each frame.  Good work!
  • I'm not sure if the fan belt actually moves.  With no texture, there is no way to tell.
  • The Ackerman correction on the steering is noticeable at full lock.
  • The way the ratchet pawl is visualized on the seat recline is awesome.

I suppose this video would benefit from some captions to explain to viewers what is happening in various sections.  This is a perfect way to demonstrate all the functions of a model.

Looks great how long did it take to render in total?

Did you find a place to put the original online, you could also split it into two using 7zip without compressing.

Did not even know about Ackerman, did wonder why it was using a 3piece steering plate :)

If you interested in the mechanics script the animation and its model are included with LDCad 1.6 Beta 2a

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.