이러한 것들을 생각하는 가장 좋은 방법은 상속 경로를 찾는 것입니다.
는 TAbstractLayer
에서 파생되므로 일반적으로 3D 레이어처럼 사용할 수 있습니다. TAbstractLayer
은 TControl3D
에서 파생되지만 IAlignableObject
및 IAlignRoot
도 구현합니다.
TPlane
도 TControl3D
에서 오는 TShape3D
에서 파생 TCustomMesh
에서 유래.
나는 짧은에 TPlane
단순히 특정 3D 모양 추측 - 나는 FMX 소스 코드를 주입하지 않은하지만 난 그게 TImage3D
보다 더 가볍고해야한다고 생각합니다. TPlane
은 3D 공간에서 조작 할 수있는 평평한 표면입니다.
TImage3D
가 그러나 의해 IAlignableObject
는 등이 내장 된 방법 및이 3 차원 UI 오브젝트로서 상호 작용할 수 있도록 많은 기능에 대한 액세스가있다 A - 마진을 정의하는 다른 IAlignableObjects
자체를 정렬, 경계 및 앵커 등을 정의하여 다른 사람과 관련하여 공간을 채우거나 채우는 방법을 정의합니다. IAlignableObjects
.
당신이하고있는 일에 따라 사용할 수있는 것을 선택하십시오. 이미지를 3D 장면의 일부로 만들려면 TPlane
이 가장 적합합니다. 3D UI의 일부가되기를 원한다면; 즉, 이미지가 다른 컨트롤, 사용자 인터페이스 요소 등이있는 3D 공간의 일부인 경우 TImage3D
이 아마도 가장 적합합니다.
TImage3D
는 TCustomMesh
에서 작동하는 특정 방법에 동시에 액세스 할 수 없습니다 - TImage의 아마 그 메쉬를 노출하지 않습니다 (예 : 일반적으로, 3 차원 변환에 의해 수정 될 수없는 등, 어디 입력은 TCustomMesh
이어야 함), 잠긴 UI 컨트롤이 아닌 3D 프리미티브 인 TPlane
은 그 점에서 다소 유연합니다.
또 다른 차이점은 비트 맵에 관한 것입니다. 'TImage3D'에는 임베드 된 비트 맵이 있고,'TPlane'은 텍스처가있는 (비트 맵인) MaterialSource에 대한 링크입니다. 그러나 나는이 점에 큰 차이가 없다고 생각합니다. – TridenT