code VR

Unity×VR(71)

スポンサーリンク

//tips

//自動生成されたEnemyAIへの攻撃

前回HPUI付きのEnemyAIを作れたので、そのEnemyAIにダメージを与えることを考える。

Rodを持たせたプレイヤーにEnemyAIが近づくと、rodの攻撃モーションが発生する前に攻撃判定が入ってしまう。

これは、OnTriggerEnter(Collider other)の範囲がEnemyAIの索敵フィールドに引っかかってしまい、rodを索敵フィールドで持つと遠距離でもダメージが入ってしまう仕様になっているせいかと思われる。

プレイヤーのHpScriptの方にOnTriggerEnterの相互のダメージ記述があるのが問題かと思ったが、こちらは問題なかった。

rodの攻撃判定を適切に入れるため、EnemyAIの高さも調整し、isTrigger用のコライダーを追加したら2倍のダメージが入ってしまった。

どう索敵フィールドに勘違いさせずに、攻撃判定を与えられるかが焦点となる。Enemy側がweaponを判定してしまうことで誤作動を起こすので、逆にweapon側からダメージ判定を与えられるように考えていく。

rodPivod下にあり、コライダーのオンオフ管理されているrodに直接Ontrigger判定をつけてみた。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class rodManager : MonoBehaviour
{
public float powerEnemy = 1; //攻撃力

HPScriptE hPScriptE;

private void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Enemy")
{
hPScriptE = other.gameObject.GetComponent<HPScriptE>();
//hPScriptE.GetDamage(powerEnemy);
hPScriptE.hp -= powerEnemy;
}
}
}

無事に武器による攻撃判定が通用した。hp0以下になったときにdestroyするスクリプトも追加。

if (hPScriptE.hp <= 0)
{
Destroy(other.gameObject); //ゲームオブジェクトが破壊される
}

InventryUIの表示が邪魔になってきたので、プレイヤー傘下から外し、Screenspace-overrayへ変更する。

Inventoryの親のcanvasごとプレイヤーの外に出し、canvasのrendermodeおよびscale with screen sizeに変更。

再生すると表示場所が若干ずれて表示されるので、canvasについたままになっていたUIControllerよびPlayerUIScriptを削除。Inventory表示はInput.GetKeyDown(KeyCode.LeftShift)でshiftキー操作に変更。aキーにしたら変換文字予測が出てきたのでshiftにした。

プレイヤー消滅時にエラーが出るのでif (playerTransform != null)の条件をプレイヤー追跡時にプレイヤーの位置を参照するスクリプトに追加した。

if (state == EnemyState.Chase)
{
if (playerTransform != null)
{
setPosition.SetDestination(playerTransform.position);
navMeshAgent.SetDestination(setPosition.GetDestination());
}
}

これによりプレイヤー消滅後は自動探索に戻るようになった。

Inventoryを見やすい位置に移動させることができるように次はドラッグ対応の仕方を考えていく。

人気の記事

1

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

3

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

-code, VR
-,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.