So, for the past few weeks, I've been wanting to learn a little bit more about USD and Solaris. In order to combine the 2, I've decided to model the moana island data set [www.technology.disneyanimation.com] through Solaris.
I succesfully unwrapped most of the meshes, shapes, instance point clouds. Now I need to focus on the shading part.
For now, it's great to see how responsive Karma is at handling that much of data. Time to first pixel is extremely fast, in my opinion. I'd say it takes 3 to 4 seconds. In terms of ram, I didn't check it precisely but it was around 8 to 10Go. I'm looking forward to testing all of this with some displacement and more complex shader & texture calls now !





This is how I layouted it in USD for now, I don't know exactly how good it is and would be looking forward to any advices on it. The kinds are not perfectly tweaked but will be in a near future.

This is how it looks through the Houdini GL. There is a parameter somewhere in the display preferences that gives you control over the amount of polygons the viewport will show before the objects get displayed in bounding box. Very convenient


This is the overall set dressing graph. Pretty neat ! The branch on the right that is not connected correspond to the hero assets. For now, I don't understand why, but Karma crashes instantly when I want to render them. I'll likely be sending a repro scene to the houdini support in order to know if I'm the problem or if there is a bug


A little close-up to a branch set where we can see that it's mostly one asset storing several variants that are fed into an instancer and then payloaded into the main branch and so on.

How did I approach it ?
I've made a python script that imports/tweaks and describe all the assets and sets from /obj/ to /stage/. It's a pretty long script (over 1000 lines) because I'm not the finest coder and because there is a lot of little exceptions here and there in the Data set. But yeah mostly because of the first reason

Why am I doing it ?
- like I said, it's being part of a learning process. I am not extremely familiar with houdini even though I'm using it from time to time for some years now. I'd like to change this in a fairly near future

- I didn't find anyone trying to transform the moana island in USD, yet. But I may have searched the wrong way. If you know someone who did this, please send me some links

- I think it is extremely useful to rely on an open source technology like USD to be able to benchmark several render engines and testing USD implementations with the same “big ass” scene. Some examples are already there to help for that job (provided by sidefx, like the bar that is awesome), but I think that the moana island is pretty iconic. Also because it's a bigger stress test, overall.
When this is over, I'll release this work to the community so that it may help people into getting into USD. I'll also release the python code that generated it all.
My goal is to finish all of this by end of May, hopefully. I'm not fulltime on it.
Anyway, this journey is not over yet and this thread will be the witness of this work in progress. I also made it in order to ask for help with specific Solaris questions while the big picture is known.
These are the next steps (not displayed in the order I will deal with them) :
- Make the hero assets “Karma Friendly”.
I honestly don't know why it doesn't work out of the box since it's following pretty much the same logic as the rest of the setdress
- 2 asset trees are obj files that weigh a little less than 3 Go.
I can't open them in houdini, the ram skyrockets until it fails opening it. I successfully opened one file in maya that took a full night and it was taking 50go of ram. The big problem being that those trees have hundred of thousands of branches that are not combined. I'm pretty sure that combining them should make things much easier but I don't have a solution to do that automatically/safely. Any help would be appreciated on this :)
- I'm trying and failing at transforming all the .ptx files into bitmap files.
I'll be posting a thread somewhere here to ask for help for that matter.
- Creating shaders and pull out most of the data from the material .json files from the data set
- Assigning shaders in the /stage/ context
- replicating the lights/cameras that were provided
- adding the ocean (only the still one)
- adding the last simple little props
Cheers