sunarit’s blog

Unity開発の備忘録

2015-05-01から1ヶ月間の記事一覧

【オススメ!】Behavior Designer

敵キャラクターが出現するようなゲームを作る際、重要になるのが敵の挙動です。 ただ単に歩くだけ、走るだけならスクリプトで書けないこともないですが、プレイヤーとの距離に応じた行動や攻撃等を行わせる場合、スクリプトを書くよりもAIツールを入れてしま…

距離によるダメージコントロール

距離が10以上離れていたらならダメージは50%オフ。 Projectile側よりもEnemy側で計算した方が軽い。 Easy Weapons 3.0.2EnemyHealth.cs public void ChangeHealth (float amount) { playerPos = player.transform.position; Vector3 myPosition = gameObject…

【オススメ!】Advanced FPS Counter

モバイルデバイス対応のゲームを作る際に一番ネックになるのがパフォーマンスです。 安定していないフレームレートはゲームプレイにダイレクトに影響しますしね。 そこでおすすめなのが、Advanced FPS Counter。 下の画像はiPhone6で動作させているときのキ…

Dialogue Systemで会話終了時にメソッド実行

敵を倒して取得した経験値を消費して、プレイヤーパラメーターを上げるっていうのをDialogue System&EasySave2で実装。 Dialogue System 1.5.0[ロジック] 1. NPCに話しかける 2. 経験値が足りているかチェック 3. (経験値が足りていれば)どのパラメーターを…

Easy Weaponsでリロード中のコール

Easy Weaponsでリロード中に何かを実行する。 Easy Weapons 3.0.2Weapon.cs SendMessageUpwards("OnEasyWeaponsReload", SendMessageOptions.DontRequireReceiver); myReloading.cs public IEnumerator OnEasyWeaponsReload () { Debug.Log("Now Reloading!!…

敵のヒットバックとNavMesh停止

敵に弾がヒットした際、ヒットバックアニメーションを再生し、NavMeshを一時停止。 StartCoroutineでコール。 public IEnumerator getHit () { this.GetComponent<Animator>().SetTrigger("GetHit1"); NavMeshPath path = new NavMeshPath(); if (agent.hasPath && cur</animator>…