
Universal Modular Entity Construction Hierarchical Sets or Specifications (UMECHS) is a hierarchical template-driven assembly system for fabricating a variety of 3D entities from modular interchangeable Part sets. Inspired by customization systems found in Massive Multiplayer Online Games an other genres, UMECHS aims to provide a standard assembly system that supports real-time customization for all entities categories: character & creature head/body, vehicle/crafts/machines, melee weapons, projectile weapons, architecture, structures, furniture, plants, hybrids. With UMECHS, one can assemble a library of pre-fabricated Entities and dis-assemble Entities for destruction/dismemberment sequences. The UMECHS Unrealscript Module is being developed to support all of these features and will be freely released to the UDK community, supplied with at least two Parts Pack per entity category. My goal is to develop and evolve UMECHS into a Full-Service System that contains: Documented Specifications, Templates and Demo Assets Parts Pack, UDK Module Unrealscript/Kismet, Knowledgebase/Repository, and Marketplace.
Inspirations:
Player perspective. I've played several games that allow the player to customize characters, vehicles, robots, weapons, etc. Customizing your stuff in-game can be FUN in itself. Customization is now a huge part in giving games some depth. I've played with the Spore Creature Creator for hours on end, just creating all sorts of odd looking creatures. In some aspects, this is sort of the modern day version of yesteryear's construction toys and I enjoyed TinkerToys, Lincoln Logs, Legos in my youth.
Game Developer perspective. Unique game content can be expensive in both time and money. Luckily for me, Game Devs have an option of purchasing Character Model Packs. Model Packs are great, offering some decent quality for an affordable price. However, I have an issue with using the current Model Pack paradigm as they're not exclusive and they're not modular. So every Dev who purchases the pack is using exactly the same models. Obviously, this is not desired for unique look and feel and modifying textures isn't enough in most cases.
A few years back, I had an ephiphany, realizing that a solution to the delima would be with modular entities. Thus, I set out to devise a standardized modular assembly system and supply it with parts. The system can be used to player avatar systems, pre-assemble complex entities, and share/reuse assets among multiple Game Modules with a greater entity variance. With Parts-Packs, we can populate our game worlds with plenty of unique monsters, items, etc.
Benefits:
There are obvious benefits to use UMECHS in games for code-centric Game Devs like myself, but, what about the Artists? One advantage to creating assets for UMECHS, is that Artists can focus on a smaller specific type of part, refining the details. Some Artist may specialize in producing specific parts (ie: I stink at making a full-bodied 3D models, but, I can make prettiest little 3D foot models you ever seen). With UMECHS, the Artist is free to do so. In my opinion, the reduced scope will result in rapid production of high quality parts.
Second Advantage for Artist is improved scalability on packaging and re-selling Assets for UMECHS. Sell by Part, Parts Packs, Pre Assembled Entity Kits, and Entity Collections. Categorize by Genre and Art-style. I believe this will translate into improved pricing for Game Devs.
Requirements:
- Support many classes of entities: characters/faces, armor, complex and simple weapons, vehicles, machines, architecture, structures, furniture props, trees.
- Take in consideration to: design tools, FBX pipeline, and UnrealEd, UE3 automated and procedural animation, physics/collision detection, and rendering optimizations (Level of Detail).
- Provide Unrealscript interfaces to procedurally assemble and animate entities at real-time: scale and orientate mesh parts, skeletons, and sockets, adjust target morphs, swap textures and shaders, wire up UI interfaces for entity customization, etc.
- Self-contained module, plug-able into any game framework developed with UDK.
Starting Point:
My first step is to define Specification Standards such as a UMECHS Naming Convention for Skeletons (Bones/Joints), AnimTrees, MorphTargets, SkelControl Nodes, Sockets, Textures, Materials and Shaders. I'm seeking advice of an experienced 3D Artist/Animators in this area. The Name convention would be generic and multipurpose to take in consideration skeleton for facial animations, multi-ped creature, vehicles, animation blend trees, procedural animation, and physics/collision.
Second step, would be defining physical standards of skeletalmesh and static mesh parts, joint positions, morphtargets, sockets, and modular textures, and auxiliary data formats. Once the standards are defined, creating models to use the standard would literally be a snap, and new animations, textures, and shaders sets could be added/removed easily. The Standard will be documented and published for public reference.
Concerns:
There are concerns in dealing with organic entities, to produce a smooth-bodied character after snapping on limbs? I've dubbed this issue, the Action-Figure effect. I had a vague ideas for smoothing out limb connections (seams and joints) to produce uni-body characters. To tackle these issues, I found inspirations in playing with the Spore Creature Creator. Solution: install slots and target-morphs inside all parts, use a mult-ipart base mesh called the 'body' to attach sub-parts too. Texture blending may also play a role in smoothing seams and attachment.
I believe UMECHS will be beneficial to the entire UDK Community. Any and all advice will be greatly appreciated.
References:
UDK 3D Art Pipelines Naming Conventions
UDK Custom Characters
Comment