キャラクタのライフサイクル中、システムはアビリティとノードを使用して、以下のシグナルをtrueまたはfalseに設定します。
例えば、キャラクタが右に移動している場合、システムはキャラクタのベロシティを読み取り、x方向のベロシティが正であればvelXRightシグナルをtrueに設定します。
スプライト・エンジンを使用している場合、これらの信号は自動的に読み込まれ、アニメーションの状態を制御します。それ以外のことを気にする必要はありません。
スプライト・エンジンを使用していない場合、代替手段としてスプライト・エンジンUAを使用し、unityアニメーションでスプライト・エンジンの機能を使用することができます。
あるいは、PlayerとAIの基本クラスであるCharacterを通して、以下のシグナルにアクセスすることもできます。Character.signals.signalsを使用し、namespaceのTwoBitMachines.FlareEngineをインクルードする必要があります。s
ignalsクラスは、stringとboolのキーと値のペアを持ちます。
これらのシグナルはフレームごとにfalseにリセットすることを忘れないでください。
以下のようになります。
using System.Collections.Generic;
using TwoBitMachines.FlareEngine;
using UnityEngine;
public class YourClass: MonoBehaviour
{
// set the player reference
public Character character;
private Dictionary<string, bool> signals = new Dictionary<string, bool> ( );
// list of your variables
public bool variable1;
public bool variable2;
private void Awake ( )
{
signals = character.signals.signals;
}
// flare will set all the character signals during Update, so you can use LateUpdate
// or rename this method and call it manually
public void LateUpdate ( )
{
// map the signals
// you have to make sure these signals exist or you will get an error
// variable1 = signals["velXRight"]; -- this can give you an error
// variable2 = signals["climb"];
// so do it like this instead
// the out bool can be named whatever you want
if (signals.TryGetValue ("velXRight", out bool velXRight)) variable1 = velXRight;
if (signals.TryGetValue ("climb", out bool climbWall)) variable2 = climbWall;
// clear list;
signals.Clear ( );
}
}
- velX (X方向ベロシティ)
- velXLeft (X方向負ベロシティ)
- velXRight (X方向正ベロシティ)
- velXZero (X方向のベロシティがゼロ)
- velY (Y方向ベロシティ)
- velYUp (Y方向正ベロシティ)
- velYDown (Y方向負ベロシティ)
- velYZero (Y方向のベロシティがゼロ)
- onGround (設置している)
- jumping (ジャンプしている)
- airJump
- airGlide
- highJump
- windJump
- running
- hover
- ladderClimb
- ceilingClimb
- crouch
- crouchSlide
- crouchWalk
- friction
- sliding
- autoGround
- dashing
- dashX
- dashY
- dashDiagonal
- pushBack
- pushBackLeft
- pushBackRight
- pushBlock
- pullBlock
- pickAndThrowBlock
- pickingUpBlock
- holdingBlock
- throwingBlock
- cannonBlast
- rope
- ropeClimbing
- ropeHanging
- ropeHolding
- ropeSwinging
- inWater (水中)
- swimming
- floating
- wall
- wallLeft
- wallRight
- wallClimb
- wallHold
- wallSlide
- wallHang
- wallSlideJump
- wallCornerGrab
- slopeSlide
- slopeSlideAuto
- recoil
- recoilLeft
- recoilRight
- recoilUp
- recoilDown
- recoilShake
- recoilSlide
- mouseDirectionLeft
- mouseDirectionRight
- meleeCombo
- zipline
- vehicleMounted
- onVehicle
- alwaysTrue (常に正)
- alwaysFalse (常に負)