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

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、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.