[3D Shapes]
Icon | コントロール | ユニットスコープ | DocWiki (ja) |
DocWiki (en) |
TCone | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TCube | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TCylinder | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TDisk | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TEllipse3D | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TGrid3D | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TMesh | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TModel3D | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TPath3D | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TPlane | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TRectangle3D | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TRoundCube | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TSelectionPoint3D (XE2 のみ) | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TSphere | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TStrokeCube | FMX.Objects3D | [DocWiki] | [DocWiki] | |
TText3D | FMX.Objects3D | [DocWiki] | [DocWiki] |
TMaterial の各メンバーについての詳細です。
XE3 では XE2 の TMaterial に相当するものを [Materials] にある "マテリアルコントロール" で指定します。
3D Shapes の MaterialSource プロパティにマテリアルコントロールを設定します。XE2 の TMaterial に最も近いのは TLightMaterialSource です。
3D オブジェクトの投影については、"画面投影 (DocWiki)" を読んでも、どういう事か解りづらいと思いますので画像で説明します。
このページで投影を説明している時点で、既にお判り頂けているとは思いますが、"投影に関連するのは 3D オブジェクト" であり、カメラではありません。TCamera にも Projection プロパティはありますが、そちらは基本的に操作する必要はありません (あまり意味のないプロパティです)。
3D オブジェクトの Projection プロパティはデフォルトで pjCamera になっています。TSphere を 2 つ用意し、右側の TSphere の Projection プロパティを pjScreen にしてみました。何が違うのかは拡大 / 縮小してみれば判ります。
左側の Projection プロパティが pjCamera な TSphere は、フォーム (ビュー) のサイズを変更しても相対位置は変わらず、相対サイズも変わりません (拡大 / 縮小時の縦横比が変わらないのならば)。逆に、Projection プロパティに pjScreen を指定した右側の TSphere は、フォーム (ビュー) のサイズを変更しても絶対位置のままであり、絶対サイズのままです。
絶対位置/絶対サイズはカメラの視点を変更しても変わることはありません。例えば、FPS ゲームのターゲットスコープを 3D オブジェクトで作ったり、ストックしている所持アイテムを表示したりするのに使えるという事です。
基本的 (プリミティブ) な形状の 3D オブジェクトです。円錐です。SubDivisionsAxes プロパティを変更すると五角錐や六角錐も作れます。初期値は 12 なので、正確には十二角錐という事になります。
基本的 (プリミティブ) な形状の 3D オブジェクトです。立方体です (直方体にもできますが)。テクスチャはすべての面に貼られます。
基本的 (プリミティブ) な形状の 3D オブジェクトです。円柱です。SubDivisionsAxes プロパティを変更すると五角柱や六角柱も作れます。初期値は 12 なので、正確には十二角柱という事になります。
基本的 (プリミティブ) な形状の 3D オブジェクトです。円盤です。SubDivisionsAxes プロパティを変更すると正五角形や正六角形も作れます。初期値は 16 なので、正確には正十六角形という事になります。
基本的 (プリミティブ) な形状の 3D オブジェクトです。円を押し出した形状 (円柱) の 3D オブジェクトです。
前面 / 背面 / 側面 は、Sides プロパティで個別に表示 / 非表示を切り替える事ができます。
グリッドを表す 3D オブジェクトです。位置関係を示すスケールとして使います。グリッドの色は LineColor で指定します。マス目の大きさは Frequency で指定します。Marks で指定したサイズの倍数の時にグリッドの線が細線になります。
メッシュオブジェクトです。
3D モデリングツールで作られた複雑な形状の 3D モデルデータを読み込める 3D オブジェクトです。TMeshCollection に読み込める形式は、
LoadFromFile() でモデルデータを読み込む場合には、モデル形式に応じて以下を uses する必要があります。
XE8 以降では WrapMode プロパティが追加され、コントロールの境界ボックスと 3D モデルの関係を設定できるようになっています。デフォルトは Fit ですが、XE7 以前の動作は Original 相当なので注意が必要です。
パスオブジェクトです。パスで描かれた図形を押し出した形状の 3D オブジェクトを作り出す事ができます。テクスチャは
前面 / 背面 / 側面 は、Sides プロパティで個別に表示 / 非表示を切り替える事ができます。
例えば、Path.Data プロパティに、
|
このようなデータを設定すると、星型を押し出したような 3D オブジェクトが表示されます。
データ中の M は "Move - 絶対位置 (X,Y)"、L は "Line - 絶対位置 (X,Y)"、Z で "パスを閉じる" コマンドです。コマンドの詳細は "パス マークアップ構文 (MSDN)" を参照して下さい。
...とはいえ、複雑なパスを手で記述するのはとても面倒です。GUI でパスデータを作成する方法もあります。
基本的 (プリミティブ) な形状の 3D オブジェクトです。板です。テクスチャを貼って背景等に使う事ができます。
テクスチャを貼った TPlane と、画像を指定した TImage3D はよく似ていますが、TPlane はライティングの影響を受けます。
基本的 (プリミティブ) な形状の 3D オブジェクトです。長方形を押し出した形状 (四角柱) の 3D オブジェクトです。テクスチャは
前面 / 背面 / 側面 は、Sides プロパティで個別に表示 / 非表示を切り替える事ができます。
また、XRadius / YRadius プロパティを設定すると角を丸くする事ができます (シャフト形状なので ZRadius プロパティはありません)。Radius と半径を同じにすると
基本的 (プリミティブ) な形状の 3D オブジェクトです。角が丸い立方体です。テクスチャは前面と背面をメインに貼られます。
選択用のオブジェクトです。移動や回転の処理は自前で行わなくてはなりません。
基本的 (プリミティブ) な形状の 3D オブジェクトです。球体です。テクスチャは球面に貼られます (縦横比 1:2 のテクスチャ画像が使えます)。
ワイヤーフレームの立方体です。
文字列を押し出した形状の 3D オブジェクトです。Text プロパティに文字列を指定します。テクスチャは
前面 / 背面 / 側面 は、Sides プロパティで個別に表示 / 非表示を切り替える事ができます。
立体的な文字が必要ないのであれば、TTextLayer3D を使う事も出来ます。
BACK |