Hi guys,
I think Krakatoa would benefit significantly, if it could include a more robust and flexible toolset for shading particles. In fact, this occured to me while I was using it in a real situation.
What I would love to see, and think is viable in the Krakatoa architecture, is a gizmo driven system. Say one loads the partitions. Assigns it a base color. Then he could set up a system of gizmos - sphere, box, cylinder, or an universal one, which could use a mesh for a gizmo. It would be great if these can be FFD-ed to make proxies for real objects, too. Than every gizmo could be assigned either a solid color, or a map (would be great if the gizmo could be UV mapped, and texture applied to it). Then a falloff radius could be assigned, which would set the distance of influence of the gizmo. Krakatoa then could shade the particles according to the data it gets from the gizmos. There could be an option for a ‘initial only’ shading, where the color is taken just in the first frame, and left constant. Alternatively, there could be a ‘continuous’ option, which would recalculate shading frame by frame (or supersample).
I think that this could bring much more desirability to Krakatoa, and open a lot of possibilities.
Is this viable and possible?
Thanks,
Hristo
Interesting ideas here…
First some general notes:
Krakatoa 1.0 was supposed to be a simple, easy to use renderer with just a basic toolset. As of 0.9.7, we are far beyond any initial plans for 1.0 features. At this point, we have to switch to fixing bugs and polishing the workflow and the UI. There are still some features that are WIP like full support for normals.
Any additional features become Wishes for the next point or major release (1.1 or 2.0, depending on complexity). The priority of these wishes will be dependent mainly on two things - the importance to the users and the internal needs of Frantic Films’ production.
The shading features you discussed are a certain possibility, but it should be noted that all of them are more or less doable already either through PFlow Script Operators or the (much faster and flexible) Data Operators in Orbaz’ Box #3.
Also, since our particles already support UV coordinates, you can map the particle cloud any way you want. In some advanced cases, you can use once again Box #3 operators to assign or manipulate the coordinates.
In our Mini example we showed at Siggraph, we used camera mapping on the particles to project full Brazil rendering of the car onto the particle version of the car and then we baked the UVs into the particles using a Data Operator so when the car was blown by the wind, the colors would stick to the particles.
Krakatoa is “just” a renderer. With the inherent power of PFlow and its extensions, we feel one could do anything given enough time. (scripted vector channels are a relative slow way to assign colors, but you could implement your gizmos that way, too)
We had our own discussion and our specific ideas for shading improvements in future releases a while ago and I am sure sooner or later we will come back to implementing improvements in this area.
Thanks for your feedback!
Cheers,
Borislav “Bobo” Petrov
Technical Director 3D VFX
Frantic Films Winnipeg
Here is an example Max 9 scene showing a particle system with 3 animated spherical gizmos - one gizmo controls the Red, one the Green and one the Blue component of the particle color:
http://www.scriptspot.com/bobo/krakatoa/KRA_ColorGizmos.max
(right-click, Save As…)
Here is a QuickTime:
http://www.scriptspot.com/bobo/krakatoa/rgb_gizmos.mov
As I mentioned, it is slow (10 seconds for 100K particles), but it is possible to do much much faster with Box #3 Data Operators.
Cheers,
Borislav “Bobo” Petrov
Technical Director 3D VFX
Frantic Films Winnipeg
This idea reminds me of the procedural shading system used by Blue Sky on Robots (and their other movies), which I saw a talk about at SIGGRAPH. Their entire texturing system is based on specifying 3D regions which blend and adjust 3D procedural textures. Nearly everything is procedural, and there are just a few exceptional places here and there with painted bitmaps, for logos and things like that.
I think it’s a great idea, but the right place is straight in the max material system, not something special for Krakatoa. Wouldn’t you want to texture regular geometry with the gizmos you’re describing too?
-Mark
@Mark:
Yeah, gizmo driven texturing is definitely a blast. It is already implemented in Max in a Digimation plugin - Chameleon (bummer that I haven’t tried it yet).
@Bobo: I see now, you’ve taken a pefectly reasonable decision! Thumbs up I will definitely have more fun with Krakatoa and PFlow in general once I get into scripting - scheduled for februrary
If you’ve seen the tests I’ve posted, you can see some material stuff done with Box#3. While the specular shading was REALLY slow, everything else went well.
It would be nice however, if Chameleon type effects were standard in 3ds max, or Darktree tweaks could be generated by Pflow.
- Chad
Referring to Bobo’s comments about locking down a feature set for 1.0, there are some outstanding items that I don’t know if they are on that list.
Could someone clarify if…
- Depth of Field
- Shadow mattes for casting of shadows from particles onto matte objects
… are going to be in 1.0?
Depth Of Field was just hooked back into the Max build of Krakatoa yesterday and is looking gorgeous. Right now, we support the Brazil camera (since it has an f-stop parameter), Max Cameras should be enabled tomorrow (might require the mental ray DOF mpass effect to be enabled to use its f-stop). Once we get this done, we intend to release a 0.9.7 beta build.
Shadow mattes are a big item on the 1.0 list, we have some of the code working for the stand-alone version, the main issue is how to simplify the workflow. It would require a utility to allow users to automatically remap a scene's lights to use the shadows from Krakatoa, possibly even render all passes and return to Krakatoa with a single click ;o)
I am pretty confident we will not ship until this is solved in a satisfying manner.
My post was more about things that are not only not on our bug or features list but not even in our heads yet ;o) Some ideas sound very cool and would increase the flexibility of Krakatoa a lot, but are just not possible to implement for 1.0.
Keep them coming, we are logging them as Wishes.
Cheers,
Borislav "Bobo" Petrov
Technical Director 3D VFX
Frantic Films Winnipeg