Ravenfield Guide

[日本語]MODの作成方法 for Ravenfield

[日本語]MODの作成方法

Overview

公式のガイドの一部を簡単に私訳したものです。可能な限り読みやすく作っています。

訳前記

MODを作ろうと思ったがwikiはおろか日本語解説がないので素晴らしき公式ガイドを翻訳し、それを記録するためにこのガイドを作成しました。
誤訳や修正箇所が多数あるとおもいますがご指摘いただければ可能な限り改善します。

Ravenfield Toolsの導入

まずレイヴンフィールドのカスタムマップ作製に興味を持ちこのガイドを見てくれてありがとう!
ここを見ているということはまずRavenfield Toolsとほかに必要なものをここからダウンロードできるはずだ。
Ravenfield Tools:Google Drive[drive.google.com](そのうち公式サイトを用意するよ!)
Unity 5.6.3p1(無料版):公式サイト[unity3d.com](翻訳注:利便上リンクは公式サイトです)
Blender(必須ではないが、あると便利):ダウンロード[www.blender.org]
(訳注:2018/09/02現在。これら必要ファイル、URLなどは変更されている可能性があります)

注意点としてこのRavenfield Toolsはゲームと一緒にアップデートするよ。それはたまに機能が使えなくなるかもしれないことを意味してるよ。私としてはこのツールで作られたいろんなコンテンツが将来的なアップデートにも確実に動作して欲しいけど、絶対とは約束できないからね!

Ravenfield Toolsでなにができるか

  • Ravenfield Toolsはカスタムマップを作るためのアートアセット、スクリプト、そしてプレハブが入っているよ。
  • このツールはUnity Project内のUnity Editorで起動し、Unity Editorのレベルエディターへの柔軟な力を君にくれるよ。
  • このツールはもし君が少しもUnity Editorの経験がなくても簡単に使えるように作られているよ。
  • なぜなら公式のものもカスタムレベルも同じくUnity Editorで作られているから、君はその素晴らしい力を君自身のマップに発揮できるよ!
  • このツールは将来的に武器や乗り物にもサポートするようになるよ。

もしこのガイドやツールに問題があったら大至急Ravenfield Discord chat[discordapp.com]に質問してほしい。私たちはマップ作製専用のマップメーキングチャンネルを用意しているよ。
(訳注:海外のチャットのため日本語での質問はやめてください。)

ここまでのセットアップをしたら、次はこのチェックリストをしていこう。

  • Unityをダウンロードしてインストールする。
  • オプションとしてBlenderをダウンロードしてインストールする。(これはブレンダーファイルを編集する際は推奨)
  • 最後にRavenfield Toolsをダウンロードする。
  • Ravenfield Toolsを解凍して、UnityProjectsに移動する。(注:場所はそれぞれなため、あらかじめUnityを起動し右上のOpenを押して確認するとよいです。)
  • Unityを起動し、Openボタンをクリックする。そして解凍したフォルダを選択する。これがRavenfieldsToolsPackとして開かれる。
  • Unityが読み込み終えたら”Ravenfield Tools -> Set Game Executable”とクリックしていき、Ravenfieldの実行ファイルを選択する。(.exeや.app、.x86や.x86_64など、ファイルの拡張子はOSによる。)このファイルはSteamフォルダに入っていて、Steam/steamapps/common/Ravenfieldにある。

(訳注:BlenderはSteamのソフトウェアにもありますがURLは公式サイトです。好きな方をどうぞ。)

このチェックリストをやり遂げるとセットアップは完了!ツールにあるサンプルシーンのエクスポートができる!場所はUnity Editor内のscene/ExampleScene.unityにある。ダブルクリックしてサンプルシーンをエディターに開こう。
開くことができたら、 “Ravenfield Tools -> Map -> Export Open Scene as Map”をクリックしよう。警告がでるけど無視してOKを押そう。するとエクスポートが始まり、完了するとメッセージが表示されるよ。
おめでとう!これで君は初めてマップをエクスポートした!

マップの作り方-地面を作ろう

では新しいマップを作ってみよう。一番簡単な方法はサンプルシーンから始めることだ。ではまずロードしよう。(Scenes/ExampleScene.unityがあるはずなのでそれをロードする)このシーンをコピーして新しいマップを作るため、”File -> Save Scene as…”をクリックし名前を付けよう。

するとその名前がUnityのウィンドウのタイトルについているはずだ。
このチュートリアルの目的のために、まずTerrainとPile Texture、それからTime Of Dayというオブジェクト以外はすべて消去しよう。Heirarchy viewから選択して消すのが一番簡単だ。これで綺麗なレベルができる。
なんでTime Of Dayというオブジェクトを残したかというと、これは日光のソースなんだ。日光がない状態で作ろうとしたらめちゃくちゃ面倒になっちゃう。だから残すんだ!ではまずterrainから変えていこう。でもこのガイドでどうやってterrainをいじくるのかについて説明はしないよ。だってもし君がちゃんとgoogleを使えるなら、それについてのたくさんのチュートリアルを見つけられるからね!terrainについていろいろしていた僕はそうやって学んだんだ。
terrainをいじくっているとあることに気が付くはずだ。そう、terrainのテクスチャが変わってないんだ。これはPile Textureというオブジェクトがいろいろしてテクスチャを描写しているからだ。新しい地面に描写を対応させるにはPile Texuturerを選択し、inspector viewにあるApply Textureボタンを押すんだ。
良くなったね!次はこのレベルに水を追加してみよう。水のプレハブはPrefabs/MapElements/Must Haves/Water Planeにあるからこれを使おう。これをシーンにドラッグして追加しよう!
ではこれをエクスポートして何が起こるか見てみよう。”Ravenfield Tools -> Map -> Export Open Scene as Map”からできるよ。

そうすると、警告の嵐だ。なぜならRavenfieldでは旗やマップを俯瞰するカメラ、ミニマップ用のカメラなどなどがマップのどこかに適切に配置されていなければならないからだ。幸運なことに、それら必要なプレハブオブジェクト達はPrefabs/Map Elements/Must Havesフォルダにある。マップをエクスポートする時はそれらのオブジェクトをきちんと配置していかなければならないんだ!

警告が表示される配置することが必要なもの

  • キャプチャーポイント(旗)
  • 俯瞰カメラ
  • ミニマップカメラ
  • リフレクションプローバー
  • パスファインディングボックス
  • ネイバーマネージャー

次のセクションではそれらを設置していくよ!

マップの作り方-プレハブを追加しよう

まずキャプチャーポイントを数か所設置していこう。Prefabs/Map Elements/Must Haves/Capture Pointにあるよ。これらのオブジェクトは旗としてキャプチャーでき、それらいくつかをレベルにおける。青色の旗はデフォルトで青チームにセットされている(周りに青い円があるものだ)。inspector viewでデフォルトでキャプチャーしているチームを変えることができる。デフォルトで持っている旗はどの勢力必ず一個必要だよ。
もし準備ができていなかったら、キャプチャーポイントの名前を決めるとチームを識別しやすくなるよ。例えば”Capture Point Red Base””Capture Point Blue Base””Hill””Island”などに設定するね。こういった名前の設定をしておくと、後にあるproperの名前に使えるから便利だよ!

次に俯瞰カメラを設置しよう。Prefabs/Map Elements/Must Haves/Scenery Cameraにあるよ。このカメラはゲームで起動した際に表示されるよ。フィットするような場所にセットしてね、ゲーム内で結果を見てね。

次にミニマップカメラを設置しよう。Prefabs/Map Elements/Must Haves/Minimap Cameraで見つかるよ。このカメラはレベルを始めるときミニマップを描画するのに使うよ。レベルを一望できる場所にセットしてね。デフォルトの地上から2000ほど上にあるとベストだよ。高さはY座標を変えるよ。
ではリフレクション プローバーを設置する時間だ。 Prefabs/Map Elements/Must Haves/Reflection Proberで見つかる。これは完全に装飾用で、高画質設定で遊んでいる際に綺麗な反射を見せるためのものだ。水や地面のやや上のマップの中央にセットしよう。これの場所は反射の見た目を完璧重視する人でない限りはとくに重要じゃないよ。

これで遊ぶのに必要なすべてのプレハブを設置し見た目をきれいにした。だがAI達がどうやってこのマップを歩いたりするのか理解できるようにするために設置する必要なものがあるよ!これらのプレハブはパスファインダーを説明する回で詳細に話すんだけど、とりあえずここでは基本についてみていこう。

パスファインダーボックスはAIがレベル内で歩ける場所について記述するは箱だよ。パスファインダーボックスの中をパスファインダー(経路)スキャンが歩くことができる地面を調べるんだ。これはAIがレベル内のどこを歩けばいいか理解するためだね。このスキャニング作業はパスファインダーボックスの大きさによって数秒から数分までかかるんだ。箱を小さくキープできればスキャニング作業が早くなってくれる。だからしっかりと作らないといけないんだ。パスファインダーボックスには三種類に使うことができる。歩兵、車両、ボートだ。

ではパスファインダーボックスを設置しよう。Prefabs/Map Elements/Must Haves/Pathfinding/Infantry And Car Pathfinding Boxにある。このプレハブについては2個あるけど”Infantry and Car”をセットしよう。この箱はマップ全ての地面を囲むようにセットしよう。
島のマップの場合、兵士たちはボートで島と島の間を移動できないといけない。だから”Boat Pathfinding Box”を設置しないといけない。ただもしそういう船を使う必要がないレベルの場合はこの手順は飛ばしてくれても構わないよ。Boat Pathfinding Boxは水面に設置しないといけないよ。そうしないと水を認識してスキャンしてくれないからね。私は故意にマップの境界にスペースを開けるように設定してるよ。そうするとAIは島の端っこと境界の角を緩やかに曲がるように運転してくれるからね。(こんな感じに!)
最後に、ネイバーマネージャーを追加しよう。 Prefabs/Map Elements/Must Haves/Neighbor Managerにあるよ。これはAIがどこから旗に向かって攻撃するかを考えられるようにするためにあるよ。旗と旗との接続にはネイバーマネージャーのinspecterから設定できるよ。どの接続にも二つのキャプチャーポイントが必要で、地面を経由するか、水上を経由するか、どちらでも行けるか指定出来る。接続にはピンクの線が、経由には緑か青のボールどちらかであらわされる。これらの線からマップ全体のレイアウトが見れる。
全ての接続に青色だけがあった場合、AIはすべてのポイントにボートで行くことになる。青緑両方あったらボートでも徒歩でもいくよ。
また両勢力の最初の出撃地点が接続されていなかったら、AIは中立地点が得られるまで直接攻撃したりしないよ。これはネイバーマネージャーで接続すれば解決するけど僕はそうしないね。そうすればマップが面白くなるから!
〈口笛〉これでようやく遊ぶのに必要なすべての必要なプレハブを設置できた。ではエクスポートして試してみよう!”Ravenfield Tools -> Map -> Export Open Scene as Map”からできるよ。navmesh cacheを作っていないからそれについて警告がでるだろうけど無視しよう。完了した後ゲームを起動すると君のマップがマップリストに追加されている。試してみよう!

とりあえずこれで君のマップは遊べるようになった。でもこのマップのロード時間は時間がかかってるね。その理由はさっきいっていた”navmesh cache”を生成してないからなんだ。だからマップを起動するたびにパスファインダースキャンを行っていて時間がかかるんだ。この問題を解決するにはパスファインディングをスキャンしてマップに紐づけないといけない。次のセクションではそれについて説明するよ!

マップの作り方-経路をスキャンしよう

まず”navmesh cache”を作成するには”Ravenfield Tools -> Map -> Scan Pathfinding”をクリックしよう。これでライヴンフィールドのパスファインディングスキャンモードが起動して、君のマップを読み取り始めるよ。スキャン中、君は何もない画面を見ることになるだろうけど、スキャンが完了したら観戦者視点みたいな状態から色付けされて可視化されたnavmech cacheのついたマップを俯瞰している画面になるはずだ。
この画面では歩兵のnavmesh(Infantry Navmesh)が見れる。ちなみに今見ている可視化されたnavmeshは二種あって、一つは白、もう一つは青色に色分けされているんだ。色分けされている理由についてだけど、この二つの島は陸地つながりになっていないからAIはそれぞれの島に徒歩で行くことができないからだ。つまりこの色分けは作製したマップによってできるんだ。では矢印キーの右か左を押して車のnavmesh(Car Navmesh)の画面に切り替えよう。
おっと、丘にあるキャプチャーポイントに問題があるように見える。島全体の地面と丘の地面の色が違うね。調べてみよう。
見てもわかるようにこれには問題があるね。丘の頂上が島とつながっていないと、AIは車に乗りながら丘の頂上にはいかないんだ。それに黒く色分けされている場所にはAIが決してたどり着けないことを示しているんだ。ではAI達が丘の上に上ってキャプチャーポイントに行けたりするようにしてあげよう。もっとも簡単に解決する方法としてはこの地面をもっと上りやすいように滑らかにする方法だ。ビーチ側を微調整して緩やかな上りにして、ほかの丘の周りを高くしてから、もう一度スキャンしてみるといいよ。
これでnavmeshがつながって問題解決!では最後にボートのnavmesh(Boat Navmesh)を見てみよう!
このnavmeshはちゃんと設定されているように見えるね。あと黒い場所があるし、そこはやっぱりAIが行けないところだけど、この黒いところにはボートの出現地点を設定できないってだけでとくに問題はないよ。出現地点の設定については後程説明するよ。

パスファインディングスキャンをすると自動的に”navmesh cache”が生成されるよ。だからもう一度エクスポートしてみてよう。navmesh cacheを生成しておいたから警告が表示されなくなったね。ではゲームで起動してみよう。これでロード時間が早くなるよ!

ここで注意点!君がレベルの地面を変更したり障害物を追加するたびにかならずパスファインディングスキャンをして全部のnavmeshを保存しなおしてね。なぜならAI達は新しい地面の構造や障害物について知っていないといけないからね。
では最後に乗り物を追加していこう。

マップの作り方-乗り物の出現地点をセットしよう

ではVehicle Spawnerを見つけよう。Prefabs/Map Elements/Vehicle Spawnerにあるよ。とりあえず旗の近くに設置してinspector viewを見てみよう。ここで出現する乗り物の種類を変更できるよ。また初期設定でここにある乗り物は破壊されてから16秒後に再出現するようになっているよ。これもinspectorで変更できるよ。

ここで注意点!旗の近くに出現地点を設定しているのはAIが乗り物を使うようにするためだよ。特にキャプチャーポイントがカバーできる範囲に乗り物をおいておけばボットたちが使用することができるぞ。この範囲はキャプチャーポイントを選択していると出てくる円だ。この範囲はキャプチャーポイントのinspectorから大きくしたり小さくしたりできるぞ。
またタレットを設置することもできる。タレットの出現地点はPrefabs/Map Elements/Turret Spawnerにある。これは再出現しないこと以外は車両の出現地点と同じだよ。その代わり兵士たちが修復してくれればもう一度使えるようになる。タレットはAIが使えるように必ずキャプチャーポイントの範囲内においてね。

もしボートの出現地点を置くときはパスファインディングスキャンをもう一度しよう。そうすればAIがその水面に到達可能か見ることができる。(もしレベル内に一つもボートを置かない場合はこれをスキップしてもいいよ)
よし!沖に黒い範囲はないからAIは船に到達できるね!ちなみにパスファインディングスキャンの画面では船は丸で表示されていて、沖の範囲につながっているか見ることができるよ。ボートの出現地点を沖につなげる方法についての詳しい話は”詳しくわかる!パスファインディングについて”セクションで説明するので見てね。
(訳注:そのセクションは書きかけで、短くて、外部リンクぐらいしかなかったので知りたい方は公式ガイドから見てください。)

では最後に、上陸地点のプレハブを設置しよう。Prefabs/Map Elements/Landing Zoneにあるよ。上陸地点はAIが船から陸に移動する際に手助けしてくれるプレハブだ。基本的にAIの分隊が乗っているボートはキャプチャーポイントに近いところから上陸するけど、それが常に一番いい戦略ではないよね。例えば敵のメインの基地に対し上陸する際、その近くが崖で囲まれている場合上陸することができない。
上記の場合、赤チームはキャプチャーポイントにたどり着けないけど、これからする設定は青チームみたいなことをさせるんだ。ではAIが使う代わりの上陸地点を設定するよ。では上陸地点を設置し、そこから攻撃するキャプチャーポイントである敵のメインの基地を目標としてinspectorに設定しよう。それらが正しい設定である場合、上陸地点とキャプチャーポイントにピンクの線が表示されるよ。

Steam Workshopに公開してみよう

君の作ったマップを世界中に公開してみたい?いい意気込みだ、Steam Workshopがそれを叶えてくれるぞ!

Steam Workshopに公開する前の準備リスト

  • パスファインダーのスキャンをしておくこと。navmesh cahaeを最新のものにしよう!
  • パスファインダースキャンのnavmesh casheがマップに紐づけられたのを確認した後にエクスポートをしよう。
  • Steamがバックグラウンドにも起動されていて、自分のアカウントでログインされていることを確認しよう。
  • Ravenfieldがバックグラウンドにも起動されていないことを確認しよう。
  • 512×512で2MB以下の.pngイメージを用意しよう。君のマップを表示するクールなアイコンになるやつだよ!

公開する準備できた?Steam Workshopに公開するウィンドウを開くには”Ravenfield Tools -> Publish to Steam Workshop”をクリックしよう。Connectボタンを押して接続し、Steamにアップロードしよう。
接続に失敗したなら以下のことをしてみて

  • Steamが起動されていてログインされているかチェック。
  • steam_appid.txtファイルがUnity projectフォルダの中にあるかチェック。(RavenfieldToolsPackフォルダの名前が変更されていない限り-アセットフォルダにはないよ。その一つ上にあるよ。)
  • Ravenfieldが起動されていないかチェック。
  • Ravenfieldがライブラリーに追加されているアカウントでログインしてね。
  • Unityを管理者権限で再起動してみてね。

もしこれでも接続ができなかったら、レイヴンフィールドディスコードチャットに聞いてね。
(翻訳注:上記でも書きましたが日本語での質問はやめてください。)

接続をした後Create new itemをクリックしてね。数秒すると君のアイテムを紹介するための項目が作成される。作成が完了したら空欄に素晴らしいタイトルと説明を入れてね。マップをworkshop itemに追加する場合はAll Exported Content下にある.rflファイルをクリックすればいい。するとそのファイル名がContent to Publishに表示されるよ。Content to Publish下にあるすべてのコンテンツが君のアイテムとして公開されるよ。だから複数のマップを一つのアイテムとして作ることも可能だよ。ではPublish!をクリックして、君がほかの人々が見て、そしてダウンロードしてもらいたいマップを公開しよう。

ここで重要な注意点!もしこれが最初のSteam Workshopの利用ならSteam利用規約に同意をしなければならない。この規約はどんなものをWorkshop itemに公開する際にも同意しなければならない。利用規約についてはここで見ることができる:Steam利用規約

準備ができたらPublishを押して公開しよう!完了したら自分のアイテムをSteam上でも自分で手に入れることができる。

おめでとう!これで君のマップはダウンロードできるようになった!誰でも、どこでも!

上級者ユーザー向け:
Ravenfield内のInstant Action Menu用のイメージをマップに入れることができる。私はエディター内にその機能を追加することはできなかったが、手動でなら入れることができる。Workshopに公開しているファイルRavenfieldToolsPack/Workshop Staging/*item id number*を開く。485x300pixelの.pngイメージを*マップの名前*.rfl.pngの次のマップrlfファイルでセーブする。

さらにjsonファイルを同じ要領で変えることでデフォルトのボットの数をセットできる。JSONファイルはこのようになっている。

{“suggestedBots”:60}

このファイルを*マップの名前*.rfl.json の次のマップrflファイルで保存する。

もちろんこれはWorkshop publish windowに適切に実装できなかったものだ。Publish windowに表示のない存在するファイルだがPublishボタンを押してもアップロードされる。

訳後記

公式ガイドとにらめっこして7時間ほどで作りましたが需要あるかわかりません。
公式ガイドにはもうちょっと説明がありますがこのガイドではとりあえず作成するための説明としてMODの開発環境の導入方法と簡単な作成、設定方法だけを書きました。さらに詳しく知りたい方は公式ガイドをのぞいてみてください。
また、このガイドは衝動的に描いたもので、かつ将来的にいろいろと修正が必要となると思います。指摘をいただければ確認次第修正します。…多分。

SteamSolo.com