code VR

Unity×VR(112)

スポンサーリンク

//tips

//カウント管理の仕組みとゲームシステムの連動

GolemSoulCounterスクリプトでキャラクター保有のカウントを減らすことができたので、次はPostで管理するカウント変数を増やし、その数がmaxになった時にゲームクリアになるようにする。

SoulPostオブジェクトにSoulPostManagerを作成し、そこでPost保有の魂の数を管理させる。

下記のコードを新たに作成した提出個数を表示するテキストにアタッチした。

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

public class SoulPostTextcount : MonoBehaviour
{
public int Postcount;
string soultext;

void Update()
{
soultext = Postcount.ToString();
GetComponent<Text>().text = "現在差し出された魂は"+soultext+ "個です";
}

public void PostManage()
{
Postcount++;
}
}

Postcountが3つ貯まったらクリアシーンに遷移するようにする。GoalSceneを作成し、SoulPostTextcountスクリプトにはusing UnityEngine.SceneManagement;
と SceneManager.LoadScene("GoalScene”);を挿入。

作成したゴールシーンには下記スクリプトをアタッチしておく。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class BackGameScript : MonoBehaviour
{
void Update()
{
if (Input.anyKeyDown)
{
SceneManager.LoadScene("Gohlem Test");
}
}
}

無事にゲームクリアシーンとの行き来もできた。今回のGohlem対応のオブジェクトはenv2シーンに入れても問題ないはずなので、Gohlem関連オブジェクト一式を導入する。ゴーレムを動かして見たいのでbakeする。Terrainを選択し、Staticにチェックが入っていることが確認した後navigationタブからbake。

オブジェクトを導入した際にインスペクターにアタッチしたオブジェクトがいくつか外れているので再確認。

一旦確認すると動きが若干もっさりしていることと、gohlemの動ける領域が気になったので、gohlemの稼働範囲のスクリプトを見直す。

gohlemの移動は、MoveEnemyスクリプトとSetPositionスクリプトからなっているが初期スポーン位置を中心にrandDestination = Random.insideUnitCircle * 4;で四マス範囲の座標にランダムで目的地設定し、移動するようになっている。

目的地に到着した場合にも歩き続けているように思われたが、観察しているときちんと止まる場合もある。MoveEnemyスクリプトのwaittimeを長くすると止まる挙動を観測しやすくなった。ただ、まだ突然の方向転換のような 挙動を見せるのでDebug.Logを入れて確認。

if (navMeshAgent.remainingDistance < 1f)にDebug.Log("Walktime”);、if (elapsedTime > waitTime)にDebug.Log("Waittime”);を入れて両者の数値が一致しているか確認すると一致していたので場所設定の回数と待機の回数は間違っていない。

なので、要因はアクションの継続時間かTime.deltaTimeの計測時間に問題があることがわかる。Time.fixedDeltaTimeに変更して様子を見る。elapsedTime += Time.fixedDeltaTime;。

これでかなり改善された。目的地に到着したら必ずパンチモーションを繰り出すようになっているのでchaseからwaitに移行した場合にパンチモーションが行われるように変更する。punchflagの位置をchaseの中に移動。これでchaseの場合のみパンチモーションを繰り出すようになった。

ついでに回転の際のスピードを45から100にあげることで素早く目的地方向に顔を向けるようにした。

障害物に当たった場合の処理を加えるか考えたが、キャラクターをenv2シーンに導入してchaseした際、違和感があれば処理を行うことにする。

 

人気の記事

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.