LoginSignup
0
1

More than 3 years have passed since last update.

Unity 3D入門 #7 [アセット&敵の追加]

Posted at

前回作った宝探しゲームを豪華にするために、新しいアセットの追加と妨害要素である敵を追加したいと思います。

建物アセット:Sun Temple
Sun Temple参考URL:https://www.asset-sale.net/entry/Sun_Temple

ここで、Sun Templeに入っている家を置こうとすると

'MinAttribute' is an ambiguous reference between 'UnityEngine.PostProcessing.MinAttribute' and 'UnityEngine.MinAttribute'

上のようなエラーが出てしまいました。
これは、MinDrawer.cs内のMinAttributeを3箇所UnityEngine.PostProcessing.MinAttribute に変更すると解決しました。

MinAttributeエラー参考URL:https://qiita.com/ELIXIR/items/140ee125b3c52cc7251d

スクリーンショット 2020-07-22 0.06.33.png

だいたいこんな感じの建物ができました。
現時点では、なぜか壁をすり抜けて家の中に入れることや、家の内部の照明がないこと、扉を開けるスクリプトがないことが問題点としてあげられます。
とりあえず今はただの障害物として配置するにとどめます。

敵(ゴーレム)アセット:Mini Legion Rock Golem PBR HP Polyart
敵の見た目はこのようになります。
スクリーンショット 2020-07-21 16.18.19.png

また、animatorは変更しなければならず、移動についてコードを書く必要があります。

とりあえず、プレイヤーに向かって歩き続けるコードを書きます。

プレイヤーを追いかけ続けるためにNavMeshを使った手法があります。
NavMesh概要参考URL:https://unity.moon-bear.com/3dホラーゲーム「スケアクロウ:廃村の恐怖」/navmeshを使って「追いかけてくる敵キャラ」を作る/

上のURLでは「Window」→「Navigation」とありますが、自分のunityでは違う場所にあったので、メモがわりにスクショを載せます。

スクリーンショット 2020-07-27 19.22.54.png

また、追いかけるプログラムは(https://mono-pro.net/archives/6439 )を参考に以下のようにしました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;  // ここを追加

public class chasePlayer : MonoBehaviour {
    private GameObject player;
    private NavMeshAgent agent;
    void Start() {
        player = GameObject.FindWithTag ("Player");
        agent = GetComponent<NavMeshAgent>();
    }
    void Update() {
        agent.destination = player.transform.position;
    }
}

*プレイヤーを追いかける敵にNav Mesh Agentをアタッチすることを忘れないよう注意

これで、敵がプレイヤーを追いかけてくれるようになりました。
現段階では敵の歩行モーションの設定などをしていないので、スライド移動ですが、いつかやろうと思います。

ezgif-7-7f79660f4cca.gif

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1