募集要項

  • ■ボイスの募集は終了しました。

    非常に沢山のご応募ありがとうございました!

     結果はこちら
2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

« 近況と仕事関連について | トップページ | 【Maya Tips】 Maya2016新機能ざっと触ってみた所感 »

2015年4月23日 (木)

【Unity Tips】 地形テクスチャの作り方について考察

最近は順調に作業は進んでるのですが、
ブログ更新自体忘れてました(汗
折角なので以前下書きして放置してた記事に若干加筆してペタリ。

内容としてはステージの地面(等)のテクスチャについて。
※主に単純なタイリングじゃない場合

以前も書きましたが、
Terrain等の地形ツールのデータは、
そのままではモバイルゲームではまともに使えないので、
地形等のテクスチャの境界の馴染ませ方に関しては
何かしら対策が必要になります。
では、どういった対応が考えられるでしょうか。

①コツコツタイプ
 ポリゴンで大枠のテクスチャ分けを行い、
  境界を頂点アルファ等で馴染ませたり、
  アルファを使ったオブジェクトを被せたりするやり方。
  150227_1

  若干手間はかかるものの、
  必要な箇所のみ半透明を使用する為、無駄は少ない
  ただ、Unityのライトマップも使う場合、
  頂点アルファとライトマップを両立するシェーダーは
  標準では無いっぽいので自前で用意しましょう。
  また、半透明同士の優先度にも気を付けて対応する必要があります。

  今現在使ってるやり方です。

②シェーダータイプ

  頂点カラー等を使ってテクスチャのブレンド具合を管理する。

  150227_2

  例えば、テクスチャAを基準に、
  頂点カラーのアルファ情報の頂点ではテクスチャBが表示される
  といったようなシェーダーを作る手法。

  RBGAそれぞれに違うテクスチャを使うこともできるので、
  頂点カラーだけで5枚の地形テクスチャのブレンドに対応できるかなと。

  ShaderForge等のアセットを使えばシェーダーは比較的簡単に
  作れる
ので有力候補だったのですが、
  どうも(ShaderForge1.05&Unity4.63)で上記のようなシェーダーに
  ライトマップも同時に使おうとするとエラーになるので実用には至ってません。
  負荷次第では有用かもしれません。

  ※同時に、Maya等の3Dツール上で同様のシェーダーを用意したい所。
    ⇒MayaのShaderFx使えば行けるか?使ったことないので要調査。

  ※ShaderForgeがアップデートしてたので試したら
    問題なくコンパイル&動作しました(1.06)。
    タイミング見て実用してみる予定です。
  
  ■ShaderForge
  AssetStore https://www.assetstore.unity3d.com/jp/#!/content/14147
  公式  http://acegikmo.com/shaderforge/

③力技タイプ
  Terrain(Unity外のツール含)で作った地形を画面上部から
  フラット気味なライトでスクリーンショットで撮りテクスチャとして扱うやり方。
  あまりお勧めはできません(汗

  150227_0

  作るのが容易で、頂点カラーやアルファも使わないので描画は最も軽いです。
  が、当然ながらテクスチャの容量が非常に大きくなるので、
  それに伴う様々な問題が発生します。
  また、広いマップでは解像度が相当高くないと対応できない為、
  「マップ数が少ない&広くない」ような場合でないと使い難いでしょう。
  尚、急角度の壁や、洞くつのような、
  上部から見えない(もしくは鋭角な角度の)部分がある場合も
  適していません。

  作成中のゲームの1つ目のダンジョンで使ったりしましたが、
  解像度不足が気になります。。。追々別の手法でやり直すかも。

④出力タイプ
 Terrainで作った地形テクスチャのブレンド具合を
  外部ツールで読めるデータに自動変換する処理を作ってしまうとか。
  モデル形状の出力は以前の記事で紹介しましたが、
  テクスチャは現状無い・・・?

と、いった感じでしょうか。

私自身、背景は専門じゃないので、
常に試行錯誤してる状態です。
あくまで、参考程度にどうぞ。

« 近況と仕事関連について | トップページ | 【Maya Tips】 Maya2016新機能ざっと触ってみた所感 »

Unity Tips」カテゴリの記事

コメント

カラスさん

いつも有用な記事ありがとうございます。
今回も非常に参考になりました。
シェーダーの頂点カラーでなじませる方法はぜひとも習得したいと思いました。

質問なのですが、マップの地形や建造物やダンジョンなどのオブジェクト配置はどうされていますか?

Unityのエディター上にゲームオブジェクトを配置、コピペで行っているのでしょうか。
あるいは何かアセットや、独自のマップエディターみたいなものを用意されていますか?

エディター外で作る場合のデータ形式などもどうされているのか気になります。

マップの作成は大変骨の折れるものと感じてまして、何か効率化できる方法はないかと探しております。

>マルソさん

マップの地形やダンジョンに関しては、
大半は3Dツール(Maya)上で行っています。

何かとゲームの仕様に都合よく編集できるのが一番の理由ですが、
他にもコリジョンの最適化、という意味もあります。
コリジョンの形状はオブジェクトの形状に依存している訳では無いですし、
ステージ範囲外の判定も取り易くなったり、隙間の心配が無くなったり等、
利点が多い為です。

ただ、小物などの細かいデータに関しては、
Unity上で配置してstatic化してしまう事もあります。

他にも、TerrainやZbrushで作ったデータを.obj形式で
3Dツール上で削減し、ベースにしたりとか、状況に合わせて使い分けてます。
が・・・「マップの作成は大変骨の折れる」というのは同感ですね・・・(;´Д`)

効率重視であれば、汎用的なパーツを作って
それをつなぎ合わせるだけで作れる背景で作る。
アセットのお世話になる。等、
割り切ってしまえば効率化はできますが、
その分自由度も低下するので、
その辺りは完全に取捨選択ですね・・・。悩ましい・・・。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1500357/59747965

この記事へのトラックバック一覧です: 【Unity Tips】 地形テクスチャの作り方について考察:

« 近況と仕事関連について | トップページ | 【Maya Tips】 Maya2016新機能ざっと触ってみた所感 »

Twitter等

  • にほんブログ村 ゲームブログ ゲーム制作へ

メールフォーム

  • 直接コンタクト取りたい方はこちらからどうぞ

サイト内検索
ココログ最強検索 by 暴想