Cities Skylinesの高低差を攻略する

Cities Skylines
スポンサーリンク

これはCities Skylinesで難しい問題のひとつ「高低差」(崖といっても良い)を攻略してみた軌跡です。

攻略しきったわけではありませんが、情報を整理するためにも現時点での試行錯誤の結果を残しておきます。

目次

かっこいい高低差

元々、私が高低差に激しく興味を持ったのは次のRedditの投稿です。

Construction Site. Underground Pipeline. : CitiesSkylines

※画像はRedditより。投稿者のDennes81氏は主にインスタグラム「citiesgermany」で作品を発表しています。

それまでも欧米プレイヤーの創り出す高低差のある街並みには憧れていたのですが、このスクリーンショットにはまさに衝撃を受けました。

もうクールだとしか言いようがない。もちろん工事中を表現しようと地中のパイプラインなど細かなPropを配置した造形の素晴らしさと創意工夫もさることながら、マップテーマやLUTの選択も含めた世界観そのものが非常に高度なレベルで制作されており、実際にこんな町並みがあるんだよと言われても信じてしまいそうなレベルです。

というかCitiesでこんな近接したシャープな高低差が作れるのだということも大きな驚きでした。そしてこれに触発されて未熟な私が作ったのが下記のスクショです。自己反省も込め初心を忘れないように掲示しておきます。

今見ても恥ずかしいですね。とても上のスクショに並べるようなものじゃありません。一番肝心な擁壁の接近した部分を画面奥側に隠したり、制御し切れない盛り上がりを下生えでごまかすところなども小狡い感じがにじみ出ています。

しかしこれが「一体どうやって作ってるんだろう?」という疑問だらけだった、この時点の自分の精一杯であり、ここから下記の試行錯誤の繰り返しな奮闘が始まったのです。

 

 

そもそもCities Skylinesの高低差とは?

Cities Skylinesで高低差を造りたい理由のひとつに、道路や鉄道を立体交差させることで都市に立体感を出したいというがあるのですが、こうした場合大抵10mくらいは高さを与えておく必要が出てきます。

例えば道路を高い位置に設置すると、バニラ道路では下図のような「盛り上がり」となり、「影」ができます。左が地面の高さに敷いたバニラ道路、中央が5mの高さ、右が10mの高さです。

実際の道路幅の両端に同じ程の幅の盛り上がりができてしまい(実際の道路の3倍ほどの幅になっている)、郊外はともかく都市部を表現する場合にはかなり野暮ったく見えてきます。

これは立体感を表すためにこうなっているのですが、この「盛り上がり」は見た目的には迫力もあり「おー高いな」とは感じるものの、近接した位置に別の道路や鉄道などを敷きたい場合には問題となってきます。

 

例えば下図の様に道路のすぐ横だけど高低差のあるところに鉄道線路が走っていたりすると景観的にはインパクトが生まれることもあり、最近のCitiesではこうした高低差を出すことがひとつのトレンドになっているように感じます。※あくまで個人的な主観です。

しかしこのような配置にするために涙ぐましいことをやっています。以下順番に見ていきましょう。

高低差のあるネットワークを近接させるとどうなるか?

例えば、高い位置にある道路に対して、地面を走る鉄道線路を徐々に近接させていくと、次のような変化が起こります。

一番左端はやや影響が出始める距離まで近づけた状態です。道路を近づけていない画面上半分に比べると線路のある下半分は崖裾が少しえぐれているのがわかります。

次に2番目(中央左)はさらに線路を近づけて崖がかなり歪に変化し始めた状態ですがまだ道路にまでは影響は及んでいません。3番目(中央右)はその歪さが道路にまで影響が出始めた状態、そして右端は完全に近接した状態ですが道路中央にまで影が出ています。

バニラの状態では高低差の克服は難しいことが確認できました。

この原因は、高さを検知したエンジンがその高さを表現するべく「影」を生じさせていることにあります。その検知して反応する”幅”がかなり広めに作られているため、結果として作ろうとする都市景観の洋の東西を問わず、都市部ではこうした高低差のある表現は使いづらい状況にあります。

しかし景観プレイを楽しむ人にとってはこれは相当マズイ状態なので、これをどうにか自然な高低差へと修正していきましょう。

 

高さを無理やり変化させる

高さを強制的に変化させるには手段がいくつかあります。他にも色々ありますが、必要アセットがなく単純そうで動作が軽そうなものに絞り込みました。

  1. Steamワークショップ::Terraforming Network Extended (pack):ネットワーク(道路的な)タイプ ※オリジナルはRonyx69氏の「Terraforming Network
  2. Steamワークショップ::Terrain Flattener:建物タイプ

1の「Terraforming Network Extended (pack)」はオリジナルが有名なアセットで、拡張版では透明な道路形式のアセットを0.5U~12Uまで各種取り揃えたパックになっています(U=グリッド)。これを地面に敷けば、盛り上がろうとする高い位置にあるネットワークの左右を地面に抑え込むことが出来ます。ネットワークですので当然高さも変更可能で、一番最初の図で見たように設定した高さに従って周辺の地形も追随して高さを表現しようとしてくれます。試しに敷いた上で持ち上げてみた下図では、(アセット自体は透明なので見えませんが)道路同様の盛り上がりが確認できます。

2の「Terrain Flattener」は同じ事を建物タイプでやってしまおうと作られたもので、固定長のX2かX8の2種類のサイズの透明な建物を設置することで高さを強制的に変えようとするものです。建物と言ってもどこでも設置できるタイプなので、これをポコポコと必要な分だけ高さを調整しながら設置すれば無理やりその範囲の高さを調整することが出来ます。ただし欠点があり、ネットワークではないため曲線などに形状変化させることは出来ませんし、また水没判定などを食らうため水際にも置けません。さらに抑え込む幅が少し狭いため崖の裾を抑え込むのにやや苦労します。

※画像は公式ワークショップより

 

実際に、両方を使って見たのが下図です。

縦に走る道路に対して擁壁(崖に対して設置する壁のようなもの)をくっつけて配置し、さらに地面の高さの位置に、上半分(画面奥側)は2の「Terrain Flattener」X8を設置、下半分(画面手前側)には1の「Terraforming Network Extended (pack)」2Uを配置したものです。

奥側の「Terrain Flattener」X8では崖裾の地形変化を抑えきれず、擁壁の裾からはみ出してしまっていますが、手前の「Terraforming Network Extended (pack)」2Uではきっちり抑え込み、擁壁の裾も乱れていません。やはり抑え込みの幅の差がここで出ています。※前者はこれ以上寄せると逆に右側から盛り上がっていく。

ということで、ここでは「Terraforming Network Extended」の方で進めることにします。

さらなる近接を試してみる

上例の「Terraforming Network Extended」ではだいぶ描画の崩れなく近接させることが出来ました。

しかし現状では道路の路面部分の幅と同じくらいの幅の擁壁が必要になり、見た目的にはまだ野暮ったさを残しています。実際にこんな風景はあまり見かけません。

次は、この擁壁の幅をどれだけ詰められるかを試していきます。私が現在サブスクライブしている中で幅の狭いものを探し試してみました。本来使用するべきではない場所で強引に使っているものもあるため、見た目とそぐわないのはひとえに私の責任です。

左端はKaminogiさんの「日本の擁壁」フェンス有りタイプです。右端はTOKACHI269さんの「ネットワーク法面」です。両者ともに台形タイプなので、上部は細くスッキリ、下部もはみ出しはなく問題ありません。

中央はTakamon27さんの「漁港の岸壁」です。これは1U以下(0.8Uくらい?路面の半分よりも狭い)で、見た目的には一番細く近接できているのですが、地面側の裾にはみ出しが出てきてしまいました。攻めすぎたようです。これを下生えを植えることでごまかすことも可能です。

しかしここはさらに攻めてみたいため、地面においている「Terraforming Network Extended」を道路側にさらに寄せてみます。

限界まで寄せてみました。擁壁はclusさんのRetaining Wall Fence#2で「Retaining Walls – Pack#01」に入っています。この擁壁は本来2Uあるのですが、高さを微調整して道路の路面以下に埋め込み、フェンス部分が道路端に密接するまでギリギリ(0.1Uくらい)に詰めてみました。これが求めていた近接具合いです。素晴らしい出来になりました。

しかしよく見ると、道路路面に妙な(シミのような)影が出来てしまっています。これはいけません。これは現時点ではどうしようもないようで、1U以上の幅(または台形タイプ)で妥協するか、あるいは以下の手段で対応するという手もあります。

崖の”影”を除去する

ここで登場するのが「ROTTERdam: Road Texture Terrain Edge Remover」です。これはこのようにCitiesでできる崖や斜面の影を強制的にエンジンを騙すことで除去してしまおうというかなり強引なModです。

このModをサブスクライブした上でゲーム側でONにし、さらにゲーム内のModオプションで「overwrite terrain appearance」をチェックした上でoperating modeを「Erase」にすると…

見事に影が消えました。エクセレントですね。我々の求めていた垂直で近接した崖がここにあります。

しかしよくよく見るとおかしなところがあります。画面上端に見えている斜面が残っている部分の崖の影まで消えています。

そうなんです。このModはマップ内の崖という崖、あらゆる斜面の影に影響を与えてしまうのです。もちろんそのためのModなのでこの動作で完璧なのです。

しかしこの状態で冒頭の道路を敷いてみた部分を表示してみると

うーん…どこが斜面でどこが平坦なのか、ゴルフプレイヤーの如く目をじっくり凝らして芝目を読んでいかないと高低差がわからなくなってしまいました。本来、線路横にある一番右の道路は10mの高さにあり線路は地面にあるのですが、高低差が全く感じられなくなりました。

高低差を出すための努力が、表示上の高低差を奪ってしまっては元も子もありません。このModは非常に強力なのですが、使い方を細かく調整する必要があるのです。

 

妥協点を探る

ここまでで利用できそうな要素が有りましたので実際に利用する前提で整理していきます。

1.Terraforming Network Extended (pack)

地面側の整地は「Terraforming Network Extended (pack)」で行います。

ネットワークタイプなので曲げ伸ばしも自由自在で、さらにExtendedの方であれば太さも12Uまで選べるため、幅広い地形に対応もできます。

なお高架側の抑え込みにもこのTerraforming Network Extendedで行うことが可能です。ただしそれでは必ず限界が出てくるため、さらにその先の解決法も抑えるべく上の例ではModまで動員しました。

 

2.緯度経度などを調整する

そもそもの話で影は光を横から当てるからできるんだということで、「Theme Mixer 2」あるいは「Ultimate Eyecandy」などそのマップで使用する太陽光などの設定を行うツールを使い、緯度経度を変更して太陽をほぼ真上に配置することで路面の影を相当程度飛ばすことができます。※地形の影響を受けたテクスチャが微妙に波打っているところに光が当たるため波のような影が発生している。太陽が傾げば影は大きくなり、真上に来れば小さくなるという理屈です。

例えばLatitudeを±5程度にした上で、Longitudeを-180~-90程度か160~180にすると、(その他のマップテーマの条件にもよりますが、)ほとんどの影が消えていきます。こうすると路面の影も消し飛んでしまいます。使っているマップテーマ設定により異なってきますので妥協点を探ってみましょう。

変更を加えないで手軽に調整するのなら一番楽です。その代わり、夕暮れなどの風景にしたい場合にはよほど全体を暗くしないと路面の”影”が復活してしまいます。

 

3.ROTTERdamのモード調整

上で試したMod「ROTTERdam」のoperating modeには、Scaleモード、Clampモードがあり、さらに「overwrite terrain appearance」自体のオン・オフも可能です。

上記の緯度経度調整をした上でこれを試したのが下図です。

左からScaleモード、Clampモード、overwrite terrain appearanceオフです。圧縮画像のため微妙すぎて差異が非常に分かりづらいのですが、実は左端だけ路面にやや影が出てしまっています。その他2つはModをオフにしてデフォルト状態にしたのと同じ路面です。

つまり、Clampモードか、あるいはoverwrite terrain appearanceオフで使用すると路面には影響が出ないということになります。※あくまでバニラ道路とこの擁壁、さらにはマップテーマの組み合わせ上の話。細かい調整はみなさんそれぞれの環境で試してみてください。

また残念なお知らせですが、このModでoverwrite terrain appearanceオンにするとメモリ使用量が増加するという欠点もあります。ということで、緯度経度調整の上で、Mod「ROTTERdam」を導入だけしてoverwrite terrain appearanceをオフにするのが一番良さそうです。

 

4.擁壁の幅を調整する

もうひとつの調整方法は、「ROTTERdam」に頼らずくっつける擁壁の種類を変更して妥協点を探っていく方法です。1.5U程度までならそういう調整なくギリギリ詰めれそうな気がします。

これはもうひたすらワークショップに公開されているあらゆる擁壁を試していき、ネットワーク(上下に置く道路や線路など)同士の組み合わせも考慮しながら自分の好みに合うものを探していくしか方法はありません。

また実際にはネットワーク同士が隣接した高低差以外に、舗装された空地的なスペースと隣接する場合や、樹木の生えた空間と隣接するようなケースも出てくるでしょう。

上で紹介したものなどを参考に探してみると良いでしょう。

 

まとめ

ここまで、Citiesの高低差表現(崖)について現時点での私の乏しい知識と経験を元に、色々と調整しながら設定方法を探ってみました。

なおここで書いた手順以外にも色々な攻略方法が存在します。

擁壁的な高架を使う:

例えば高架(橋梁)にすると擁壁のようなテクスチャが現れる道路や鉄道線路なども一部に存在します。そうしたネットワークをうまく使うことでも高低差は表現できます。

道路では、allegro氏の「Vanilla Overpass Project」の「Four-Lane (Two Way)」あるいは「Two-Lane (One Way)」、SimoG氏の「Elevated Brick Road and Arch Bridge」(4車線版線路版もあり)や、clus氏の「Cobblestone Road」シリーズ、REV0氏・Armesto氏の「Ponte Suebia Road Bridge (Network Pack)」、また鉄道線路ではREV0氏の「Pontepedra」シリーズがそれに該当します。

橋脚をPropで覆い隠す:

また擁壁を使うのではなく、高い方を高架にしてしまって橋脚部分を横からPropで覆うことで隠してしまうという手もあります。上にできる隙間は「Ploppable Asphalt +」でペタペタと埋めてしまいましょう(つまり高架の下部分を巨大な暗渠的な密閉空間にしてしまう)。この手法は主に動画配信者のみなさんが特に巨大駅を構築する際などに愛用しているように感じます。

しかしいずれも表現技法のひとつであり、様々な手法をマスターすることでより多彩な街づくりが可能になるのは間違いありません。ここでは単純に並行したネットワークを題材にして見てきましたが、実際の街並みでは道路が上をまたいだり、あるいは交差したり、高低の両側に建物が並んでいたりと複雑な構造になっています。それらは単純に一つの手法で実現できるものではなく、色々な手法を知った上で適切に使っていくことが必要になってきます。

ここで書いた内容は上級者の方にとってはとっくにご存知のことだろうとは思いますが、私と同じような後発で見事な景観動画に見惚れてCitiesの世界に入った方々の参考になればいいなと思います。みなさんも色々な表現技法を探ってみてはいかがでしょうか。

 

タイトルとURLをコピーしました