Author Topic: mental ray Conversion  (Read 2702 times)

2014-04-19, 08:15:16

jeremyfought

  • Users
  • *
  • Posts: 3
    • View Profile
Hello everybody. I'm currently working on a large scene, think university size. It'll be a fly over tour. I've been racking my brain on how to accomplish the grass/land in the easiest most efficient way. I came across this site

http://www.ramyhanna.com/2008/05/ultimate-mental-ray-grass-shader.html

And it's pretty impressive and works well for mental ray. I'm having issues converting this to Corona.  Would anyone be willing to give some advice? Or even if it's possible?

Thanks to everyone here, I've learned a lot in the past month. I look forward to sticking around for awhile.

2014-04-19, 10:59:49
Reply #1

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
It will not work, as the displacement in Corona is not yet frame to frame coherent. Means that displaced topology will change from frame to frame and will produce flickering/noise. But Corona has very efficient instancing, so you can create a few larger (1 meter in diameter) grass patches, and then scatter them around using CoronaScatter. It will work even with huge areas... say 1*1km. And it will also look a lot better from up close, unlike displacement.

2014-04-19, 11:02:59
Reply #2

jeremyfought

  • Users
  • *
  • Posts: 3
    • View Profile
Thanks for info. I'll try out the scattering tomorrow. Have a good one.

2014-04-19, 13:52:19
Reply #3

jeremyfought

  • Users
  • *
  • Posts: 3
    • View Profile
Probably an over sight based on my lack of sleep, but is there a way for CScatter to tile the instances instead of randomly placing them? Thus lowering the number of instances I'd need to effectively cover an entire plane with grass.

2014-04-22, 21:42:21
Reply #4

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
Probably an over sight based on my lack of sleep, but is there a way for CScatter to tile the instances instead of randomly placing them? Thus lowering the number of instances I'd need to effectively cover an entire plane with grass.

Unfortunately not. CoronaScatter is (at least for now) only very basic. For such thing, you will need some commercial plugin, such as Multiscatter or ForestPack. But as i said, instancing in Corona is quite efficient, so as long as it is not too dense (like dozens of grass patches overlapping at each given point) then slight overlaps are not a problem performance-wise, and grass will look overall bit more realistic.

I recommend varying scale from 70 to 130%, and varying rotation from -180 to 180 degrees in Z axis, and -5 to 5 degrees in X and Y axes :)

Oh, and be sure to set viewport display count or whatever it's called to 1%, or even less, otherwise you will bring viewport to crawl. I have no idea why there's 100% by default O_o