1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Asciidoctor 1.5.4"><title>cc</title><link rel="stylesheet" href="./asciidoctor.css">
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
- <link rel="stylesheet" href="./coderay-asciidoctor.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"></head><body class="article toc2 toc-left"><div id="header"><div id="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/jme3/advanced/atom_framework/cc.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/jme3/advanced/atom_framework/"><i class="fa fa-plus-square" aria-hidden="true"></i></a><input dir="auto" style="position: relative; vertical-align: top;" spellcheck="false" autocomplete="off" class="searchbox__input aa-input" id="doc-search" name="search" placeholder="Search in the doc" required="required" type="search"></div><h1>cc</h1><div class="details"><span class="author" id="author"></span><br><span id="revnumber">version ,</span> <span id="revdate">2016/03/17 20:48</span></div><div id="toc" class="toc2"><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#character-customization-introduction">Character customization Introduction</a><ul class="sectlevel2"><li><a href="#ideas-features">Ideas & Features</a></li></ul></li><li><a href="#atomfacial-framework-first-look">AtomFacial framework - First look</a><ul class="sectlevel2"><li><a href="#features-2">Features</a></li><li><a href="#screenshots-video">Screenshots & Video</a></li><li><a href="#techniques">Techniques</a></li><li><a href="#problems">Problems</a></li><li><a href="#architecture">Architecture</a></li><li><a href="#components">Components</a></li></ul></li><li><a href="#manuals">Manuals</a><ul class="sectlevel2"><li><a href="#basic-video-tutorials">Basic video tutorials</a></li><li><a href="#in-depth">In depth</a></li></ul></li><li><a href="#researches-papers">Researches & Papers</a></li><li><a href="#alternatives">Alternatives</a><ul class="sectlevel2"><li><a href="#opensource">Opensource</a></li><li><a href="#commercial">Commercial</a></li></ul></li></ul></div></div><div id="content"><div class="sect2"><h3 id="character-customization-introduction">Character customization Introduction</h3><div class="paragraph"><p>This is an introduction of Character customization tool of Atom framework</p></div>
- <div class="admonitionblock tip"><table><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content"><div class="paragraph"><p>Go to <a href="../../../jme3/advanced/atom_framework/quickstart.html">quickstart</a> if you on a rush!</p></div></td></tr></table></div>
- <div class="sect2"><h3 id="ideas-features">Ideas & Features</h3><div class="sect3"><h4 id="ideas">Ideas</h4><div class="paragraph"><p>The initial idea of Character customization is: We (human) are soooo <strong>similiar</strong>!!</p></div>
- <div class="paragraph"><p>The second idea: <strong>resuable</strong> and <strong>composable</strong>!</p></div>
- <div class="olist arabic"><ol class="arabic"><li><p>Cloths, skins, 3dmodels, animation.. are components of a whole, which made up character</p></li><li><p>The same ideas with component oriented architecture</p></li></ol></div>
- <div class="paragraph"><p>So to reduce a very big workload of data and assets need for a game with vast data of character (football players, etc…) More over we can support and encourage gamer to “build their own character! This is how we handle the situations, similiar scenario can happen in a MMOs.</p></div></div>
- <div class="sect3"><h4 id="features">Features</h4><div class="ulist"><ul><li><p>Customize parts of characters (body, face, weapon) in gender | race (male - female, human - animal…), various height, weight!</p></li><li><p>Customize cloths ( shirt, skirt) and their appearance (color, decal) . The cloth will fit its wearers!</p></li><li><p>Customize the face with animation, emotions ( eyes, nose, mouth ) with (smile, angry …) goto <a href="../../../jme3/advanced/atom_framework/facial.html">facial</a></p></li><li><p>As close as seen in current AAA games, open to MMORPG and social games.</p></li></ul></div>
- <div class="admonitionblock important"><table><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content"><div class="paragraph"><p>Go to alternatives and researches if you want to go further than Atom!</p></div></td></tr></table></div>
- <div class="admonitionblock tip"><table><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content"><div class="paragraph"><p>Try some example in Football game’s character cusomization <a href="../../../jme3/atomixtuts/kickgame/cc.html">cc</a></p></div></td></tr></table></div></div></div></div>
- <div class="sect2"><h3 id="atomfacial-framework-first-look">AtomFacial framework - First look</h3><div class="sect2"><h3 id="features-2">Features</h3><div class="olist arabic"><ol class="arabic"><li><p>Template: Slot, Part are “place and “item just like textbox, choicebox in a form.</p></li><li><p>Composing: Provide Node base way to define Customable parts, material and assets for CC. A mesh can be stiched together again after composing.</p></li><li><p>Optimization : Compress texture space, mesh verticles</p></li><li><p>Transformation: Provide way to include mesh morph or bone transformation can be describle in Blender, Free form deformation to make fitable clothes.</p></li><li><p>Paint and Projection: support layered paint and decal projection (box, cylinder, sphere) in mesh surface, can be baked afterward.</p></li></ol></div></div>
- <div class="sect2"><h3 id="screenshots-video">Screenshots & Video</h3><div class="paragraph"><p><span class="image"><img src="../../../jme3/advanced/atom_framework/youtube_fcf6grenolg" alt="youtube_fcf6grenolg" height=""></span></p></div></div>
- <div class="sect2"><h3 id="techniques">Techniques</h3><div class="paragraph"><p><strong>1) Blend shape</strong> :</p></div>
- <div class="paragraph"><p><strong>2) Bone</strong> :</p></div>
- <div class="paragraph"><p><strong>3) Free form deformation</strong>:</p></div></div>
- <div class="sect2"><h3 id="problems">Problems</h3><div class="paragraph"><p><strong>1) Blend shape</strong> :</p></div>
- <div class="paragraph"><p>I saw that going to be added into the core soon. So exciting, that will help a tons, as soon as finish, I will make a patch to help import blend shape from blender too. One thing I still have to consider is: Can we make a type of Mesh that save a whole topology from Blender or other CAD and then become the base mesh for futher manipulate?</p></div>
- <div class="paragraph"><p><strong>2) Bone</strong> :</p></div>
- <div class="paragraph"><p>I saw the current behavior of Bone, SkeletonControl are quite limited. I remember once @nehon explain that we don’t save the Length of the bone, but the trans/rot/scale just like a mat4… In fact, we can save more information in a Bone, and it will help tons when it come to a situation that someone want to manipulate the bone his self.</p></div>
- <div class="paragraph"><p><em>setUserControl</em> didn’t sastify me cause I force me to patch the whole animation system just because I want to scale a bone up and down (ex: bigger nose for a character), and sync that with the existed animation. You can say it’s just my very own problem but …</p></div>
- <div class="paragraph"><p><strong>3) Free form deformation</strong>:</p></div>
- <div class="paragraph"><p>For the need of cloth customization, I made my self a quick FFD system, in fact, it works extactly like a set of bones still have lengths and envelops on them. But in the end, once again I have to hack into the Mesh class and other things, just because a lot of private and final methods… It’s kind of sad that it should not be that hard for the engine users to add more features to the engine if the user want to.</p></div>
- <div class="paragraph"><p>At the end, I just want what I want, that mean I just want things work if it’s really easy, silly me. So is there another way around to make those 2 simple things?</p></div>
- <div class="paragraph"><p>1) Scale/Translate/Rotate a bonebut preseved the current animation. ⇒ If yes, go for Characer custumization and facial…</p></div>
- <div class="paragraph"><p>2) The mesh class is the center of the system, we should provide a way for people to build in from scratch or preseved topology. May be another type of Mesh, like HalfEdge mesh. If the answer it’s No need for now just consider it once in the future (We are not just making game for the moment)!</p></div></div>
- <div class="sect2"><h3 id="architecture">Architecture</h3></div>
- <div class="sect2"><h3 id="components">Components</h3></div></div>
- <div class="sect2"><h3 id="manuals">Manuals</h3><div class="paragraph"><p>Go Quick</p></div>
- <div class="paragraph"><p>Go in depth</p></div>
- <div class="sect2"><h3 id="basic-video-tutorials">Basic video tutorials</h3></div>
- <div class="sect2"><h3 id="in-depth">In depth</h3><div class="sect3"><h4 id="quickstart">Quickstart</h4></div>
- <div class="sect3"><h4 id="asset-making">Asset making</h4></div>
- <div class="sect3"><h4 id="programming">Programming</h4></div></div></div>
- <div class="sect1"><h2 id="researches-papers">Researches & Papers</h2><div class="sectionbody"><div class="paragraph"><p>This is a short list of Researches & Papers</p></div>
- <div class="paragraph"><p>I have a Character customization system which i’ve plan to be quite complete. I reviewed a fews character system including:
- <a href="http://www.youtube.com/watch?v=RO8GIoRLGa0">http://www.youtube.com/watch?v=RO8GIoRLGa0</a></p></div>
- <div class="ulist"><ul><li><p>Perfect World</p></li><li><p>APB: Reloaded</p></li><li><p>Aion</p></li><li><p>Star Trek Online</p></li><li><p>Champions Online</p></li></ul></div>
- <div class="paragraph"><p>Some technical articles:</p></div>
- <div class="ulist"><ul><li><p><a href="http://www.heroengine.com/heroengine/dynamic-character-systems/">http://www.heroengine.com/heroengine/dynamic-character-systems/</a></p></li><li><p><a href="http://hewiki.heroengine.com/wiki/Character_Design_and_Development">http://hewiki.heroengine.com/wiki/Character_Design_and_Development</a></p></li><li><p><a href="http://anticto.com/">http://anticto.com/</a></p></li></ul></div></div></div>
- <div class="sect2"><h3 id="alternatives">Alternatives</h3><div class="sect2"><h3 id="opensource">Opensource</h3></div>
- <div class="sect2"><h3 id="commercial">Commercial</h3></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2016-07-22 07:15:15 UTC</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script>docsearch({
- apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
- indexName: 'jmonkeyengine',
- inputSelector: '#doc-search',
- debug: false // Set debug to true if you want to inspect the dropdown
- });</script></body></html>
|