jaijai’s blog

Cities Skylinesアセット作成に関するメモ・考察

【CSL2】公式Wiki 作成ガイドを読む(2)

CSL2からはParadox Wikiにアセットクリエイター向けの情報が掲載されます。 Paradox Wiki Asset Creation Guide この記事シリーズはそれを読んで自分なりに解釈したところや疑問点などをだらだらと記載していきます。Wikiは随時更新されているのでこの記事の…

【CSL2】仮想テクスチャとは何なのか

ゲームを起動直後、必ず目にする仮想テクスチャの処理。CSL2で導入された仮想テクスチャリング機能によるものです。これはどういったものなのでしょうか?簡単にですが調べてみました。 目的はGPUメモリ利用効率の向上 Unityにはストリーミング仮想テクスチ…

【CSL2】公式Wiki 作成ガイドを読む(1)

CSL2からはParadox Wikiにアセットクリエイター向けの情報が掲載されます。 Paradox Wiki Asset Creation Guide この記事シリーズはそれを読んで自分なりに解釈したところや疑問点などをだらだらと記載していきます。Wikiは随時更新されているのでこの記事の…

失敗しないインポート

作成したメッシュとテクスチャをゲームに取り込むにはアセットエディタのインポート機能を使います。そして、インポートを成功させるには事前の準備が必要です。 フォルダ インポートには以下のフォルダにファイルが置かれている必要があります。 C:\Users\%…

メッシュのエクスポート

Blenderにおいてアセットエディタで正しく読み込めるFBXを出力する方法を解説します。 準備 モディファイアを適用する モディファイアはBlenderの中でしか機能しないのであらかじめすべてのモディファイアを適用しておく必要があります。 1つのオブジェクト …

アセットを自作するには

この記事は、 アセットを自作したい! と、思い立ったものの何をすればいいのか全くわからない人向けのものです。 アセットとMOD 一般的にはゲームをユーザサイドで拡張または改造する事全般を指してMOD(モッド)と呼びますが、Cities SkylinesではMODとア…

ModToolsを使ったスクリプトの流し込み方

スクリプトを使うと標準のアセットエディタでは行えない設定値を変更したり振る舞いを変えることが出来ます。 ModTools スクリプトを走らせるにはModToolsを使います。ModToolsでは入力されたスクリプトを一時利用のMODとして生成&実行します。ModToolsはオ…

他アセットからテクスチャをコピーする

既存のアセットのテクスチャをコピーしてくるスクリプトです。ダンプされたテクスチャはオリジナルと若干異なるのでこのスクリプトを使うことで同一テクスチャが保証されます。 var asset = ToolsModifierControl.toolController.m_editPrefabInfo as Vehicl…

安全なテクスチャ解像度

アセット制作において使用できるテクスチャ解像度は32の倍数であれば基本的に問題ありません。 しかしながら、解像度によってはミップマップがおかしくなる問題があり。この記事ではその概要と回避策を示します。 ミップマップとは ミップマップは複数の低解…

最軽量の鎖

わずか4面で構成される鎖を公開しています。アセットのちょっとした飾りに使えます。 長さ約43cm、太さ約1.8cm。必要テクスチャサイズは64x10以上となっています。切ったり繋げたりして使ってください。 chain1.zip - Google ドライブ ファイルにはメッシュ…

トラックのタイヤ

この記事は、私がこれまでのトラックアセットの製作時に得られたタイヤ&ホイールに関する知見をまとめたもので、ほぼ何の役にも立たちません。 主に中・大型トラックに関するタイヤとホイールのサイズに関するものとなります。 トラックの分類 小型 中型 大…

【Blender】重み付き法線のすゝめ

重み付き法線モディファイアーを使うと面の重みによって法線が調整されます。この重み付き法線はBlender 2.8以降で使用できます。 重み付き法線モディファイアーの効果 この立方体をベベル機能で面取りしてスムーズ面にします。 さらに重み付き法線を使った…

メッシュの境界

Blender上では現れることのない境界のような線がインゲームで出現することがあります。この記事はその正体についての解説です。 線? おそらく気がついていない人のほうが多いと思います。次の絵はバニラの木材運搬トレーラーです。 荷台後端に着目します。 …

犬テンプレート

バニラの犬は超デカイなと常々感じていたので先日コーギーを作成しました。同じように感じていた方々が多かったのかはわかりませんが、思いのほか反響は大きく犬需要は高いようです。 Citizenの犬 用意すべきファイル群 メッシュ テクスチャ LoD テンプレー…

マスク値確認用ダミー

バリエーションマスクを確認するためのfbx群です。サブメッシュとしてインポートされることを想定しています。 drive.google.com 上記のリンクからダウンロードしてください。1から65536までの17個のfbxファイルが含まれています。メッシュが数字の形になっ…

サブメッシュにテクスチャをコピーする

メインメッシュのテクスチャをサブメッシュにコピーするスクリプトです。サブメッシュでもメインメッシュと同一のテクスチャを使う場合に使用します。このスクリプトを使うことでサブメッシュのfbxファイルのみを用意するだけになり手間を減らせます。また、…

アセット制作とLook Up Table

Look Up Table(LUT)は最終的に出力される色に大きな影響を与えます。バニラLUTはどれも個性豊かなものばかりなのでアセット制作時にはできるだけLUTの影響を排除したいところです。そこで素の色をインゲームで確認しやすくする方法を紹介します。 Ultimate E…

サブメッシュ名にランダム値を加える

サブメッシュ名にランダム値を追加するスクリプトです。 サブメッシュ名に起因するアセットセーブ不良問題 この問題は車両アセットにおいて複数のサブメッシュを含むアセットを正しく保存できない現象を指します。これが起こると、保存したアセットが不正な…

【Blender】影とエッジ2《ソフトエッジ》

1のつづきです。 jaijai.hatenablog.com ソフトエッジ ごく普通にシャープ辺を使った場合のハードエッジ。 ① ↑をスムーズ辺にした状態。 ② 辺を追加してエッジをつくる。 ③ 辺の距離を変更してエッジを鋭く。 ④ 違う面に辺を追加した場合。 ⑤ 両方の面に辺…

【Blender】影とエッジ1《スムーズ面とフラット面》

今回はBlenderでスムーズ面を使うにあたってどのような光と影が得られるのかという話です。これは、ある程度3Dモデリングの経験がある人にとっては基礎知識なのではないかと思います。よって、私のようにアセット制作で初めてBlenderを触った方向けの内容で…

LoDテクスチャの自動生成

自動生成されるLoD インポート時にLoDを用意していなかった場合、アセットエディタにより自動的にメインオブジェクトからLoDオブジェクトが生成されます。このとき生成されるLoDメッシュはお世辞にも良い出来とは言えず、少しでも複雑な形状の場合はかなり残…

Invertedを確率で決める

トレーラーのInvertedはスクリプトを使って設定することで0%~100%まで任意の値で指定できます。 Inverted率50% Extended Asset EditorでInvertedを操作するとオンなら100でオフなら0で上書きされてしまいます。よってアセット保存前に次のスクリプトを走ら…

LSMによるバニラアセットの読み込み拒否

Loading Screen Modにはアセットリソース共有のほかにもバニラアセットの読み込みを拒否するPrefab Skippingと呼ばれる機能があります。 Prefab Skipping テキストファイルの作成 Loading Screen Modの設定 skip.txtの編集 注意点 Prefab Skipping この機能…

頂点カラーからホイール情報を取り除く

DLCの釣り船アセット調査のためにしろたんを漁に出した時に使ったスクリプトです。 釣り船アセット 釣り船アセットはメインメッシュはShipシェーダーなので常にびしょびしょ状態です。よってメインメッシュは完全に透明にしてサブメッシュとしてしろたんを追…

カラーマップの境界

マスク通りにならないカラーバリエーション 左がディフューズマップ、右がカラーマップです。ディフューズマップの図柄と文字をマスクとしてカラーマップを作成しました。これで背景だけ色が変わるはずです。 インポートしてバリエーション色を変更します。 …

光沢感の出し方あれこれ

Cities Skylinesのグラフィックス表現は発売時の基準からしても貧弱で、あらゆる状況で良い感じに見える光沢表現はかなり困難です。ここでは、光沢表現に関係する要素と私が使った手法について紹介します。 スペキュラマップ ディフューズマップ ノーマルマ…

bcdeditを使ったメモリ不良回避

Cities Skylinesをプレイ中に不定期にクラッシュ(不正終了)する、パソコン自体がフリーズするといった事があります。クラッシュはいろいろな要因で起こりますが、なかでも停止コードMEMORY_MANAGEMENTのブルースクリーンが出たり再現性に乏しいクラッシュ…

サブメッシュマスク値

Unique Product (Industries DLC) Zoned Industry車両について Freight Train m_subMeshes[0]のマスク値 Unique Product (Industries DLC) マスク値 種類 1 Bakery 2 Car 4 Clothing 8 Electronics 16 Food 32 Furniture 64 Plastic 128 Steal 256 Drink 512…

カラーマップで劣化を抑える

圧縮による劣化 車両でありがちなラインの入ったテクスチャです。このテクスチャでテスト用看板アセットを作成します。 作成されたアセットのゲーム内でのスクショです。 拡大してみると左側の細いラインでは緑と赤が入れ替わっている箇所が点在しています。…

Cities Skylinesとテクスチャ圧縮

テクスチャの種類 DXT1圧縮 互いに干渉するXYSmap 圧縮による劣化を防ぐには UVマップを数ピクセルずらす方法 DXT1以外を使えばよいのでは? テクスチャの種類 ディフューズマップ(_d) スペキュラマップ(_s) ノーマルマップ(_n) アルファマップ(_a) カラーマ…