以下の内容はhttps://alotofdata.blog.jp/archives/2021-01.htmlより取得しました。


タイトルの通り、UEBSこと、Ultimate Epic Battle Simulatorが2月3日の午前3時まで無料配布しています。
本ゲームは、兵士等のユニットを配置して、AIが勝手に行動するのを見ることが出来るシミュレーターです。
あくまでゲームではありませんが、ゲーム的使い方をしている人も結構多く、楽しめるようです。

一番最初は2月1日の10時までに設定されていたのですが、気付いたら変更されていました・・・。

下記リンクから追加可能です!


UEBS_Sale
ここしばらく最近はフリープレイや無料配布が結構あるので、結構頻繁に確認した方がいいかもしれませんね!


木を伐り石を削りながら列車を延々と伸ばしていくゲームであるUnrailed!がフリープレイ中との事だったので、少しやってみました。

何かのコラボキャンペーンなのか、Steamでは配信者さんが常に配信しているという状況。
Unrailed1

配信中、一瞬だけHumbleBandleの文字が見えましたので、もしかするとHumbleの紹介キャンペーンと連動しているのかもしれません。
Unrailed2
また、上記画像にあるように、半額の割引も実施中です。
実は以前に値上げした影響で最低価格ではないのですが、割引率は今までの中で一番高いです。
Freeplayでこの価格ですので、恐らく今後の最低価格がこれと見積もった方がいいでしょう。

私は買うかはまだ悩んでますが、一応ご紹介まで~

まさかStandard Assetでエラーが起きるとは思ってませんでしたので、結構手間取りました。
どれぐらい時間とられたかと言うと5時間ぐらいです。(Unity慣れてません+C#初めてなので・・)
・・・時間返して・・・

というのは置いておきまして、本題に入ります。

「AIThirdPersonControllerを使うと、Playerに迫ってくる敵キャラが作れるよ!」というお話を聞きまして、それを導入しようとすると、AICharacterControlとその下にあるスクリプトがエラーを出して読み込むことが出来ないという問題が発生しました。

暫く検索していて判明したのは以下の通りです。
・AIThirdPersonControllerの問題ではない
↓では何か
・Unity Standard Asset自体の問題

今回は↑の事を分かっていないといつまでたってもこたえにたどりつけないという悪魔の仕様でした。
なので、今後何かしらエラーが出たら、AIThirdPerson単体のエラーではなく、Standard Asset側のエラーの可能性を考慮した方がいいかもしれません。

肝心の解消方法ですが、SimpleActivatotMenu.csを書き換えます。

Before

using System;
using UnityEngine;

#pragma warning disable 618
namespace UnityStandardAssets.Utility
{
    public class SimpleActivatorMenu : MonoBehaviour
    {
        // An incredibly simple menu which, when given references
        // to gameobjects in the scene
        public GUIText camSwitchButton;
        public GameObject[] objects;


        private int m_CurrentActiveObject;


        private void OnEnable()
        {
            // active object starts from first in array
            m_CurrentActiveObject = 0;
            camSwitchButton.text = objects[m_CurrentActiveObject].name;
        }


        public void NextCamera()
        {
            int nextactiveobject = m_CurrentActiveObject + 1 >= objects.Length ? 0 : m_CurrentActiveObject + 1;

            for (int i = 0; i < objects.Length; i++)
            {
                objects[i].SetActive(i == nextactiveobject);
            }

            m_CurrentActiveObject = nextactiveobject;
            camSwitchButton.text = objects[m_CurrentActiveObject].name;
        }
    }
}


After

using System;
using UnityEngine;

using UnityEngine.UI;

#pragma warning disable 618
namespace UnityStandardAssets.Utility
{
public class SimpleActivatorMenu : MonoBehaviour
{
// An incredibly simple menu which, when given references
// to gameobjects in the scene
public Text camSwitchButton;
public GameObject[] objects;


private int m_CurrentActiveObject;


private void OnEnable()
{
// active object starts from first in array
m_CurrentActiveObject = 0;
camSwitchButton.text = objects[m_CurrentActiveObject].name;
}


public void NextCamera()
{
int nextactiveobject = m_CurrentActiveObject + 1 >= objects.Length ? 0 : m_CurrentActiveObject + 1;

for (int i = 0; i < objects.Length; i++)
{
objects[i].SetActive(i == nextactiveobject);
}

m_CurrentActiveObject = nextactiveobject;
camSwitchButton.text = objects[m_CurrentActiveObject].name;
}
}
}


こんな感じでコピペで恐らくはいけます。
ただ、何が変わったんだ? という部分がありますので一応。

まず、4行目に「using UnityEngine.UI;」

を足しています。

さらに、10行目の
public GUIText camSwitchButton;
を、
public Text camSwitchButton;
に変更です。
これだけで一応動くようになると思います~







以上の内容はhttps://alotofdata.blog.jp/archives/2021-01.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14