XML:Adding Daodan powers to a character: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (+cat; +finish)
m (tree list)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{finish}}
{{finish}}
==Enable Daodan==


==Add Daodan particle==
If you want to help finishing the page you can:
* document the BINA3RAP DisplayType flags
* break down one Daodan particle system, show by word and image what particle does what
* research the function of body part flags KillImpact and None


==Change Daodan particle appearance==
===Emitters===
===Lensflare types===
===Colors===


==Special animation-bound daodan particle==
==Daodan particle==
A.k.a. Daodan spikes
The Daodan '''particle themselves are just decorative.''' Normally they get visible when a character reaches "overhealth" (more than 100 % health).
: The cheat "chenille" and its script equivalent can also show these particle.
 
However, while having overhealth the [[XML:ONGS#XML_tags|Daodan '''flag improves damage output''']].
 
Additionally, the Chenille or having over 150 % health activates the supershield if it was enabled in ONCC.
: The supershield grants complete immunity against melee damage and is traditionally only used by MutantMuro.
 
===ONCC preparation===
First things first, enable the Daodan system: Open your desired ONCC xml file and set the value of <HasDaodanPowers> to 1.
 
Particles must be added to ONCC.
 
Traditionally, Daodan particle are emitted from the pelvis, the left fist and the right fist.
 
* Name - this is an anchor for TRAM files but "'''super_'''" possibly forces the particle to be played on all animations
* Type - particle (BINA3RAP) file
* BodyPart - pretty much what the name suggests, see [[#Body_part_flags|ONCP flags]]
 
            <ONCPParticle>
                <Name>super_glow</Name>
                <Type>superglow_e01</Type>
                <BodyPart>Pelvis</BodyPart>
            </ONCPParticle>
            <ONCPParticle>
                <Name>super_l_hand</Name>
                <Type>super_e01</Type>
                <BodyPart>LeftFist</BodyPart>
            </ONCPParticle>
            <ONCPParticle>
                <Name>super_r_hand</Name>
                <Type>super_e01</Type>
                <BodyPart>RightFist</BodyPart>
            </ONCPParticle>
 
 
Fun fact: Mukade is also referred to as "'''super''' ninja", another hint that he is meant to be a Daodan host.
 
===BINA3RAP preparation===
====Emitters====
With '''emitter particle''' you set up properties for the other, visible particle: '''start positions, movement and creation rate'''.
 
 
====File structure====
Most particle actually consist of multiple particle files and hence should be seen as their very own systems.
 
Like this:
 
{{Tree list}}
* _e
**_e
***_p
***_p
**_p
**_p
**_p
**_p
{{Tree list/end}}
 
====Sample code====
=====Emitter=====
 
* Variable - holds the rate (frequency) to emit particles
* Emitter - determines some properties of sub emitters or actual particles
* Events > Update > '''SuperParticle''' - overwrites the default emit rate (Variable)
:: Traditionally, while the '''_e file controls the emit rate''' the '''_p file controls the visibility''' (transparency a.k.a. alpha value).
* Events > Update > Start/Stop - holds actions to start and stop the emitter
 
        <Variables>
            <Float Name="emit_rate">0.2</Float>
        </Variables>
        <Emitters>
            <Emitter>
                <Class>superglow_p01</Class>
                <Flags />
                <TurnOffTreshold>0</TurnOffTreshold>
                <Probability>1</Probability>
                <Copies>10</Copies>
                <LinkTo />
                <Rate>
                    <Continous>
                        <Interval>emit_rate</Interval>
                    </Continous>
                </Rate>
                <Position>
                    <BodyBones>
                        <OffsetRadius>0.7</OffsetRadius>
                    </BodyBones>
                </Position>
                <Direction>
                    <Random />
                </Direction>
                <Speed>
                    <Uniform>
                        <Speed>0.8</Speed>
                    </Uniform>
                </Speed>
                <Orientation>Velocity</Orientation>
                <OrientationUp>TowardsEmitter</OrientationUp>
            </Emitter>
        </Emitters>
        <Events>
            <Update>
                <SuperParticle>
                    <Variable>emit_rate</Variable>
                    <BaseValue>0.25</BaseValue>
                    <DeltaValue>-0.1</DeltaValue>
                    <MinValue>0.1</MinValue>
                    <MaxValue>20</MaxValue>
                </SuperParticle>
            </Update>
            <Start>
                <EmitActivate>
                    <Emitter>0</Emitter>
                </EmitActivate>
                <EnableNow>
                    <Action>0</Action>
                </EnableNow>
            </Start>
            <Stop>
                <EmitDeactivate>
                    <Emitter>0</Emitter>
                </EmitDeactivate>
                <DisableNow>
                    <Action>0</Action>
                </DisableNow>
            </Stop>
        </Events>
 
 
=====Particle=====
 
...
 
 
====Lensflare types====
These textures (TXMP) are meant to smoothly overlay each other creating the illusion of a fog or aura.
 
Smooth blending of dark or black textures is not really possible.
 
 
:Forms
: <TexGeom>
:: Link to texture (TXMP) file.
 
 
:Behaviours
: <DisplayType>
:: See [[XML:BINA/PAR3#Appearance|BINA3RAP documentation]].
 
 
====Colors====
Typically, white shapes are used so you can give them later any color you want by using the Tint tag.
 
Tint tag:
<Tint>51 76 255
 
Since <Tint> uses here a RGB value, the <nowiki><Color Name="tint"></nowiki> is ignored. Possibly the developer just didn't cleaned up the unused variable.
 
Color overwrite (unused):
      <Variables>
            <Color Name="tint">
                <Random Min="230 230 255" Max="128 128 255" />
            </Color>
 
 
==Pseudo-Daodan particle used in cutscenes==
Konoko shows Daodan spikes after reaching a few end level checkpoints.
 
Technically these particle are bound to animations. But they are only used in cutscenes though BSL.
 
Note how these particle don't use the "super_" keyword in their filenames. So they cannot be triggered by the overhealth mechanism. Though it wouldn't make much sense, they are meant to explode once and fade away.
 
===ONCC preparation===
Like the other Daodan particle those two added to ONCC as well so that the animations can make actual use of them.
 
            <ONCPParticle>
                <Name>daodan</Name>
                <Type>h2h_powerup_e01</Type>
                <BodyPart>None</BodyPart>
            </ONCPParticle>
            <ONCPParticle>
                <Name>daodan2</Name>
                <Type>h2h_powerup_e01a</Type>
                <BodyPart>None</BodyPart>
            </ONCPParticle>
 
* Name - this is an anchor for TRAM files
* Type - particle (BINA3RAP) file
* BodyPart - pretty much what the name suggests, see [[#Body_part_flags|ONCP flags]]
 
 
===BINA3RAP preparation===
...
 
 
===TRAM preparation===
...
 
==Body part flags==
: Pelvis
: LeftThigh
: LeftCalf
: LeftFoot
: RightThigh
: RightCalf
: RightFoot
: Mid
: Chest
: Neck
: Head
: LeftShoulder
: LeftArm
: LeftWrist
: LeftFist
: RightShoulder
: RightArm
: RightWrist
: RightFist
: KillImpact (speculation: creates a virtual bone to allow the ONIE system to work ?)
: None (speculation: every bone/surface at once or bounding box center ?)
 


[[Category:Modding tutorials]]
[[Category:Modding tutorials]]

Latest revision as of 19:16, 6 December 2023

Unfinished building-60px.jpg

This page is unfinished. Can you fill in any missing information?
If it is not clear which part of the page is unfinished, ask on the talk page.

If you want to help finishing the page you can:

  • document the BINA3RAP DisplayType flags
  • break down one Daodan particle system, show by word and image what particle does what
  • research the function of body part flags KillImpact and None


Daodan particle

The Daodan particle themselves are just decorative. Normally they get visible when a character reaches "overhealth" (more than 100 % health).

The cheat "chenille" and its script equivalent can also show these particle.

However, while having overhealth the Daodan flag improves damage output.

Additionally, the Chenille or having over 150 % health activates the supershield if it was enabled in ONCC.

The supershield grants complete immunity against melee damage and is traditionally only used by MutantMuro.

ONCC preparation

First things first, enable the Daodan system: Open your desired ONCC xml file and set the value of <HasDaodanPowers> to 1.

Particles must be added to ONCC.

Traditionally, Daodan particle are emitted from the pelvis, the left fist and the right fist.

  • Name - this is an anchor for TRAM files but "super_" possibly forces the particle to be played on all animations
  • Type - particle (BINA3RAP) file
  • BodyPart - pretty much what the name suggests, see ONCP flags
           <ONCPParticle>
               <Name>super_glow</Name>
               <Type>superglow_e01</Type>
               <BodyPart>Pelvis</BodyPart>
           </ONCPParticle>
           <ONCPParticle>
               <Name>super_l_hand</Name>
               <Type>super_e01</Type>
               <BodyPart>LeftFist</BodyPart>
           </ONCPParticle>
           <ONCPParticle>
               <Name>super_r_hand</Name>
               <Type>super_e01</Type>
               <BodyPart>RightFist</BodyPart>
           </ONCPParticle>


Fun fact: Mukade is also referred to as "super ninja", another hint that he is meant to be a Daodan host.

BINA3RAP preparation

Emitters

With emitter particle you set up properties for the other, visible particle: start positions, movement and creation rate.


File structure

Most particle actually consist of multiple particle files and hence should be seen as their very own systems.

Like this:

  • _e
    • _e
      • _p
      • _p
    • _p
    • _p
    • _p
    • _p

Sample code

Emitter
  • Variable - holds the rate (frequency) to emit particles
  • Emitter - determines some properties of sub emitters or actual particles
  • Events > Update > SuperParticle - overwrites the default emit rate (Variable)
Traditionally, while the _e file controls the emit rate the _p file controls the visibility (transparency a.k.a. alpha value).
  • Events > Update > Start/Stop - holds actions to start and stop the emitter
       <Variables>
           <Float Name="emit_rate">0.2</Float>
       </Variables>
       <Emitters>
           <Emitter>
               <Class>superglow_p01</Class>
               <Flags />
               <TurnOffTreshold>0</TurnOffTreshold>
               <Probability>1</Probability>
               <Copies>10</Copies>
               <LinkTo />
               <Rate>
                   <Continous>
                       <Interval>emit_rate</Interval>
                   </Continous>
               </Rate>
               <Position>
                   <BodyBones>
                       <OffsetRadius>0.7</OffsetRadius>
                   </BodyBones>
               </Position>
               <Direction>
                   <Random />
               </Direction>
               <Speed>
                   <Uniform>
                       <Speed>0.8</Speed>
                   </Uniform>
               </Speed>
               <Orientation>Velocity</Orientation>
               <OrientationUp>TowardsEmitter</OrientationUp>
           </Emitter>
       </Emitters>
       <Events>
           <Update>
               <SuperParticle>
                   <Variable>emit_rate</Variable>
                   <BaseValue>0.25</BaseValue>
                   <DeltaValue>-0.1</DeltaValue>
                   <MinValue>0.1</MinValue>
                   <MaxValue>20</MaxValue>
               </SuperParticle>
           </Update>
           <Start>
               <EmitActivate>
                   <Emitter>0</Emitter>
               </EmitActivate>
               <EnableNow>
                   <Action>0</Action>
               </EnableNow>
           </Start>
           <Stop>
               <EmitDeactivate>
                   <Emitter>0</Emitter>
               </EmitDeactivate>
               <DisableNow>
                   <Action>0</Action>
               </DisableNow>
           </Stop>
       </Events>


Particle

...


Lensflare types

These textures (TXMP) are meant to smoothly overlay each other creating the illusion of a fog or aura.

Smooth blending of dark or black textures is not really possible.


Forms
<TexGeom>
Link to texture (TXMP) file.


Behaviours
<DisplayType>
See BINA3RAP documentation.


Colors

Typically, white shapes are used so you can give them later any color you want by using the Tint tag.

Tint tag:

<Tint>51 76 255

Since <Tint> uses here a RGB value, the <Color Name="tint"> is ignored. Possibly the developer just didn't cleaned up the unused variable.

Color overwrite (unused):

      <Variables>
           <Color Name="tint">
               <Random Min="230 230 255" Max="128 128 255" />
           </Color>


Pseudo-Daodan particle used in cutscenes

Konoko shows Daodan spikes after reaching a few end level checkpoints.

Technically these particle are bound to animations. But they are only used in cutscenes though BSL.

Note how these particle don't use the "super_" keyword in their filenames. So they cannot be triggered by the overhealth mechanism. Though it wouldn't make much sense, they are meant to explode once and fade away.

ONCC preparation

Like the other Daodan particle those two added to ONCC as well so that the animations can make actual use of them.

           <ONCPParticle>
               <Name>daodan</Name>
               <Type>h2h_powerup_e01</Type>
               <BodyPart>None</BodyPart>
           </ONCPParticle>
           <ONCPParticle>
               <Name>daodan2</Name>
               <Type>h2h_powerup_e01a</Type>
               <BodyPart>None</BodyPart>
           </ONCPParticle>
  • Name - this is an anchor for TRAM files
  • Type - particle (BINA3RAP) file
  • BodyPart - pretty much what the name suggests, see ONCP flags


BINA3RAP preparation

...


TRAM preparation

...

Body part flags

Pelvis
LeftThigh
LeftCalf
LeftFoot
RightThigh
RightCalf
RightFoot
Mid
Chest
Neck
Head
LeftShoulder
LeftArm
LeftWrist
LeftFist
RightShoulder
RightArm
RightWrist
RightFist
KillImpact (speculation: creates a virtual bone to allow the ONIE system to work ?)
None (speculation: every bone/surface at once or bounding box center ?)