背景アーティストのぶろぐ

UE4やら、Substanceやら、Zbrushやらいろんなソフトを触ったことについて色々書く。

【SpeedTree】葉のメッシュを作成する機能

作成した木に葉のテクスチャを割り当てる時、
デフォルトでは板ポリゴンが用意されており、
それにテクスチャを貼るという流れになります。

しかし、葉は板ではありませんし、また、無駄な半透明部分は描画の都合上出来る限りなくしておきたいものです。

DCCツールでメッシュを作成し、SpeedTreeに読み込ませることも出来ますが、SpeedTreeにはテクスチャから葉のメッシュを生成する機能があります。

f:id:sinocof:20171022011239p:plain

 

 

テクスチャの準備

まずは、読み込むテクスチャを用意します。

今回はMegascanからDLした葉のデータを使用していきますが、自分で作成した葉のデータでも、写真素材から用意したものでも構いません。

  1. Megascanから使用したい葉のデータをDLします。DLするとこんなふうに各要素毎にテクスチャが別れたものが入ってます。

    f:id:sinocof:20171022012913p:plain

  2. Photoshopで、これらを1つのファイルにまとめ、使用したい葉一つだけ切り抜きます。テクスチャは正方形にしておきます。
  3. Diffuseにはアルファチャンネルをもたせます。
    Specularとなってますが、Roughnessを入れておきます。
    (PBRに対応していないので…)
    これらをtgaで書き出します。

    f:id:sinocof:20171024065928p:plain

◯テクスチャ命名規則
SpeedTreeでは接尾語に以下の規則に沿ってつけることで、Diffuseを読み込む時に他のマップも一括で読み込むことが出来るようです。

・Diffuse … なし
・Normal … _normal
・Specular … _spec

どこかでルールの設定ができそうですが、どこだかわかりません…。 

 

マテリアルにテクスチャを割り当てる

ここらへんは基本操作になるのですが、流れだけ簡単に書きます。

  1. Materialsウィンドウからマテリアルを作成します。

    f:id:sinocof:20171024071019p:plain

  2.  するとテクスチャの参照先が聞かれるので、先程作成した、Diffuseマップ(TestLeaf_1.tga)を読み込みます。

    するとこのような感じでノーマル、スペキュラ(ラフネス)マップも読み込まれます。

    f:id:sinocof:20171024071449p:plain

 

 

葉メッシュの作成方法

ここから葉のメッシュを作成していきます。

マテリアルのDiffuseにアルファチャンネルを持つ葉のテクスチャを割り当てることで、葉の生成機能が使用可能になります。

流れは以下の通り。

  1. [Generate Mesh…]ボタンが有効になるので、押します。
    するとGenerateMeshウィンドウが開きます。
    f:id:sinocof:20171024071823p:plain
  2. まずは、葉の基点の位置を変更します。◎をマウスで動かし、葉の根本に設定します。

    f:id:sinocof:20171024072159p:plain

  3.  メッシュをどのように生成するかを決めていきます。

    [Algorithm]の項目をいじっていきます。
    触ればわかるような項目ですが、今回はこのような感じにしてみました。

    ここで注意ですが半角英数で操作している方はEnterは押さないようにしましょう。Enterを押すと[OK]を押したことになり、ウィンドウが閉じます。
    (ついつい、癖で押してしまうので何度閉じたことか…)
    押してしまった方は、再度[Generate Mesh]ボタンを押してください。
    f:id:sinocof:20171024072440p:plain
  4. 操作してるとわかると思いますが、左が2Dビュー、右が3Dビューになります。
    作成したメッシュは左ドラッグで回転して確認することができます。

    f:id:sinocof:20171024072820p:plain

  5.  次にメッシュの形を使いやすいように調整かけていきます。
    とはいっても、[Z falloff]ぐらいしか調整しません。ここの値で葉の形を少し丸める事が出来ます。

    f:id:sinocof:20171024073452p:plain

  6.  最後にメッシュを登録します。
    [OK]を押したらそのまま新しいメッシュとして登録されます。
    一度作成したものに上書きしたい場合は、[Replace mesh]にラジオボタンを付けてから[OK]をしましょう。

    f:id:sinocof:20171024073805p:plain

    ここでの[OK]はあくまでも、SpeedTreeのファイル内のメッシュとして登録するものです。
    メッシュとして書き出したい場合は、[Save mesh]を押すことでobj形式で書き出しすることが出来ます。

  7. 作成したメッシュはメッシュウィンドウの中に表示されています。

    f:id:sinocof:20171024074244p:plain

 

 

こんな機能があるとは知らなかったので、知ったときは驚きました。
DCCツールを使わなくてもかなりの品質のところまで持って行くことができそうだなと思っています。

メッシュ化などと組み合わせながらいい感じに作っていける方法を模索してみたいと思います。

 

SpeedTreeあるあるかもしれないネタ

 

 てなことで、アルファチャンネルの抜き忘れには注意しましょう!