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

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

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

4

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

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-code, VR
-,

Copyright© BUSINESS HACKER , 2021 All Rights Reserved Powered by AFFINGER5.