


 
 
 
 
 
 
 |
DelphiXE3 [3D-FMX] 3Dパス図形(Path3D) 2014/03/29 |
前回は [3D Shapes]内の「3D文字」(Text3D)について見てみましたので今回は同じく[3D Shapes]内の「3Dパス図形」(Path3D)について見てみます。
[3D Shapes]内
FMX |  |
ヘルプより
パス データを表示できる 3D オブジェクトを表します。
TPath3D クラスでは、3D FireMonkey フォーム上に配置してパス データを表すものを描画できる 3D オブジェクトを実装しています。TPath3D は、[ツール パレット]から追加することができるビジュアル オブジェクトです。 |

 |
Flatness
この図形が押し出される平坦度係数を表します。
Flatness は、曲線とそれを平坦化した近似との間に許容される最大誤差を示します。デフォルトは 0.25 です。平坦度の値を小さくすると、近似に含まれる線分の数が増加します。 |
※デフォルトは「0.25」とありますが実際には「2」となっています
MaterialBackSource
MaterialShaftSource
押し出し図形の本体(側面)のマテリアルを指定します |
MaterialSource
現在の 3D 図形のマテリアルを示します。
MaterialSource を使用すると、現在の 3D 図形に、色やテクスチャを追加することができます。 |
Sides
この押し出された図形のどの側面を描画するかを示します |
WrapMode
この3Dパスコントロールの折り返しモードを示します。
pwFit
グラフィカルパス表現を、領域全体に合わせて引き伸ばします
pwOriginal
グラフィカルパス表現を、元のサイズでレンダリングします
pwStretch
グラフィカルパス表現を、表示される領域全体を埋めるように引き伸ばします。
pwTile
グラフィカルパス表現を、領域をタイル状に埋めるように繰り返し使用します |
|
Text
この TPath3D オブジェクトが使用する TPathData オブジェクトを示します。
TPathData オブジェクトには、連鎖している曲線や直線が含まれており、この TPath3D オブジェクトがそれらを 3D でレンダリングします。 |
|
というわけで3Dパス図形です。
パス図形については、既に、
・[FMX] パス図形(Path)
・パスラベル(PathLabel)
・パス移動アニメーション(PathAnimation)
などで記述していますので、ここではその説明を省略します。
3Dパス図形は、パス図形に厚みを与える事により、3D空間での3次元図形形状を表示するもの、であると思われます。
Widthプロパティ(X軸方向サイズ)・Heightプロパティ(Y軸方向サイズ)・Depthプロパティ(Z軸方向サイズ)で大きさを指定出来ます。デフォルトはそれぞれ「4」「4」「1」です。
小さいと見難いので、
Width・Height・Depthプロパティ値を「10」「10」「4」とします。
Path.Dataプロパティに「M0,0 5,0 5,5 0,5 0,0」と指定してみます。
WrapModeプロパティ値はデフォルトで「pwStretch」となっていますので、パスデータは全体にストレッチされて表示されます。
次に、意図的に「M0,0 5,0 5,5 0,5」と 開いた図形の状態で指定してみます。
開いた図形だと立体にならないので指定できない様子ですね。最後のデータが無視されて閉図形化されてしまうようです。
次に、MaterialSource を指定してみます。
MaterialSource に「ColorMaterialSource1」
MaterialShaftSource に「ColorMaterialSource2」
MaterialBackSource に「ColorMaterialSource3」を指定し、
それぞれ、赤色、青色、茶色、を指定します。また、Path.Dataプロパティに「M0,0 C5,0,5,0,5,5 S0,5 0,3 Z」を指定してみます。
Path.Dataプロパティを「M0,0 2,0 2,1 0,1 0,0」と指定します。
WrapModeプロパティ値はデフォルトで「pwStretch」となっていますので下図のように長方形を指定していますが正方形サイズなので正方形に厚みを指定した3D図形になります。
WrapModeプロパティ値を「pwOriginal」にしてみます。
Path.Dataプロパティで指定した値でのサイズでの表示になります。
次に、WrapModeプロパティ値を「pwFit」や「pwTile」にしてみますが、どんな感じになるのかな?と思ってみてみましたが、まったく、変化ありません。「pwOriginal」と同じ表示状態となります。どうも、「pwFit」と「pwTile」での指定は対応していないようですね。不具合なのか仕様なのかバグなのかは不明ですけれども。
|
|
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Dehi入門編
>Delphi2010
>DelphiXE3
▲2014/03/28
2014/03/29
▼2014/03/30
シェアウェア
Script!World
データベース
|