iOSUnrealEngine4研究所UnrealEngine4の研究/開発をしてます。ガルルソフトウェア研究所です。iOS2016年11月10日11:30カテゴリUE4iOSビヘイビアツリーの極小サンプルビヘイビアツリーを使ったAIについて取り組んでみたので、できるだけシンプルにして覚え書き。・敵の移動用の思考パターン(探す、走る、休むを繰り返す)の策定これらをCとかでプログラミングしていく過程を想像する。・迷路データ:まあ平面の単純なものなら2次元配列で作れる。・迷路解析:Aスターアルゴリズムあたりで解析。ステージを解析して迷路データを自動作成したい・移動ロジック・・・・・探す、移動する、止まる、をフローに書いて動いてほしいこんな都合の良いツールはゲーム本編の制作よりも大変そうでわがままなんだけど、UE4は各種ツールでこれをフォローして僕のわがままを聞いてくれる。迷路データは2次元じゃなく立体的な交差にも対応していてすごい。ナビメッシュでステージを解析して迷路データを自動作成できる・移動ロジック・・・探す、移動する、止まるを「ビヘイビアツリー」に書いて、そのとおりに動かせる既存のプロジェクト(TwinStickシューター)で実装してみた。・ブラックボード・・・・各タスク間で情報を共有するためのメモ用紙ナビメッシュはステージ中の迷路に当たる部分をざっくり立方体で包むことで作ることができる。ビヘイビアツリーでは、探す、移動する、休むの3つのタスクが設定されていて、これらと関連付けられた敵キャラがAIControllerを通じて移動してきます。これを実現したUE4の極小プロジェクトをおいておきます。TwinStickシューターに敵キャラを追加して、自分の位置をめがけて移動するサンプルです。目的地に到着したら2秒休んで、また自分の位置を補足する、を繰り返します。注意するべきは、PAWNで「移動する(MoveTo)」タスクを実行するときはコンポーネントに「FloatingPawnMovement」を追加してやること。敵キャラがCharacterの場合は問題ないが、PAWNの場合はこのコンポーネントを追加しておかないと「MoveTo」できないので注意。プロビジョニングファイルさあいよいよプロビジョニングファイルの取得です。ここでは今まで登録、申請してきた情報を一気に結びつけます。ProfilesからALLを選択してください。profileに名前を付けます好きな名前を付けて構いません■そしてついにダウンロード長かったですね・・・。ダウンロードして保存します。これでようやくプロビジョニングファイルと鍵がそろいましたので、やっとアンリアルエンジンの作業に戻ることができます。デバイス登録デバイス登録です。ここまでの流れを軽くおさらいをします。・アプリを実機で動かすための承認書、認証キーを取得したい・アプリ企画を申請してAPPID(管理番号)を取得しました・取得したAPPIDを使って承認書を得るための鍵と申請書を作りました・申請書を提出して承認書を得ましたここでは、承認を得られたのでデバッグに使用するデバイス(iPhone)をDeveloperCenterに登録をします。これで限定的に実機上でアプリを動かすことができます。Storeに公開すればこの限定が外れて制限なく世の中のiPhoneにインストールできるようになります。このステップを終えればようやくプロビジョニングファイルにリーチしますよ。※初回、もしくは2台目の登録に必要な手順ですので既にUDIDを登録している場合は次に進んでも構いません。Centerに登録します。することで、限定的に所有のiPhoneでアプリを動作させることができるようになります。具体的にはiTunesで個体識別番号(UDID)抜き出し、そのUDIDをDevelopperCenterに登録するだけです。・「概要」のページを表示する「シリアル番号」をクリックすると「UDID」→「ECID」→「機種ID」と変化するので「UDID」を表示させます。■UDIDを登録するここからは再びブラウザでの作業になります。DeveloperCenterにアクセスします。⬇Doneを押して登録完了これでデバイスの登録まで完了しました。アプリのID、デバイスの登録、承認書の3点が整いましたので、いよいよプロビジョニングファイルの取得に進むことができます。先ほど作った申請書(CSRファイル)をDevelopperCenterへアップロードします。申請書を提出することで承認書ダウンロードすることができるようになります。Centerへ移動ここではブラウザで作業をしますのでDevelopperCenterへアクセスしてください。Requestを選択。※すでに承認を受けている場合は右上の「+」を押して追加します。Development」にチェックを入れて「Continue」します・次の画面でもContinueする。Allからいつでもアクセス可能で必要なときにダウンロードができるようになっています。鍵と申請書2・CSRファイルとKEYの作成Win上で自分で申請書と認証キーを作るさて次は承認書(*.CER)をダウンロードしてくるための申請書(*.CSR)を作成します。このCSRファイルやKEYを自動生成するためのWindows用ツールがUE4に用意されているのでそれを使います。この時に「申請書」と「鍵(*.KEY)」を同時に生成して、後ほどダウンロードしてくる承認書(*.CER)と「鍵」をペアで使用します。「PackageManager.exe」というツールはWindows用のツールとなっておりmacを使った通常のiOSアプリの申請とはここが異なるので注意してください。・パッケージマネージャーの操作パッケージマネージャーはインストールした場所にもよりますがUE4のインストール先にあります。Games\4.13\Engine\Binaries\DotNET\IOS\IPhonePackager.exe起動するとまず、iPhoneに転送したいプロジェクトの在り処を聴いてくるので、*.uprojectを指定する。すると、以下のような画面が出てくる。pair」を選択すると新しいウインドウが開く。pair」を押して、適当な場所に「DeveloperKeyPair.key」を保存する。Request.csr」というファイルが作られる。Programからメンバーセンターへ移動してアプリIDを取得します。プロビジョニングファイルを手に入れるためには、アプリのID、デバイス登録、承認書類の3つを揃える必要があります。そのための大事なアイテムの1つです。Centerで今から作るアプリを申請してアプリのIDを作成します。WEBブラウザからDeveloperCenterへアクセスする。Descriptionを設定する。これは管理用の名前なのでなんでもいい。複数のアプリIDがある場合に区別するためのタイトルみたいなもの。ここでは「OthelloGame」としています。IDを設定する」というところ。ワイルドカードで指定する。後からBundleIDは確認できるが、後々UE4のプロジェクト設定で同じものを入力することになるので、ちゃんとメモっておくこと。Provisioning」の欄でiOS向けの設定を行うことができます。ここの設定に必要になるファイルは以下の3つです。*.cer(承認書)*.key(開発キー)*.mobileProbitioning(プロビジョニングファイル)これが正しく設定できればiPhoneへの転送はなんら問題ないのだけれども。このファイルってどうやって準備するのでしょうか?これらを全部揃えるのに、いくつもの手続きを通らなくてはいけないので、概要を説明します。Centerで今から作るアプリを申請してアプリのIDを取得します・アプリIDはいくつでも作成できます。・UEのツールで申請書(CSR)と認証キー(KEY)を作ります・ここで作るCSRはCERとは異なります。・CERを得るための承認書がCSRです・「認証キー」は、後でダウンロードしてくる「認証ファイル」とセットで使われます3・CSRファイルのアップロード・ブラウザからAppleDevelopperCenterへアクセスします・アプリを選んで「認証ファイル作成」の申請をする・ここで提出するのがさっき作った申請書(CSR)4・CERファイルのダウンロード・すぐに「アプリの承認ファイル(CER)」ができあがるのでダウンロードできます。転送できるようになりますまずは「0・AppleIDを作成、MemberShipに加入する」から始めましょう。これは説明不要だと思いますので次に進む前にMembershipに登録しておいてください。Centerからダウンロードできるようになります。)2016年10月21日17:11カテゴリUE4iOSUnrealEngine4のアプリをiOSで動かす(1)UnrealEngineではWindowsで作ったアプリを簡単にiPhoneへ出力することができる、らしいが、やってみると、UnrealEngineによらないプロビジョニングファイルとか証明書とかの準備でひたすらつまずいたのでメモっていきます。手順をざっくりフローにするとこんな感じになる。上から順に矢印をたどっていくことで最終的にiPhoneでの起動にたどり着くのだけれども、見ての通りとっても複雑だ。■とりあえず問題が色々あるひととおり試行錯誤してみてつまずいたのがこの辺りだった。Valid4・そもそも*.cer(以下、Cファイル)ファイルがない5・Cファイルと一緒に求められるKeyファイルがない6・Cファイルが有効なキーとペアにならない7・MACでiPhoneに転送しようと思うとコンパイルでフリーズする8・承認ファイルがなくてiOS向けのパッケージングができない9・UE4-Game-info.plistがない10・UDIDってどうやって取得するのか?これらの問題は申請書と一緒に生成されるべきキーファイルが一致してないとか、Appleでの登録情報とアプリでの設定の不一致だったり、そもそもUEで用意されてるはずのファイルが無かったりで、ひとえにこれが問題である、と断定できないので、1つずつ確実に処理していきます。最終的にはCER、KEY、MOBILEPROVITIONINGの3点が揃えばうまく動きます。以降の解説ではWindowsのみで進行します。iTunesが必要になります。MemberShipに加入する必要があります($99)、アンリアルエンジンのバージョンは4.13、2016年10月20日時点での情報です。ゼロノスのマスター提出が10月20日。会長とPが病院に走ってきて解雇を通告しに来たのが10月21日。2週間ほどの入院の予定が2ヶ月位にのびて気持ちも萎えまくっている今日このごろ。忙しかった5年の間に積みに積みまくったゲームを消化していくいいチャンスだと思った。いま世の中はPS4だけど、仕事が忙しくなった20年前からの積みゲーを消化していこう。