facebook twitter hatena line email

「Unity/おすすめアセット/HeroEditor4D」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(CharacterStateの型エラーが起こるとき)
(顔を色を変更)
行18: 行18:
  
 
Character4D character4D = GameObject.Find("Human").GetComponent<Character4D>();
 
Character4D character4D = GameObject.Find("Human").GetComponent<Character4D>();
character4D.BodyColor = new Color(0f, 0.46f, 0.17f);
+
character4D.BodyColor = new Color(0f, 0.46f, 0.17f); // ゾンビ系
 +
character4D.BodyColor = new Color(1f, 0.784f, 0.470f); // 肌色
 
character4D.OnValidate();
 
character4D.OnValidate();
 
</pre>
 
</pre>

2021年5月23日 (日) 03:54時点における版

HeroEditor4D

https://assetstore.unity.com/packages/2d/characters/fantasy-heroes-4-directional-character-editor-147364/reviews?locale=ja-JP

エディタの使い方と作成したキャラの配置

  1. HeroEditor4Dをインストールする
  2. Assets/HeroEditor4D/FantasyHeroes/CharacterEditor [FH]を開き、"Save/Prefab"を押し、Humanという名前でファイルを保存する。
  3. シーンを新たに作り、以下をオブジェクトを、作ったシーンに、コピーし、Humanもシーン内に移動する。
CharacterControls
CharacterEquipment
CharacterAppearance
  1. 実行すれば、キャラが動く。

顔を色を変更

using Assets.HeroEditor4D.Common.CharacterScripts;

Character4D character4D = GameObject.Find("Human").GetComponent<Character4D>();
character4D.BodyColor = new Color(0f, 0.46f, 0.17f); // ゾンビ系
character4D.BodyColor = new Color(1f, 0.784f, 0.470f); // 肌色
character4D.OnValidate();

jsonデータ読み込み

string json = @"
{'Body':'Basic/HumanPants#FFC878FF','Ears':'Basic/Human#FFC878FF','Hair':'Basic/Default','Beard':null,'Helmet':'Basic/AlchemistClothes','Armor':'Basic/TemplarArmor','PrimaryWeapon':'Basic/BlackSteelAxe','SecondaryWeapon':null,'Cape':null,'Back':null,'Shield':'Basic/Bloodmoon','Bow':null,'Crossbow':'Basic/BlackSteelAxe','WeaponType':'Melee1H','Expression':'Default','HideEars':'True','CropHair':'False','Makeup':null,'Mask':null,'Earrings':null,'Expression.Default.Eyebrows':'Basic/Eyebrows7','Expression.Default.Eyes':'Emoji/AngryEyes1#00C8FFFF','Expression.Default.Mouth':'Basic/Default','Expression.Angry.Eyebrows':'Emoji/AngryEyebrowns','Expression.Angry.Eyes':'Emoji/AngryEyes3#00C8FFFF','Expression.Angry.Mouth':'Emoji/AngryMouth1','Expression.Dead.Eyebrows':'Emoji/DeadEyebrowns1','Expression.Dead.Eyes':'Emoji/DeadEyes3#00C8FFFF','Expression.Dead.Mouth':'Emoji/DeadMouth1','Expression.Happy.Eyebrows':'Emoji/DeadEyebrowns1','Expression.Happy.Eyes':'Emoji/HappyEyes#00C8FFFF','Expression.Happy.Mouth':'Basic/Smirk'}
";
character4D.LoadFromJson(json, silent: false);

キャラクタの向き

Character4D humanCharacter4D = GameObject.Find("Human").GetComponent<Character4D>();
humanCharacter4D.SetDirection(Vector2.up); // 上
humanCharacter4D.SetDirection(Vector2.down); // 下
humanCharacter4D.SetDirection(Vector2.left); // 左
humanCharacter4D.SetDirection(Vector2.right); // 右

アクション

humanCharacter4D.AnimationManager.Attack(); // 攻撃(A)
humanCharacter4D.AnimationManager.SecondaryShot(); // (F) 上向き下向きだと機能しない?
humanCharacter4D.AnimationManager.SetState(CharacterState.Idle); // アイドル状態(I)
humanCharacter4D.AnimationManager.SetState(CharacterState.Ready); // 準備(E)
humanCharacter4D.AnimationManager.SetState(CharacterState.Walk); // 歩く(W)
humanCharacter4D.AnimationManager.SetState(CharacterState.Run); // 走る(R)
humanCharacter4D.AnimationManager.SetState(CharacterState.Jump); // 飛ぶ(J)
humanCharacter4D.AnimationManager.SetState(CharacterState.Climb); // しゃがむ?(C)
humanCharacter4D.AnimationManager.Die(); // 倒れる(D)
humanCharacter4D.AnimationManager.Hit(); // ダメージ(H)

iOSビルド時

以下エラーが発生するが、

Assets/HeroEditor4D/FantasyInventory/Scripts/Data/Property.cs(6,7): error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing a using directive or an assembly reference?)

Newtonsoft.Json.dllを、Pluginsの下に移動すると直る。

mv HeroEditor4D/Common/Newtonsoft/Newtonsoft.Json.dll ./Plugins

CharacterStateの型エラーが起こるとき

以下エラーが起こる

Assets/Scripts/SampleScene.cs(206,52): error CS1503: Argument 1: cannot convert from 'CharacterState' to 'Assets.HeroEditor4D.Common.CharacterScripts.CharacterState'

namespaceがなく、CharacterStateが他のlibrary(PhotonUnityNetwork)とかぶってるので、 CharacterState.Idleなどを Assets.HeroEditor4D.Common.CharacterScripts.CharacterState.Idleなどへ置換すれば良い。