10/3/2023 0 Comments Blender 2.8 modifiers![]() ![]() The simulation cache should be a "transformation provider", which can transform the geometry parts. Thats why each cache item should have an own frame range, but additionally we quickly need to query what is on frame x (lookup structure, update during simulation, slower at sim, faster playback)įor faster sim maybe option for "dumb/ big storage" ? and "smartify" in an additional post step to reduce persistent file footprint Transform Cache kinda smart geometry storage (vs Alembic dumping all in each frame) Storage provider needs to be dynamic, as in must be able to store more geometry (or less) per frame, without doubling the existing geometry, which is there on subsequent frame rangesĪs in change contents at change events, but keep indifferent pieces only once. Vertexgroups (something which isnt awfully slow, since it will be needed to advance the simulation) (can be abc, can be different format for static geometry atleast, just to decouple it)Īnd how to keep geometry "parts" apart ? natural mesh islands, user selectable facemaps, generated facemaps ![]() The storage engine should be encapsulated in a "geometry storage provider". Suggestion would be to split the cache logically to a Geometry Cache and a Transform Cache. It is important in case we decide to have different backends / or backend has major update. (just to make sure design is modular and extendible here)īase / previous modifier Geometry → geometry generator operator (voronoi shatter (+intersect provider), island decompose, packing separate objects) → FM Modularization of Cache The generation process can be nonvoronoi too, like island decomposition or even vdb-based volume fracturing. Process is boolean or bisect or maybe something else.Įven more generally spoken, decouple geometry generation from storage. Maybe it is wise decouple the actual "cutting" method ? For example just feed in raw voronoi cells, "process" them and write result to alembic geometry cache. Generally the geometry cache just shall avoid continouous refractures which are computationally expensive.įor example this is bmesh boolean and bisect for less suitable / nonmanifold geometry. Using duplis here on object level would fix the geometry streaming to the base object thus being like always the first modifier.īut it is useful to have other modifiers before the FM, to be able to fracture this content and use it nondestructively. ![]() The Fracture Modifier should hold internally some representation of streamed geometry too, but return a regular mesh datablock, so it can be used as a regular modifier in the stack. There duplis are mentioned to represent streamed geometry in blender. It is intended to open a hopefully fruitful discussion about what to consider during the Fracture modifier port and even the cache design.įor now, I assume Alembic will be used as cache backend, like described in So red header means currently not doing anything at all, and as a result, clicking Apply will throw an error, because nothing can be done to the base object as a result.This is a summary of my design thoughts for porting the Fracture Modifier to 2.8 These are not the only modifiers with such behavior, they are just listed here as examples. In case of the SubSurf the modifier is entirely skipped in the Viewport because there are simply zero subdivisions requested by the user.In case of the lattice modifier, a lattice object is required that tells Blender what the rules of the deformation are.In case of a boolean, there must be another object you want to cut or join your main object with. ![]() Most of the time, Blender requires a reference to another object to run the modifier. In each case I have circled the parameter that is causing the behavior in red. Here are three examples of modifiers that show this behavior: There is an action required by the user to make it work. If a modifier header turns red, this basically means it is doing nothing at the moment because some input is either missing or not as expected. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |