アセット自作1

アセット自作1:体験メモ

目次


目標

  • 建物の自作
    • フリーソフトのSketchUp、Blenderの利用
    • 単純な五角形の家の作成
    • テンプレート(ドア)の利用
    • 単純なテクスチャ貼り付け
  • Cities Skylinesへのインポート
    • アイコンの変更
    • プロップ・バグ対策

完成見本

CSLAS-1-44.jpg
CSLAS-1-46.jpg
CSLAS-1-49.jpg



3D初体験でSketchUpとBlenderでアセット自作をやってみた

  • 2chのModスレを参考に初心者が実際作ってみる際の手順をまとめました。
  • Cities:Skylinesのアセットを作る場合固有の設定や注意点について取り上げています。
  • 簡単に建築物の3Dモデルが作成できる上、完成品のライブラリも豊富なSketchUpと、C:Sに必要な1枚テクスチャを作成できるBlenderを組み合わせる、初心者向けメモです。
  • SketchUp Makeは無料ソフトですが「商用利用はできません」。
    • 商用で利用する場合は、SketchUp Proを選択してください。
  • Blenderは自由なソフトウェア(本体のライセンスは GNU GPL Version 2)です。
  • 個別のソフトの基本的な使い方は沢山ある他所様の解説サイトに任せます。
  • 念の為に作業途中で段階的にセーブファイルを残して下さい。
  • ページ筆者自身初心者なので、間違い等はコメント・訂正下さい。


参考サイト





SketchUp

  • 単位設定
    • [ウィンドウ]メニュー→環境設定→テンプレートを「シンプルなテンプレート-メートル」に(C:Sの1マスは8x8m)

  • 作成
    • 自分で作ったり、人のモデルを探したり(https://3dwarehouse.sketchup.com/)、コンポーネント(できあいのドアや家具等)を使ったりしてみる。
    • 編集軸固定はカーソルキー。描画やプッシュ時などの最中に直接キーボードから数値入力可。
    • テクスチャもここで貼れる。後でBlenderでも貼れるが面倒。最後のベイク後にも画像ソフトで修正可能。

    • 操作画面(↓をクリックして図解を展開。再度クリックでたたむ。)

画面を表示する



  • エクスポート前にグループ化
    • コンポーネント等も使えるが、全オブジェクト(エンティティ)を選択(Ctrl+A)してグループ化(編集→グループ化/反語:分解)すると良いかも?(グループ化しなかった時にBlenderでエラーが出た)

    • 操作画面

画面を表示する



  • エクスポート
    • 3Dモデルのエクスポートをする。(3DSファイル形式 *.3ds)
    • SketchUp無料版で、試用期間が終わってしまった場合はColladaファイル(.dae)でもOK

    • 操作画面

画面を表示する





Blender

  • 日本語化
    • File→User Preference→[System]タブ「International Fonts」ON→「Language」を「Japanese(日本語)」、「Translate」で使用したい部分をON→「ユーザー設定の保存」ボタン

  • 基本知識

Blenderの画面構成を表示する

    • 操作が特殊。右クリックが選択、左クリックが決定。Shift+ホイールドラッグでスクロール。編集軸固定はXYZ。他は適当な解説サイトを読むこと。
    • 最初はキューブ(立方体)が出ている。ここが3Dビューエディタ。そのすぐ下のツールバーがヘッダー。
    • ウィンドウ右上のパネルがアウトライナ・エディタ。その下がプロパティ・エディタ。
    • Tキーでツール・シェルフ、Nキーでプロパティ・シェルフをON・OFF。ONにしておく。
    • オブジェクトを選択して[TAB]キーでオブジェクトモードと編集モードとを切り替えられる(ヘッダーでも可能)。
    • ヘッダー左端のボタンで3DビューとUV/画像エディターを切り替えられる。


  • オブジェクトモードで最初に出ているキューブを選択し、Deleteキーで削除。確認が出るのでEnterキーかクリックで確定。



  • 3DSをインポート
    • ファイル→インポート→3ds→ファイルを選んでSketchUpで作った3DSをインポート。
    • 3DSインポートのオプションは標準で「サイズ制限:10」画像検索ON、トランスフォームを適用ON。

画面を表示する



  • 光源設定
    • プロパティ・エディタで「表示と編集を行うアクティブデータのタイプ」をワールドにする(地球アイコン)
    • 環境照明をON。他にアンビエント・オクルージョン(AO)でも良い。高度なランプ設定等は他の解説サイトを読むこと。
      • 明るさの標準の数値は1.0だがその欄を左右にドラッグして変更出来る。クリックで入力可。
  • プレビュー
    • ヘッダーの「3Dビュー上におけるオブジェクトの陰影処理(シェーディング)を「ソリッド」から「レンダー」にする。
    • 異常な点があればこの後で編集して直す。

    • 操作画面

画面を表示する




  • 編集
    • 高度な編集は他サイトを読むこと。ここでは一部だけ紹介し、テクスチャ作成とエクスポートに向かう。
    • SketchUpで作ったものに問題が無ければ、編集しないでも構わない。C:Sで何かがおかしかったらまたここに戻ってくれば良い。
    • 無駄に多いオブジェクトがあればオブジェクトモードで削除する。オブジェクト内の一部を削除するには編集モード。
    • 基本的には、SketchUpで離して作った物やコンポーネントを利用した物は別のオブジェクトになってインポートされる。
      • 例えば上の見本のような家を作った時、家の床、壁、屋根は一体化した1つのオブジェクトだが、ドアは別オブジェクトになっている。もし離れた所にポストや植木鉢などを作っていればそれも別オブジェクトになる。
    • Blenderにインポートした後にドアだけ削除したいと思ったら、オブジェクトモードで選択(右クリック)してDeleteすれば良い。
    • ドアのノブだけ消したいといったような、オブジェクト内の一部の編集は編集モードで行う。

  • 編集モードの基本
    • 選択は右クリックだが、選択には「頂点選択」「辺選択」「面選択」の3種類がある。ヘッダーに切り替えボタンがある。詳しくは後述の画面写真参照。
    • ShiftキーやCtrlキーと右クリックで、選択を追加したり減らしたりできる。


  • 今回の編集でよく使う機能
    • 「重複頂点の削除」……編集モードで複数のメッシュ(面)を選択して(全選択はAキー)ツール・シェルフの「重複頂点を削除」(Remove Doubles)をする。
      • 辺や頂点が隣接した個別の面をくっつけるのに使う。例えば四角形が2つ隣接していると頂点は8個だが、重複頂点を削除すると重なった2つの頂点が消えて6個になる。
      • 例えばキューブの場合、インポート時点では正方形の平面が6枚キューブ型に並んでいるだけかもしれない。重複頂点を削除すると、6枚の正方形が接続して完全に立方体となり、6つのうち1面を移動させると頂点(辺)を共有する隣り合った4面までもが伸び縮みするようになる。
      • こうして見た目上繋がっているだけで実はバラバラだった面が一体化すると、ポリゴン数削減やスムージングが可能になる。面の向きを揃えるのもやりやすい。
      • ポリゴン数削減はインポートしたモデルに無駄にポリゴンが多い時に使う。
    • ポリゴン数削減
      • プロパティ・エディタの「モディファイアー」(スパナのアイコン)→ポリゴン数削減
    • スムージング
      • プロパティ・エディタの「モディファイアー」(スパナのアイコン)→細分割曲面(サブディビジョンサーフェス)
      • オブジェクトモードで選択し、ツール・シェルフの「シェーディング」をスムーズにする。
    • 面の向き(法線・ノーマルマップ)※重要
      • C:Sアセットエディタにインポートした時にテクスチャが表示されなければ大抵は面の向きが裏返っているので法線を確認する。
      • 確認:編集モード、ソリッド表示にして、プロパティ・シェルフで「法線」ボタンの「面の法線を線として表示」をON。線のサイズを0.1~見やすいよう調整。線が外側に向いていない面が異常。
      • 修正:編集モードで全選択し、ヘッダーの「メッシュ」メニュー→ノーマル→「面の向きを外側に揃える」(CTRL+N)。
      • これで大体上手く行くが、事前に「重複頂点の削除」で繋いでいないとうまく外側がどちらなのか認識されない事があるのでやっておく事。
      • Crtl+Nで直らなければ、対象の面だけ選択して面を反転させる事。(>>195-198)


    • 操作画面

画面を表示する


  • UVマップの名前の統一をする(たぶん.daeでインポートした場合のみ)
    • このまま次の「統合」を行うとUV情報が崩れて、うまくテクスチャが反映されない。
    • BlenderではUVマップの名前が同じならばその情報を保持することができる(らしい)。
    • なので、あらかじめ各面のUVマップの名前を、全て同じものに変更しておく。
    • 面を一つ右クリックで選択。→プロパティシェルフの中の「データ オブジェクトデータ」を開く。→「UVマップ」の中のやつ("ID26"とか)をダブルクリックして、名前を変更。→これを繰り返し。全ての面で名前を同じにする。
    • 操作画面

画面を表示する


  • 統合(>>53)
    • 統合前に別名で保存しておく。
    • オブジェクトモードで全てのオブジェクトを選択して、ツール・シェルフの「統合」ボタンを押す。
      • (全てのオブジェクトを選択するには「A」キー。)
    • 操作画面

画面を表示する


  • ※作成時に特に問題が無ければ、Blenderにインポートしてすぐに全オブジェクトを統合して、重複頂点の削除をして、Ctrl+Nで法線を外に向け……でも上手く行く。
  • 複雑な構造の建物を作った時などは、オブジェクトごとに個別に確認しながら作業した方がいい場合もある。


テクスチャ


  • 上記ブログの補足(素人向け)
    • 3.ベイク用の画像を用意 の工程について
      • >UVエディタ…… 3Dビューから、ヘッダー左端のボタンで切り替える
      • 工程写真では作業エリアが左右に分割されているが、3Dビュー右上の角にある斜線マークを左にドラッグで分割。
      • >モデルを選択し…… オブジェクトモードで右クリック。既に統合済みなので全体が選択されるはず。
      • >編集モードにして(Tabキー)、メッシュを全選択(Aキー)

画面を表示する

    • 4.の工程について

画面を表示する

    • 5.お試しベイクの工程について

画面を表示する

    • 6.の工程について
      • 移動や回転中にCtrlキーなどが役立つ。スナップ関係は「オブジェクト」か「メッシュ」「トランスフォーム」から。
    • 9.の工程について
      • >UVマップの追加で作成したUVマップ以外を削除する…… その前に最終的な「ベイク」を行うのを忘れずに。それから削除する。

画面を表示する

      • >「画像を別名保存」して保存しておくことを忘れずに。…… 後述するがここで保存したファイルを元に、後でfbxのファイル名に_dを付け加えたJPEGを作成する。

画面を表示する



その他の画像ファイルの作成

  • 引き続きナスヴィッチブログさんを読み進めると、ノーマルマップやスペキュラマップ等も作れる。
  • ただ、その前にこの基本テクスチャだけの段階でC:Sで読み込んでみても良い。


エクスポート

  • トランスフォーム適用
    • 選択してからCtrl+Aキーで「適用」メニューを出し、位置をチェックする。
    • するとツール・シェルフの下に「オブジェクトのトランスフォームを適用」パネルが出るので、「回転」「拡大縮小」もON。

    • 操作画面

画面を表示する


  • ジオメトリ
    • オブジェクトモードで平面のオブジェクト選択して、メニューバーの「オブジェクト」の「変形」から「原点をジオメトリへ移動」で原点修正。(>>448)

    • 操作画面

画面を表示する



  • エクスポート
    • 事前に最終的なUVマップを1枚だけ残し、後は削除する事。
    • オブジェクトモードでオブジェクトを選んでおく。
    • ファイル→エクスポート→.fbx
    • FBXをエクスポートするオプション
      • 「バージョン」FBX 7.4バイナリ。---「選択したオブジェクト」ON。
        「拡大縮小:」100。(Blender v2.77…「実験的機能!トランスフォーム適用」をONにした場合、拡大縮小は100ではなく1で良い。)
      • 「トランスフォームを適用」ON。「モディフィアーを適用」ON。「リーフボーン追加」OFF
      • ランプが複数あるとC:Sで読めないので、エクスポート時にランプをOFF(>>182)
    • FBXをエクスポートする。

    • 操作画面

画面を表示する



C:Sアセットエディタ

  • インポート
    • インポートしたいファイルを全てImportフォルダに移動する。
CSLAS-1-40.jpg


    • (C:\Users\%username%\AppData\Local\Colossal Order\Cities_Skylines\Addons\Import)
    • テクスチャはJPEGにして圧縮すると作成されるアセットファイルのサイズも小さくなると思うが、ロード後の処理速度・メモリ利用量は不明。画質を確認する事。

  • インポートするファイル(>>8,>>52)
    • とりあえず立体物のメッシュ(.fbx)と、基本のテクスチャ(ディフューズ)(_d)をフォルダに入れておく。
    • 他のテクスチャ関連画像は全てを用意しなくても良い。
      • 画像は縦横両辺とも512の倍数pix。

  • 画像のファイル名規則(>>11,>>276)
    • モデルのファイル : model01.fbx の時、
    • 基本のテクスチャ(ディフューズ) : model01_d.png (画像はjpgでも良い)
    • ノーマルマップ(面の凹凸表現) : model01_n.png
    • スペキュラマップ(反射、光沢) : model01_s.png
    • イルミネーションマップ(照明) : model01_i.png
    • アルファマップ(透過・非透過) : model01_a.png
    • カラーマップ(ランダム色部分) : model01_c.png

  • LOD画像のファイル名規則(>>230)
    • LOD(遠距離時のローポリゴンモデル)
    • モデルのファイル : model01.fbx の時、
    • LODのモデル用ファイル : model01_LOD.fbx (100ポリゴン以下で作成)
    • LODテクスチャファイル : model01_lod_d.png
    • LODスペキュラファイル : model01_lod_s.png
    • その他も同じように_lodを付ける。

  • サムネイル画像(選択時に使われる)のファイル名規則(>>417)
    • アセットを作成する時、サムネイル表示のあるアセットをベースに作成する事。
    • サムネイルの名前: model01_thumb.png (画像は109x100pixのPNGのみ、背景は透過にする)
    • マウスオーバー時: model01_thumb_hovered
    • 使用不可時の名前: model01_thumb_disabled
    • 選択時のファイル: model01_thumb_focused
    • マウスクリック中: model01_thumb_pressed

  • 作成
    • アセットエディタで新規を選ぶとアセットインポーターが表示される。
    • 作成するアセットタイプで「交差」・「公園」以外を選ぶとインポート画面が表示される。
    • 「建物」から入って「公園」テンプレートで作るとテクスチャ(_d)以外のデータは読み込まれないみたい(>>28)
      ※現在のCities:Skylinesのバージョンでは他のテクスチャもちゃんと読めるみたいです。

    • 操作画面

画面を表示する



  • 保存
    • 建物などを作成し終えたら、アセットエディタ設定アイコンからスナップショットツールを選び、アセット全体が表示されるようにスクロールして画面内をクリックして撮影しよう。
    • アセットをセーブする画面では、左下にファイル名を入れ、右にゲーム内で使われるアセット名を入れる。他と名前が重複しないように。できるだけ簡単な説明も入れよう。公開するならアセット名や説明の最初は英語が良い。

    • 操作画面

画面を表示する



  • プロップ(PROP 小道具)について
    • プロップを作成すると公園や建物の作成時などに部品としてベンチのアイコンから呼び出せる。
    • 現在のバージョンでは、プロップを作成してセーブするとロード時にZERO SIZEエラーが出る。
      (ver1.1.0で修正されました)
エラーの手動修正方法(>>356)
1.バイナリエディタでエラーの出るCRPファイル(importフォルダと同じ層にあるAssetsフォルダ内)を開く
2.テキストで"m_size"を検索する。(該当箇所は一箇所のみ)
3."PublicKeyToken=null.m_size.............ZSystem.Single"という箇所がヒットします。
4.13個並んでる"."は0x00ですが、これを適当な他の13文字に置換えます。(abcdefghijklm等)
5.ファイルを保存し、タイトルに戻る。
6.アセットエディタで該当アセットをロードする。
7.きちんとロードされれば成功です。

CSLAS-1-48.jpg
  1. ゲーム中に自作アセットが表示された
  2. C:Sでインポート時にサムネイル画像も入れておけばここに表示される。

CSLAS-1-49.jpg
  1. マップ上に配置してみた。



参考

  • 81タイル解放MODを有効にしているとアセットエディタでエリアが正常に表示されない事がある、オフにしておく事を推奨。
  • Normal map(Bump)の自動作成(>>242)
  • 面の数が約35,000超えるとC:Sで読めない(>>269)、が負荷も考えて5~6,000以下が良い(>>282)
  • SketchUpダウンロード(>>137)
    • 知ってる人もいると思うけど、SketchUpは下のURL先のページでProの試用版をダウンロードできるよ
    • http://www.sketchup.com/ja/download/all
    • 試用版は8時間限定(ソフト起動時のみ時間経過)で使える 
    • それ以外の制限はないから書き出しだけこの試用版でやるといい
    • 書き出し形式は3dsが一番安定してると思う
    • FBXはBlenderで読み込めなかった
    • 試用期間が過ぎても、スケッチアップからdae型式のエクスポートでもBlenderで読める(>>601)
    • ただし、スケッチアップ側で全てexplodeしておく事が必要です
  • ※2015/05現在、SketchUp Make(無料版)をインストールしたら30日間のSketchUp Proライセンスが貰えました。
  • アセットエディタが終了できない件
    • Traffic ManagerやCitizen Trackerを外したら治ったという報告あり。アセットエディタを使う時はオフにする。

TIPS

  • 木の種類で作成すると風で揺れるようにできる
  • 電力施設や給水塔などの種類で作成すると道路以外の場所にも置けるので飾りに便利



コメント欄

コメントを投稿するには画像の文字を半角数字で入力してください。

投稿済みコメントに返信する場合はコメントを選んでから投稿してください。


画像認証
  • 慣れたら直接Blender使ったほうがいい --- 7743 (2016/01/03 10:59:57)
  • 上記に沿って作業、アセットエディターで読み込もうとすると”Array index is out of range. [System.IndexOutOfRangeException] Details: No details” の表示が出て上手く行かない!何が考えられますか? --- (2016/06/21 21:00:19)
    • MODを幾つかオフにしてしてみるといい --- (2016/06/22 00:10:33)
      • 追記 TrafficManagerとかトラフィック系 --- (2016/06/22 00:11:12)
  • Metasequoiaの有料版で出力できるfbxってエラーなく使えますか?課金するかどうか迷い中 --- (2016/06/22 19:23:24)
    • 試用ライセンス発行してもらって試してみては?(試した方、結果の書き込みしてもらえると助かる) http://www.metaseq.net/jp/purchase/trial/ --- (2017/03/09 10:47:14)
    • Metasequoia EX 体験版のFBXでアセット読み込み可能なことを確認。バージョンFBX201400、スムージンググループの出力なし設定。 --- (2016/08/31 23:41:14)
    • fbxに描き出せるからと言ってアセットエディターに簡単に読み込めることができないからリスクが多いよね。Shadeでやりたいんだが…。 --- (2016/06/23 01:30:12)
      • いろいろとやってみたところShade単独でできそうだね。UV画像の設定が面倒だけどきれいにはりつけれますね。 --- (2016/07/14 19:53:02)
      • 情報thkです。メタセコでfbxはけるのはEX版だけみたいなので、Shade3D Basicのほうがお手頃ですね。 --- (2016/07/03 17:28:29)
      • なんとかShade3D Basic Ver15でfbxとテクスチャファイルを作成して読み込めそうですね。これまで大量の鉄道車両を作成しているのでアセット化できそうです。(^^♪ --- (2016/07/03 14:46:41)
  • TMは解除していますが、単にデータが多すぎたせいか。Cube状のものを試しにやってみたらできました。 --- (2016/06/23 01:20:27)
    • ちょっとした設定の違いでアセットエディタが読めなくなるのでしんどい。互換性に幅を持たせてほしい。 --- (2016/06/26 15:24:03)
  • トラックとか配布されていますが、前輪が稼働するようですが、約束事はありますか? --- (2016/06/23 01:22:53)
    • なにやら英語版の解説には、車体と車輪のモデリング隙間を開けると自動で車輪に認識するらしいですね。 --- (2016/06/26 15:28:13)
  • Workshopに投稿したデータの差し替えってどっかにやり方書いてありますかね?探してもわからん… --- (2016/07/03 17:25:04)
  • ここで言うblenderの「高度なランプ設定」というのは、「照明器具を設置する」という意味ではないのですか? --- 複々線化推進局 (2016/09/19 16:25:35)
  • 上記手順に基づいてやってみたものの、アセットエディタ読み込み時にフリーズ落ちしてしまって先に進めない...。 --- 複々線化推進局 (2016/09/19 21:40:56)

  • 最終更新:2017-03-04 14:08:49

このWIKIを編集するにはパスワード入力が必要です

認証パスワード