SANDBOX — this is a test environment. No servers are actually deployed and no real payments are charged.
Back to NxLabs

NxLabs / Vintage Story

More animations

MBy mefiafan_2801

Better body and face animations

More animations

Description

<h1 style="text-align: center;">Forget about the mod; Version 0.1.2 won't be released; mefimotion (my new mod) will solve ALL the problems.</h1> <p style="text-align: center;">Why did I suddenly decide to abandon this mod?<br />There were far too many workarounds, so I had to start developing Mefimotion.</p> <p><br />A spin-off from my first mod... I decided to port the features from my custom model over to the base Seraphim models :)))</p> <h1 style="text-align: center;"><span style="text-decoration: line-through;">!!! STARTING FROM VERSION 0.8+, THE MOD IS NOW ALSO A LIBRARY! YOU CAN NOW CREATE CUSTOM HAIRSTYLES USING MY MOD'S LOGIC !!!</span></h1> <p>&nbsp;</p> <h2 style="text-align: center;"><span style="text-decoration: line-through;">Starting from 0.1.1+ mod compatible with Player Model Library</span></h2> <p style="text-align: center;"><strong><span style="text-decoration: line-through;">(Compatibility with mods such as Humans or Female Seraph is up to their respective developers, so please take any issues or questions to them instead of me)</span><br /></strong></p> <p>&nbsp;</p> <div class="spoiler"> <div class="spoiler-toggle"><span style="text-decoration: line-through;">New hair logic</span></div> <h1>Better Seraph 0.1.0 &mdash; documentation</h1> <p>Hair physics for Vintage Story, configured through <strong>bone names</strong>. The mod reads the name and applies the physics itself &mdash; no code needed. Plus two systems for behaviour under headwear: <strong>hiding</strong> strands and <strong>freezing</strong> physics.</p> <p>The docs come in three parts: name format, flags, headwear behaviour.</p> <hr /> <h2>PART 1. Bone name format</h2> <p>The name is split by <code>@</code> into two parts, ending in the required suffix <code>phys</code>:</p> <p><code>LWSmega@zf40b15l20r5.own.nod3.stiff0,5phys</code></p> <ul> <li><strong>before <code>@</code></strong> &mdash; the bone name, anything (<code>LWSmega</code>). The mod leaves it alone and uses it as the strand's identifier in config files;</li> <li><strong>after <code>@</code></strong> &mdash; physics data;</li> <li><strong><code>phys</code></strong> at the end &mdash; how the mod recognizes a hair bone.</li> </ul> <h3>⚠️ Required: a keyframe for every bone</h3> <p>A correct name is <strong>not enough</strong>. For a bone to reach the animator and get a Joint ID, it must be in <strong>at least one keyframe of any animation</strong> (a single zero-frame is enough). Without it the strand hangs motionless, no error. Rule: <strong>the name gives the settings, the keyframe gives the Joint ID</strong> &mdash; you need both.</p> <h3>⚠️ Required: remove empty faces</h3> <p>Keep only visible faces with a real texture (<code>#hair</code>) on each cube. Don't leave faces with <code>#null</code> and a degenerate UV (<code>[48,48,48,48]</code>) &mdash; Blockbench sometimes creates them when copying cubes. They're invisible normally, but when the mesh rebuilds (e.g. putting on a helmet) they start turning black and flickering.</p> <h3>Side (first letter after @)</h3> <table> <thead> <tr> <th>letter</th> <th>side</th> </tr> </thead> <tbody> <tr> <td><code>p</code></td> <td>front</td> </tr> <tr> <td><code>z</code></td> <td>back</td> </tr> <tr> <td><code>l</code></td> <td>left temple</td> </tr> <tr> <td><code>r</code></td> <td>right temple</td> </tr> </tbody> </table> <h3>Tilt limits</h3> <p>After the side &mdash; maximum tilt angles in degrees. "Letter + number" pairs, free order: <code>f</code> forward, <code>b</code> back, <code>l</code> left, <code>r</code> right. Example: <code>f40b15l20r5</code> &mdash; forward 40&deg;, back 15&deg;, left 20&deg;, right 5&deg;.</p> <h3>Decimals &mdash; use a comma</h3> <p>The dot is reserved as the flag separator, so decimal values use a <strong>comma</strong>: <code>.tilt0,8</code>, <code>.stiff0,5</code>, <code>f15,5</code>.</p> <hr /> <h2>PART 2. Flags (after a dot)</h2> <h3>Behaviour</h3> <table> <thead> <tr> <th>flag</th> <th>what it does</th> </tr> </thead> <tbody> <tr> <td><code>.own</code></td> <td>rotate from own pivot only, ignore the bone edge. For braids and strands by the face</td> </tr> <tr> <td><code>.nofb</code></td> <td>disable forward-back tilt</td> </tr> <tr> <td><code>.nolr</code></td> <td>disable left-right tilt</td> </tr> <tr> <td><code>.noY</code></td> <td>disable vertical and head effects (flight, head tilt, nod)</td> </tr> <tr> <td><code>.c1</code></td> <td>chain root</td> </tr> <tr> <td><code>.c2(name)</code></td> <td>second link, hangs off bone <code>name</code> (the part before <code>@</code> of the root) and lags behind</td> </tr> </tbody> </table> <h3>Forces (absolute values)</h3> <p>Set the strength of an effect. No flag &mdash; the default is used. The value is absolute: independent of the mod's global settings.</p> <table> <thead> <tr> <th>flag</th> <th>effect</th> <th>default</th> </tr> </thead> <tbody> <tr> <td><code>.run</code></td> <td>run inertia (reaction to body movement)</td> <td>40</td> </tr> <tr> <td><code>.windback</code></td> <td>wind pushes back / away from face</td> <td>16</td> </tr> <tr> <td><code>.windfront</code></td> <td>wind pushes forward / toward face</td> <td>40</td> </tr> <tr> <td><code>.windside</code></td> <td>sideways wind</td> <td>16</td> </tr> <tr> <td><code>.fly</code></td> <td>vertical: up &rarr; toward face, down &rarr; away</td> <td>55</td> </tr> <tr> <td><code>.tilt</code></td> <td>head tilt (hold head down &rarr; strands lag toward the ground)</td> <td>0,5</td> </tr> <tr> <td><code>.nod</code></td> <td>head tilt inertia (a sharp nod)</td> <td>2,5</td> </tr> <tr> <td><code>.shake</code></td> <td>head turn inertia (turn &rarr; strands lag and return)</td> <td>2,5</td> </tr> </tbody> </table> <h3>Spring</h3> <table> <thead> <tr> <th>flag</th> <th>effect</th> <th>default</th> </tr> </thead> <tbody> <tr> <td><code>.stiff</code></td> <td>stiffness (0..1). Higher &mdash; snappier, lower &mdash; smoother, lazier</td> <td>0,35</td> </tr> <tr> <td><

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.