Support Topics
 サポートトピックス・Shade3D

パートに記憶される移動量を示す変換行列

保守・サポートサービス関連情報

Shade3Dをはじめ3DCGのソフトウェアでは、アニメーションやイメージを作成するだけでなく、近年ではメタバースや3Dプリンタ等で利用するため、モデリングデータそのものも重要視され、様々な分野で利用する機会が増えてきました。

Shade3Dでもシーン内で制作した形状やイメージ等、ちょっとした配置やパート構成で、想定外の問題が発生するケースもございます。

今回は、ブラウザの特性や問題が発生した際の回避方法をご紹介します。

変換行列を示す「マトリクス」「変換要素」とは

ブラウザウインドウでは、シーン内の形状やイメージなどを「パート」で構成された階層構造で管理しています。「パート」は入れ物で形を持ちませんが「拡大縮小」「せん断」「回転」「移動」などの情報を保持しています。

これらの情報は「変換要素」や「マトリクス」と呼ばれ、パートに対して操作(移動や回転など)を行った場合に情報が蓄積します(図1、2)。

「マトリクス」や「変換要素」を確認するには、パート(ルートパートを含む)やジョイント、自由曲面パートを「ブラウザ」ウインドウで選択して、統合パレット >「情報」>「パート属性」確認できます。通常の値は「0」「1」が表示され、スケール/せん断/回転/移動などの様々な情報が蓄積されています。


図1 図2

数値が「#」や膨大な値が表示される

基本的に「マトリクス」や「変換要素」に入力された情報は、そのままで問題ありませんが、以下のような影響を与えるケースがあります。

例えば、データを扱う際の動作速度や、メモリ使用量などの兼ね合いから、単精度浮動小数点を使用した有効桁数は7桁までとなります。有効桁数を超えると「#」に置き換えて表示されます。

極端に広大なデータ(地形などのデータ)を製作している際に、mm単位の形状を拡大縮小している場合に、座標値や距離の有効桁数の範囲を超えるため、値が「#」や膨大な値が表示されてしまい、形状のサイズや値が認識できないケースが発生します。

※ただし、座標位置の場合はX¸Y¸Zの原点(0.0.0)の位置から極端に離れた場所に配置された場合も「#」で表示されます。その場合は形状そのものを原点付近に移動してください。


図3 図4

上記以外では以下のような問題が発生するケースがあります。

・特定のファイル形式(glTF、FBXなど)で出力し、他ソフトウェアにインポートした際に、形状のサイズやテクスチャが想定した通りにインポートされない
・表面材質に設定した投影マッピングの位置やサイズなどが極端なサイズで表示される
・ジョイントに設定したモーションが軸に沿って動かない
・特定のファイル形式でシーンにインポートした場合に形状が、歪んだりサイズが異なる

これらの問題を改善するには、変換行列の値をリセットすることで改善する場合があります。ブラウザウインドウで対象となるパートを選択して「パート」をクリックして表示されるメニューより「全てのパートの変換をリセット」を選択してください。

これにより、選択「パート」はリセットされますが、パート内の形状は、このパートの変換行列により逆変換されるため、形状の見た目は変化しません。


【注意】
マトリクス情報のリセットは、アンドゥ以外の操作では元に戻すことができません。

パート属性のマトリクス情報をリセットすると、その中に包まれている形状データの表面材質やジョイントの値に影響します。事前にバックアップを取ってから実行してください。

最後に

Shade3Dに関する様々なテクニックや情報を「Shade3Dナレッジベース」にて公開しています。操作や表現に迷ったら、是非ご活用ください。


(Up&Coming '25 新年号掲載)

LOADING