Difference between revisions of "メッシュと LOD"

From Second Life Wiki
Jump to navigation Jump to search
m (シエイブ → シェイプ に修正)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{multi-lang|1=Mesh_and_LOD|2=/ja}}
==詳細レベル==
==詳細レベル==


Line 8: Line 9:
*アップローダーは、プレビューや大まかなインポートに合った低い LOD を自動的に生成します。 あなたは自分自身で低い LOD のモデルを作成することで、レベル間のよりスムーズな移行を獲得できます。
*アップローダーは、プレビューや大まかなインポートに合った低い LOD を自動的に生成します。 あなたは自分自身で低い LOD のモデルを作成することで、レベル間のよりスムーズな移行を獲得できます。
*LOD の (詳細度が変化する観察距離における) 選択は、オブジェクトの大きさに影響されます。 同じ距離では、より大きなオブジェクトは小さなオブジェクトより詳細な LOD を見せます。 あなたが自分で LOD モデルを作成してアップロードする際には、これを忘れないでください。
*LOD の (詳細度が変化する観察距離における) 選択は、オブジェクトの大きさに影響されます。 同じ距離では、より大きなオブジェクトは小さなオブジェクトより詳細な LOD を見せます。 あなたが自分で LOD モデルを作成してアップロードする際には、これを忘れないでください。
*アップローダーは、重複する LOD レベルのスロットに同じファイルを使用することを許します。 これはより小さなオブジェクトの詳細を確保するのに便利ですが、よく考えて使用してください ;高度に詳細なモデルを全てのスロットに使用すると、モデルの土地影響 (land impact) やレンダリング性能に不利な影響をを与えます。
*アップローダーは、複数の LOD レベルのスロットに同じファイルを使用することを許します。 これはより小さなオブジェクトの詳細を確保するのに便利ですが、よく考えて使用してください ;高度に詳細なモデルを全てのスロットに使用すると、モデルの土地影響 (land impact) やレンダリング性能に不利な影響をを与えます。
*全ての LOD モデルの当り判定の境界 (bounding box) が、共通なサイズであることを確認してください。 これはオブジェクトが LOD レベルを遷移する際に、大きさを変えてしまうのを阻みます。 ほとんどのモデル作成アプリケーションは、複合したオブジェクトの当り判定境界を、同時に見る方法を提供しています。
*全ての LOD モデルの当り判定の境界 (bounding box) が、共通なサイズであることを確認してください。 これはオブジェクトが LOD レベルを遷移する際に、大きさを変えてしまうのを阻みます。 ほとんどのモデル作成アプリケーションは、複合したオブジェクトの当り判定境界を、同時に見る方法を提供しています。
*各々の LOD モデルは、最高の詳細度のモデルの全てのマテリアルを維持すべきです。 あなたのモデルが8つのマテリアルを持つなら、すべての LOD モデルも同様です。 これを無視すると、予測不能なテクスチャ位置の変化を引き起こすでしょう。 しかもマテリアルの必要性の無視は、アップローダーを止めないでしょう。 もしあなたのモデルがテクスチャを不適切に表示しているなら、LOD ファイルのマテリアルに目を凝らしてください。
*各々の LOD モデルは、最高の詳細度のモデルの全てのマテリアルを維持すべきです。 あなたのモデルが8つのマテリアルを持つなら、すべての LOD モデルも同様です。 これを無視すると、予測不能なテクスチャ位置の変化を引き起こすでしょう。 しかもマテリアルの必要性の無視は、アップローダーを止めないでしょう。 もしあなたのモデルがテクスチャを不適切に表示しているなら、LOD ファイルのマテリアルに目を凝らしてください。
Line 36: Line 37:


==物理特性==
==物理特性==
Second Life は、カスタムの物理シェイブ (物理特性の形状) をサポートしており、それはメッシュオブジェクトと一緒にアップロードすることもできるし、独立してアップロードすることも可能です。  
Second Life は、カスタムの物理シェイプ (物理特性の形状) をサポートしており、それはメッシュオブジェクトと一緒にアップロードすることもできるし、独立してアップロードすることも可能です。  
これにより、視覚的に複雑でありながら低い物理特性の重みをもったオブジェクトの制作が可能となります。  
これにより、視覚的に複雑でありながら低い物理特性の重みをもったオブジェクトの制作が可能となります。  
物理シェイブを作る際の Havok の公式 (そして非常に技術的で) かつ最良の演習のために、
物理シェイプを作る際の Havok の公式 (そして非常に技術的で) かつ最良の演習のために、
Second Life 知識基盤で [http://community.secondlife.com/t5/English-Knowledge-Base/Best-practices-for-creating-efficient-collision-volumes/ta-p/984115 Best practices for creating efficient collision volumes] を見てください。
Second Life 知識基盤で [http://community.secondlife.com/t5/English-Knowledge-Base/Best-practices-for-creating-efficient-collision-volumes/ta-p/984115 Best practices for creating efficient collision volumes] を見てください。


===Havok 物理のヒントと過度の単純化===
===Havok 物理のヒントと過度の単純化===
[https://wiki.secondlife.com/wiki/Physics_engine Havok] はキューブを愛しています。そしてここに、Havok がキューブを処理することに最適化されていることが殆ど瞬時に見てとれます。
[https://wiki.secondlife.com/wiki/Physics_engine Havok] はキューブを愛しています。そしてここに、Havok がキューブを処理することに最適化されていることが殆ど瞬時に見てとれます。
逆に言うと、Havok がキューブ (より適切に言えば、空洞を持つかカットされたそれ)よりも複雑なオブジェクトに出会う時、そのオブジェクトの ''ひとつひとつのトライアングル'' を数えて、それぞれをどう扱うかを思案することを強いられます。だから物理シェイブはできる限り単純に保ってください!
逆に言うと、Havok がキューブ (より適切に言えば、空洞を持つかカットされたそれ)よりも複雑なオブジェクトに出会う時、そのオブジェクトの ''ひとつひとつのトライアングル'' を数えて、それぞれをどう扱うかを思案することを強いられます。だから物理シェイプはできる限り単純に保ってください!


さまざまなタイプの課題に対応する物理シェイプを作成するための指針が存在します;  
さまざまなタイプの課題に対応する物理シェイプを作成するための指針が存在します;  
Line 62: Line 63:
====ステップ 2: 解析====
====ステップ 2: 解析====
* 解析ボタンを使用せずにアップロードされたメッシュの物理シェイプは、インワールドで、両側に面をもつ結果となるでしょう。 実例: ひとつの平面が両側に面をもつ壁としてアップロードされるでしょう。 キューブは空洞をもつ箱としてアップロードされます。 これは単純な形状を作るには便利なのですが、同時に、アバターやその他の物理オブジェクトをトラップするエリアを作り出す危険なことでもあります。
* 解析ボタンを使用せずにアップロードされたメッシュの物理シェイプは、インワールドで、両側に面をもつ結果となるでしょう。 実例: ひとつの平面が両側に面をもつ壁としてアップロードされるでしょう。 キューブは空洞をもつ箱としてアップロードされます。 これは単純な形状を作るには便利なのですが、同時に、アバターやその他の物理オブジェクトをトラップするエリアを作り出す危険なことでもあります。
* 解析ボタンを押すと一組の ''凸面体'' (穴や窪みのない形状)が生成されます。それは元々のメッシュ形状を近似したものです。 これらの凸面体の殻 (convex hull) は、塊として振る舞う物理シェイブを作り出します。 解析済みの物理シェイプの中で立ち往生したアバターや物理オブジェクトは、 Havok によってきちんとその塊から押し出されます。
* 解析ボタンを押すと一組の ''凸面体'' (穴や窪みのない形状)が生成されます。それは元々のメッシュ形状を近似したものです。 これらの凸面体の殻 (convex hull) は、塊として振る舞う物理シェイプを作り出します。 解析済みの物理シェイプの中で立ち往生したアバターや物理オブジェクトは、 Havok によってきちんとその塊から押し出されます。


====ステップ 3: 単純化====
====ステップ 3: 単純化====
Line 75: Line 76:
UV マッピングでは、単純にテクスチャの繰り返し (U と V) とオフセット(補正値)を設定します。
UV マッピングでは、単純にテクスチャの繰り返し (U と V) とオフセット(補正値)を設定します。
もしあなたがビルドツールのテクスチャ・タブを子細に見たなら、U と V が既にテクスチャのオフセット値として使われているのが見えるでしょう。
もしあなたがビルドツールのテクスチャ・タブを子細に見たなら、U と V が既にテクスチャのオフセット値として使われているのが見えるでしょう。
その親しみの上で、このコンセプトがより簡単に現れることを学んでください。
そうした親しみの上で、このコンセプトがより簡単に出てくることを学んでください。


===一般的な UV マッピングの技法===
===一般的な UV マッピングの技法===


====標準的な UV マッピング====
====標準的な UV マッピング====
最も普通の UV マップ技法では、メッシュの表面を偏平な部分に巧妙に分割します。 大抵の 3D モデリング・ソフトウェアパッケージにはこの機能が最初から準備されています。
最も普通の UV マップ技法では、メッシュの表面を偏平な部分に巧妙に分割します。 大抵の 3D モデリング・ソフトウェアパッケージにはこの機能が最初から装備されています。


このやり方でする UV マッピングには、長所も短所もあります:
このやり方でする UV マッピングには、長所も短所もあります:
Line 89: Line 90:
====投影 UV マッピング====
====投影 UV マッピング====
投影 UV マッピングは、インワールドでプリム・オブジェクトにテクスチャを適用するのに非常に似ています。  
投影 UV マッピングは、インワールドでプリム・オブジェクトにテクスチャを適用するのに非常に似ています。  
投影 UV マッピングの目的は、発色している (diffuse) テクスチャの大きさを決め、回転させ、位置を補正することで、オブジェクトに完璧にそれを着せることにあります。
投影 UV マッピングの目的は、拡散発色の (diffuse) テクスチャの大きさを決め、回転させ、位置を補正することで、オブジェクトに完璧にそれを着せることにあります。
* 投影 UV マッピングの利点は多用途であることです。 この方法でUV マップされた家には、どんな数の標準的な壁や屋根、あるいは室内装飾のテクスチャでも着せられます。
* 投影 UV マッピングの利点は多用途であることです。 この方法でUV マップされた家には、どんな数の標準的な壁や屋根、あるいは室内装飾のテクスチャでも着せられます。
* テクスチャは繰り返しと位置補正が可能です。
* テクスチャは繰り返しと位置補正が可能です。
Line 95: Line 96:


欠点:  
欠点:  
* インワールドでのテクスチャサイズが過剰になる危険性
* インワールドでのテクスチャサイズが過剰になる危険性。
* 投影 UV マップを付けてアップロードされたモデルでは、モデリングソフトウェアのテクスチャ焼き付け機能の利点が利用できない
* 投影 UV マップを付けてアップロードされたモデルでは、モデリングソフトウェアのテクスチャ焼き付け機能の利点が利用できない。


====Baking textures====
====テクスチャの焼き付け====
An advanced feature of most modeling software packages uses both the Standard UV map and the projection maps to render an image.  This is sometimes referred to as "baking" a texture. The goal is to use all the texture information stored in the Projection maps to create an image that fits the Standard UV map. This render can be influenced by any lighting or other objects in the scene.
大抵のモデリング・ソフトウェアパッケージでは、高度な機能として、標準的な UV マップと投影マップの両方が画像の描画に利用されています。
これはしばしば、テクスチャの"焼き付け"として言及されるものです。
その目的は、投影マップに格納されたすべてのテクスチャ情報を、標準的な UV マップに適合する画像を制作するため利用する、というものです。
この描画では、シーンの中のどんな照明やその他オブジェクトでも反映させることができます。


==Texture Faces==  
==テクスチャの面==  


*Second Life's COLLADA mesh uploader supports up to 8 separate texture faces.
* Second Life COLLADA メッシュアップローダーは、8つまでの独立したテクスチャの面をサポートします。
*Each LOD model must all have the same number of Texture faces.
* 各々の LOD モデルは、すべて同じ数のテクスチャの面を持たねばなりません。
*All the separate faces need to use the same UV map.
* すべての独立した面は、同じ UV マップを使用する必要があります。
*Each modeling software handles this slightly differently. Assigning different areas to different materials archives separate Texture faces on an uploaded Mesh in some modelers, and assigning areas to separate textures achieves this in others. [http://wiki.secondlife.com/wiki/Mesh/Uploading_a_multi-face_mesh Here are some examples of application specific information.]
* モデリング・ソフトウェアのそれぞれは、これを僅かづつ異なるやり方で扱っています。
あるモデラーは、異なるエリアに異なるマテリアルを割り当てることで、アップロードされるメッシュに独立したテクスチャの面を格納します。
また、別のモデラーは、これを独立したテクスチャにエリアを割り当てることで行います。
[http://wiki.secondlife.com/wiki/Mesh/Uploading_a_multi-face_mesh/ja アプリケーション固有の情報の例がここにあります。]


==Normals==
==法線==
A [http://en.wikipedia.org/wiki/Normal_%28geometry%29 ''normal''] is something that is perpendicular to a plane.
[http://en.wikipedia.org/wiki/Normal_%28geometry%29 ''法線''] とはひとつの平面に対して垂直な何かです。
For the scope of this article, normal describes the direction a face is pointing. Most 3D renderers, the Second Life Viewer included, smartly render only one side of a face. This saves cycles but assumes model is ''manifold'' (enclosed in a way that won't encourage views inline with the normal, or are double sided where needed)  
この記事の範囲では、法線とは面が指し示す方向を表わすものです。
殆どの 3D レンダラーは、Second Life ビューワも含めて、巧妙に面の片側だけを描画します。
これはレンダリング・サイクルを節約しますが、モデルが ''多様体'' であることを前提としています。
(その多様体は、法線が一緒に展開表示されないようにするやり方で囲い込まれているか、あるいは、必要な時に両側の面を表示します)


[[File:normal and flipped normal sphere.png|256px]]
[[File:normal and flipped normal sphere.png|256px]]
Two spheres. Left: Normals pointing out, Right: Normals pointing in.
2つの球体。左: 法線が外向き、右: 法線が内向き。


===Smooth Normals===
===滑らかな法線===
In the case of a round or curved multiple face surface, a normal average can be used. A normal average allows inexpensive surface smoothing. Commonly known as "smooth normals" or "smooth shading", it is an invaluable tool when creating low polygon Second Life content. Smooth normals allow fewer faces to appear as a visually smooth surface, requiring far fewer faces. For example, a five-sided cylinder with smooth normals can appear completely round in Second Life. In some cases, a even a three-sided cylinder can appear perfectly round.
円形か湾曲した複合面の表面の場合、標準的な平均値が使えます。
標準的な平均値は、安価な表面の平滑化を与えます。
通常、"滑らかな法線 (smooth normals)" または "滑らかな陰面消去 (smooth shading)" として知られるそれは、
ローポリゴンな Second Life コンテンツを制作する際に、すこぶる有益なツールとなります。
滑らかな法線は、より少ない面で視覚的に滑らかな表面として見せることを許します。はるかに少ない面の場合にです。
例を挙げると、滑らかな法線を持った5面のシリンダーは、 Second Life では完全に丸く見えます。
ある場合では、3面のシリンダーですら、完璧に丸く見えるのです。


{|
{|
|-
|-
|[[File:smooth cylinder next to not smooth.png|256px]]
|[[File:smooth cylinder next to not smooth.png|256px]]
|Two five-sided cylindersTop: Solid normals. Bottom: Smooth normals.   
|2つの5面シリンダー: 硬い法線. : 滑らかな法線.   
Note where both cylinders intersect the walls, they show the profile of the actual geometry.
両方のシリンダーが壁と交錯する所では、両者とも実際の表面形状 (geometry) の輪郭を見せていることに注意
|-
|-
|[[File:candlestick.png|256px]]
|[[File:candlestick.png|256px]]
|Applying smooth normals to some areas and not to others can be useful for adding detail or highlighting edges.
|滑らかな法線をあるエリアに適用し、他にはしないことは、ディテールを加えたりエッジを強調表示させたりするために有用です。
|}
|}


==Low polygon modeling==
==ローポリゴン・モデリング==


It is important to remember that Hollywood-quality digital models are extremely costly to use in Second Life. Real-time rendering means Second Life must stream triangles and data near the speed of light. Make sure each and every polygon and bit counts!
Second Life でハリウッド・クォリティのデジタル・モデルを使うというのは、極めて高価なものだということを忘れないことが重要です。
There are many [http://en.wikipedia.org/wiki/Low_poly low polygon] modeling techniques and software-specific tutorials and tools available around the web.  
リアルタイム・レンダリングは、Second Life がほとんど光速でトライアングルやデータを送出しなければならないことを意味します。
すべてのポリゴンやビット数のことを意識してください!
[http://en.wikipedia.org/wiki/Low_poly ローポリゴン]・モデリングの技法やソフトウェア固有のチュートリアルやツールは、ウェブを巡って見ることが可能です。 (訳注 上のローポリゴンは和訳がないので、[http://ja.wikipedia.org/wiki/法線マッピング 法線マッピング]を直接見てください)


The goal is to save every triangle you can on the model you plan to upload:
ゴールは、あなたがアップロードしようとするモデルの各々のトライアングルを節約することにあります:  
*Ensure that any flat surface uses the smallest number of triangles possible.
* どの平らな表面も、可能な限り最小限のトライアングル数の使用で済むようにしてください。
*Use smooth normals to "fake" smooth curved surfaces.
* 滑らかな曲面に "見せ掛ける" ために、滑らかな法線を使ってください。
*Use low polygon rendering tricks to bake detailed textures, which can provide the illusion of more geometric detail.
* ディテールをもったテクスチャを焼いて、ローポリゴン・レンダリングのトリックを利用してください。それは、さらに表面形状の詳細さの錯覚をもたらします。


===Low polygon texture baking tricks===
===ローポリゴン・テクスチャを焼き付けるトリック===
It is possible to create a very highly detailed model and use it to render gorgeous textures on the faces of a very simple low polygon (Second Life friendly) version.
とても高度に詳細なモデルを制作し、それをとてもシンプルなローポリゴン (Second Life に優しい)バージョンの表面に、華麗なテクスチャとして描画するために利用することは重要なことです。
In this case, the name "low polygon modeling" sounds slightly deceptive because you will model and render a very high polygon scene for the purposes of creating the textured illusion. However, the final product is a very efficient, low-polygon model with very detailed textures mapped onto it.
この場合、"ローポリゴン・モデリング"という名前は、少しばかりごまかしに響きます。
なぜなら、あなたはテクスチャの幻影を創りだすためにモデルを作り、とてもハイポリゴンなシーンを描画するだろうからです。
しかしながら、最終的な成果は非常に効果的で、ディテールに富んだテクスチャマップを備えたローポリゴン・モデルになります。


Most modeling software packages have features built in to facilitate this technique.
ほとんどのモデリング・ソフトウェア・パッケージは、この技法の手助けとなる機能が組み込まれています。
 
----
[[Good_Building_Practices]] に戻る
[[Category:Mesh]]

Latest revision as of 00:36, 22 December 2012

詳細レベル

詳細レベル (LOD) は Second Life が、カメラが距離を遠ざけるにつれてオブジェクトの視覚的な詳細を低下させる仕組みです。

メッシュモデルをアップロードする際に、私たちは各レベルにおける詳細度を完全にコントロールできます。

  • アップローダーは4つの詳細レベルをサポートします。
  • アップローダーは、プレビューや大まかなインポートに合った低い LOD を自動的に生成します。 あなたは自分自身で低い LOD のモデルを作成することで、レベル間のよりスムーズな移行を獲得できます。
  • LOD の (詳細度が変化する観察距離における) 選択は、オブジェクトの大きさに影響されます。 同じ距離では、より大きなオブジェクトは小さなオブジェクトより詳細な LOD を見せます。 あなたが自分で LOD モデルを作成してアップロードする際には、これを忘れないでください。
  • アップローダーは、複数の LOD レベルのスロットに同じファイルを使用することを許します。 これはより小さなオブジェクトの詳細を確保するのに便利ですが、よく考えて使用してください ;高度に詳細なモデルを全てのスロットに使用すると、モデルの土地影響 (land impact) やレンダリング性能に不利な影響をを与えます。
  • 全ての LOD モデルの当り判定の境界 (bounding box) が、共通なサイズであることを確認してください。 これはオブジェクトが LOD レベルを遷移する際に、大きさを変えてしまうのを阻みます。 ほとんどのモデル作成アプリケーションは、複合したオブジェクトの当り判定境界を、同時に見る方法を提供しています。
  • 各々の LOD モデルは、最高の詳細度のモデルの全てのマテリアルを維持すべきです。 あなたのモデルが8つのマテリアルを持つなら、すべての LOD モデルも同様です。 これを無視すると、予測不能なテクスチャ位置の変化を引き起こすでしょう。 しかもマテリアルの必要性の無視は、アップローダーを止めないでしょう。 もしあなたのモデルがテクスチャを不適切に表示しているなら、LOD ファイルのマテリアルに目を凝らしてください。
  • LOD モデルを作成する為の大まかな指針は、各レベルでトライアングル数を 50%-75% 減らすことにあります。 例としては、最も詳細なモデルが 400 トライアングルだとすると、次のレベルでは 200 トライアングルを越えるべきではないでしょう。 さらに次のレベルは 100 以下で、最低では 50 トライアングルかそれ以下であるべきです。

メッシュモデルを順を追ってアップロードする為の Second Life の知識基盤 (Knowledge Base): モデルのアップロード

アップローダーの LOD セクションの簡単な手順

アップローダーが生成する LOD

  1. トップメニュー・バーから、 Build > Upload > Model... を選択します。
  2. "High" のファイルスロットで Browse をクリックし、あなたのコンピュータ上の .dae ファイルを選択し、 Open をクリックします。
  3. "Medium" レベルのスロットを反転表示させる為にクリックします。 どれかのレベルを反転表示させると、そのレベルのモデルが Preview 窓に表示されます。 LOD 間の遷移が満足できるまで、トライアングル数を上下させる為に各々のレベルで↑↓を使用してください。
  4. Calculate weights & fee をクリックし、好きな土地影響 (Land Impact) 数になるかを見ます。 しかしまだアップロードしないで! まだモデルの物理特性プロパティを調節する必要があります。

トライアングル数の制限とエラー閾値の完全な詳細は、 Upload Model UI reference を見てください。

ユーザーが作成する LOD ファイル

  1. トップメニュー・バーから、 Build > Upload > Model... を選択します。
  2. "High" の LOD スロットで、上述の最高詳細度のモデルを読み込みます。
  3. "Medium" スロットで、次の詳細度の LOD モデルを読み込みます。
  4. "Low" のファイルスロットで、最低より一段上の LOD モデルを読み込みます。
  5. "Lowest" スロットで、最低の LOD モデルを読み込みます。
  6. Calculate weights & fee をクリックし、好きな土地影響 (Land Impact) 数になるかを見ます。 しかしまだアップロードしないで! まだモデルの物理特性プロパティを調節する必要があります。

物理特性

Second Life は、カスタムの物理シェイプ (物理特性の形状) をサポートしており、それはメッシュオブジェクトと一緒にアップロードすることもできるし、独立してアップロードすることも可能です。 これにより、視覚的に複雑でありながら低い物理特性の重みをもったオブジェクトの制作が可能となります。 物理シェイプを作る際の Havok の公式 (そして非常に技術的で) かつ最良の演習のために、 Second Life 知識基盤で Best practices for creating efficient collision volumes を見てください。

Havok 物理のヒントと過度の単純化

Havok はキューブを愛しています。そしてここに、Havok がキューブを処理することに最適化されていることが殆ど瞬時に見てとれます。 逆に言うと、Havok がキューブ (より適切に言えば、空洞を持つかカットされたそれ)よりも複雑なオブジェクトに出会う時、そのオブジェクトの ひとつひとつのトライアングル を数えて、それぞれをどう扱うかを思案することを強いられます。だから物理シェイプはできる限り単純に保ってください!

さまざまなタイプの課題に対応する物理シェイプを作成するための指針が存在します;

  • 大きくてくぼんだ形状 (家とか)の為には、最低限のトライアングル数をもったカスタムの物理特性のメッシュを用います。より大きなトライアングルを物理メッシュに使うと、物理コストはより低下します。
  • 正確な衝突形状を必要としない非常に単純なオブジェクト (木の幹とか)では、箱型のような粗末な物理シェイプを使ってみてください。 さらにこの手法に関する情報が必要であれば、 Physics Optimization を見てください。
  • カスタムの物理特性のメッシュを効果的に使うには小さすぎるが、かなり正確な衝突モデルを必要とする、中間的なオブジェクトに対しては、下記のメッシュアップローダーの物理特性タブを利用してください。

物理シェイプ、それがメッシュのアップロードや LOD とどのように関係するか

ここにメッシュアップローダーの物理特性タブを使用するための手順の説明があります

このタブには殆ど無限の柔軟性があります。ここにあるのはアップローダーの物理特性タブの素早い説明であり、冗長ではありますが、解析ボタンの重要性と実用性を詳解することは必要なことです。

ステップ 1: 詳細レベル

  • あなたは LOD レベルのどれでも物理シェイプとして割り当てることができます。
  • あるいは、物理シェイプのために新しいファイルを挿入できます。
  • あるいは、アップローダーのまさにここで物理シェイプを生成することもできます。

ステップ 2: 解析

  • 解析ボタンを使用せずにアップロードされたメッシュの物理シェイプは、インワールドで、両側に面をもつ結果となるでしょう。 実例: ひとつの平面が両側に面をもつ壁としてアップロードされるでしょう。 キューブは空洞をもつ箱としてアップロードされます。 これは単純な形状を作るには便利なのですが、同時に、アバターやその他の物理オブジェクトをトラップするエリアを作り出す危険なことでもあります。
  • 解析ボタンを押すと一組の 凸面体 (穴や窪みのない形状)が生成されます。それは元々のメッシュ形状を近似したものです。 これらの凸面体の殻 (convex hull) は、塊として振る舞う物理シェイプを作り出します。 解析済みの物理シェイプの中で立ち往生したアバターや物理オブジェクトは、 Havok によってきちんとその塊から押し出されます。

ステップ 3: 単純化

  • ここからあなたは単純化ができます。
  • より複雑な形状の中の穴を塞いでください。 これは物理シェイプのために LOD レベルを利用するときに有用です。


いつでもゴールは最も単純な物理シェイプを可能とすることにあるべきです。 ここにあるアップローダーのツールを表面形状 (geometry) と物理特性の計算をできうる限り低く保つ為に利用してください。

UV マッピング

Second Life の中でビルドツールを使ったことのある人なら、誰でも既に UV マッピングは理解しています。 ただし、たぶんそれは異なる用語集の下でのことです。 UV マッピングでは、単純にテクスチャの繰り返し (U と V) とオフセット(補正値)を設定します。 もしあなたがビルドツールのテクスチャ・タブを子細に見たなら、U と V が既にテクスチャのオフセット値として使われているのが見えるでしょう。 そうした親しみの上で、このコンセプトがより簡単に出てくることを学んでください。

一般的な UV マッピングの技法

標準的な UV マッピング

最も普通の UV マップ技法では、メッシュの表面を偏平な部分に巧妙に分割します。 大抵の 3D モデリング・ソフトウェアパッケージにはこの機能が最初から装備されています。

このやり方でする UV マッピングには、長所も短所もあります:

  • この UV マッピング技法を使って作られた形状は、テクスチャがインワールドでどのように適用されるかを簡単に視覚化でき、それによりテクスチャの修正や描画が簡単になります
  • 大抵の 3D モデリング・ソフトウェアパッケージは、このマッピング技法 (投影マッピング、シーン・ライティング、諸々と併せることで)を利用して美しいテクスチャを生成するのに利用することができます。
  • 欠点は、より大きくとても複雑なオブジェクトで明らかになります。 複雑なオブジェクトをひとつの UV マップ上に平らに広げようとすると、あるものは簡単にピクセル(ないしテクスチャ空間)から飛び出して行きます。 その代りとして、大きなオブジェクトは、しばしば継ぎ目のない繰り返し可能なテクスチャを必要とします。

投影 UV マッピング

投影 UV マッピングは、インワールドでプリム・オブジェクトにテクスチャを適用するのに非常に似ています。 投影 UV マッピングの目的は、拡散発色の (diffuse) テクスチャの大きさを決め、回転させ、位置を補正することで、オブジェクトに完璧にそれを着せることにあります。

  • 投影 UV マッピングの利点は多用途であることです。 この方法でUV マップされた家には、どんな数の標準的な壁や屋根、あるいは室内装飾のテクスチャでも着せられます。
  • テクスチャは繰り返しと位置補正が可能です。
  • テクスチャはアニメーションできます。

欠点:

  • インワールドでのテクスチャサイズが過剰になる危険性。
  • 投影 UV マップを付けてアップロードされたモデルでは、モデリングソフトウェアのテクスチャ焼き付け機能の利点が利用できない。

テクスチャの焼き付け

大抵のモデリング・ソフトウェアパッケージでは、高度な機能として、標準的な UV マップと投影マップの両方が画像の描画に利用されています。 これはしばしば、テクスチャの"焼き付け"として言及されるものです。 その目的は、投影マップに格納されたすべてのテクスチャ情報を、標準的な UV マップに適合する画像を制作するため利用する、というものです。 この描画では、シーンの中のどんな照明やその他オブジェクトでも反映させることができます。

テクスチャの面

  • Second Life の COLLADA メッシュアップローダーは、8つまでの独立したテクスチャの面をサポートします。
  • 各々の LOD モデルは、すべて同じ数のテクスチャの面を持たねばなりません。
  • すべての独立した面は、同じ UV マップを使用する必要があります。
  • モデリング・ソフトウェアのそれぞれは、これを僅かづつ異なるやり方で扱っています。

あるモデラーは、異なるエリアに異なるマテリアルを割り当てることで、アップロードされるメッシュに独立したテクスチャの面を格納します。 また、別のモデラーは、これを独立したテクスチャにエリアを割り当てることで行います。 アプリケーション固有の情報の例がここにあります。

法線

法線 とはひとつの平面に対して垂直な何かです。 この記事の範囲では、法線とは面が指し示す方向を表わすものです。 殆どの 3D レンダラーは、Second Life ビューワも含めて、巧妙に面の片側だけを描画します。 これはレンダリング・サイクルを節約しますが、モデルが 多様体 であることを前提としています。 (その多様体は、法線が一緒に展開表示されないようにするやり方で囲い込まれているか、あるいは、必要な時に両側の面を表示します)

Normal and flipped normal sphere.png 2つの球体。左: 法線が外向き、右: 法線が内向き。

滑らかな法線

円形か湾曲した複合面の表面の場合、標準的な平均値が使えます。 標準的な平均値は、安価な表面の平滑化を与えます。 通常、"滑らかな法線 (smooth normals)" または "滑らかな陰面消去 (smooth shading)" として知られるそれは、 ローポリゴンな Second Life コンテンツを制作する際に、すこぶる有益なツールとなります。 滑らかな法線は、より少ない面で視覚的に滑らかな表面として見せることを許します。はるかに少ない面の場合にです。 例を挙げると、滑らかな法線を持った5面のシリンダーは、 Second Life では完全に丸く見えます。 ある場合では、3面のシリンダーですら、完璧に丸く見えるのです。

Smooth cylinder next to not smooth.png 2つの5面シリンダー. 上: 硬い法線. 下: 滑らかな法線.

両方のシリンダーが壁と交錯する所では、両者とも実際の表面形状 (geometry) の輪郭を見せていることに注意

Candlestick.png 滑らかな法線をあるエリアに適用し、他にはしないことは、ディテールを加えたりエッジを強調表示させたりするために有用です。

ローポリゴン・モデリング

Second Life でハリウッド・クォリティのデジタル・モデルを使うというのは、極めて高価なものだということを忘れないことが重要です。 リアルタイム・レンダリングは、Second Life がほとんど光速でトライアングルやデータを送出しなければならないことを意味します。 すべてのポリゴンやビット数のことを意識してください! ローポリゴン・モデリングの技法やソフトウェア固有のチュートリアルやツールは、ウェブを巡って見ることが可能です。 (訳注 上のローポリゴンは和訳がないので、法線マッピングを直接見てください)

ゴールは、あなたがアップロードしようとするモデルの各々のトライアングルを節約することにあります:

  • どの平らな表面も、可能な限り最小限のトライアングル数の使用で済むようにしてください。
  • 滑らかな曲面に "見せ掛ける" ために、滑らかな法線を使ってください。
  • ディテールをもったテクスチャを焼いて、ローポリゴン・レンダリングのトリックを利用してください。それは、さらに表面形状の詳細さの錯覚をもたらします。

ローポリゴン・テクスチャを焼き付けるトリック

とても高度に詳細なモデルを制作し、それをとてもシンプルなローポリゴン (Second Life に優しい)バージョンの表面に、華麗なテクスチャとして描画するために利用することは重要なことです。 この場合、"ローポリゴン・モデリング"という名前は、少しばかりごまかしに響きます。 なぜなら、あなたはテクスチャの幻影を創りだすためにモデルを作り、とてもハイポリゴンなシーンを描画するだろうからです。 しかしながら、最終的な成果は非常に効果的で、ディテールに富んだテクスチャマップを備えたローポリゴン・モデルになります。

ほとんどのモデリング・ソフトウェア・パッケージは、この技法の手助けとなる機能が組み込まれています。


Good_Building_Practices に戻る