Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ fbx key
Π ΡΡΡΠΊΠΈΠ΅ ΠΠ»ΠΎΠ³ΠΈ
ΠΠ½Π°Π»ΠΈΠ· ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ FBX Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ FBX SDK- (1)
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ°: https://blog.csdn.net/BugRunner/article/details/7210511
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
2. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ FBX SDK
3. ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ FBX
ΠΡΡ ΡΡΠ΅Π½Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° Ρ ΠΏΡΡΡΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ KFbxNode, Π° ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ·Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ·Π΅Π» ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π£Π·Π»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ·Π»Ρ, ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π²ΡΡ ΡΡΠ΅Π½Π°, ΠΎΡ ΡΡΠ΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ·Π΅Π». ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Enum Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ eMesh, eLight, eCamera ΠΈΠ»ΠΈ eSkeleton ΠΈ Ρ. Π., ΠΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ·Π»Π° ΠΊΠ°ΠΊ Mesh, Light, Camera ΠΈΠ»ΠΈ Skeleton ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄Π° Π²ΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ·Π»Π°.
ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ FBX Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SDK Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° FBX: KFbxSdkManager ΠΈ KFbxScene. ΠΠ΅ΡΠ²ΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ FBX.ΠΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SDK, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠΏΡΡΠΊ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ KFbxScene, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ. KFbxScene ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π²Ρ ΠΎΠ΄Ρ Π²ΠΎ Π²Π΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ΅Π½Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ. ΠΠΎΠ΄Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ SDKManager
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ FbxScene
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ KFbxScene Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ FBX ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΡΠ·Π»Π°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±Ρ ΠΎΠ΄ ΠΎΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½:
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌΡ ΡΠ·Π»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ·Π΅Π», ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ· KFbxScene. Π Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ FBX ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ·Π»ΠΎΠ², Π½ΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ·Π»Π° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ·Π΅Π», ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ Skeleton ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΎΡ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ·Π»Π°, ΠΈ ΡΡΠΎ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ pNode-> GetNodeAttribute () Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π²ΡΠ΅ ΡΠ·Π»Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ (ΠΡΡΠΈΠ±ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ·Π»ΠΎΠΌ Π² ΡΠΎΡΠΌΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ·Π»Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΡΡΡΠΎ).
4. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΡΠΊΡ
FBX ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠΊΠΈ, ΠΈ Nurbes, Polygon, Triangle ΠΈ Ρ. Π. ΠΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅ ΡΠΊΡΠΏΠΎΡΡΠ° FBX. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π°ΡΡΠΈΠ±ΡΡ Triangluation ΠΏΡΠΈ ΡΠΊΡΠΏΠΎΡΡΠ΅ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ FBX, ΡΠΎΠ³Π΄Π° ΠΏΠ»Π°Π³ΠΈΠ½ ΡΠΊΡΠΏΠΎΡΡΠ° FBX Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΠ°Π½Π³ΡΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ Nurbes ΠΈ Polygon Π² ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ FBX Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΠ°ΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈ:
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΡΠΊΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°. ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡ Π³ΡΠ°Ρ ΠΎΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ·Π΅Π» Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ eMESH. ΠΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π§ΠΈΡΠ°ΠΉΡΠ΅ Π² Π²Π΅ΡΡΠΈΠ½Π΅:
Π§ΠΈΡΠ°ΡΡ Π² ΡΠ²Π΅ΡΠ΅:
Π§ΠΈΡΠ°ΠΉΡΠ΅ Π² Π£Π€:
Π§ΠΈΡΠ°ΠΉΡΠ΅ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ:
Π§ΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΠ°Π½Π³Π΅Π½ΡΠ΅:
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ, ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ, ΡΠ»ΡΡΡΠ°ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΠΎΠΉ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΡΠ»ΠΎΠ΅Π² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠ΅. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΡΡ, ΡΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΅Π΅ Π°Π΄ΡΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°:
ΠΡΠΊΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ fbx Π½Π° ΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ 4 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΠ, ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Restoro PC Repair Tool:
ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π·Π°ΡΠΈΡΠΈΡ Π²Π°Ρ ΠΎΡ ΠΏΠΎΡΠ΅ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ±ΠΎΠ΅Π² ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΠ ΠΈ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π²ΠΈΡΡΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² 3 ΠΏΡΠΎΡΡΡΡ
ΡΠ°Π³Π°:
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² FBX β ΡΡΠΎ ΡΠΈΠΏ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ 3D-ΡΠ°ΠΉΠ»Ρ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ-ΠΊΠΎΠ½ΡΠ΅Π½Ρ. ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° FBX, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΠΠ°ΠΉΠ΄Π°ΡΠΎΠΉ ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ°Ρ Autodesk Ρ 2006 Π³ΠΎΠ΄Π°, ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Filmbox.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Windows 10 ΠΈΠ·ΠΎ Π²ΡΠ΅Ρ ΡΠΈΠ» ΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ Π»ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² FBX, Π½ΠΎ Π½Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ 4 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ FBX.
Paint 3D β ΡΡΠΎ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ 2D-3D ΠΎΡ Microsoft, Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠΉ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Windows 10 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ Π½Π° ΡΡΠ½ΠΊΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌ.
Π 2016 Π³ΠΎΠ΄Ρ Microsoft Paint 3D Π±ΡΠ» Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π²ΡΠΏΡΡΠ΅Π½ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Windows 10 Creators Update. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Windows ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΡΡΠ΅Π΄ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΡΠΎΡΡΡΠ΅ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΡ Paint, Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
Microsoft ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ 2D-ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² 3D-ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ 3D, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΎΡΠΈ 3D.
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ²ΠΎΠΈ 2D / 3D-ΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ Xbox Live. Π MS Paint 3D ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΎΠΏΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Paint 3D, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Blender β ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ 3D-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΠ»ΡΠΌΠΎΠ², Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², 3D-ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, 3D-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π°.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΡΠΌΡ, ΠΊΠΎΠ½ΡΡΡΠ½ΡΠ΅ ΡΡΠΈΡΡΡ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ B-ΡΠ΅ΡΠΊΠΎΠΉ. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Cycles, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ.
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Python Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°Ρ ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ 3D ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΊΠ°ΠΌΠ΅ΡΡ, ΡΠ°ΠΊ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π½Π° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π»ΠΈΡΠΈΡ ΡΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΡ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΠ°ΡΠ°ΡΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Windows.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅Β», ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π·Π°ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Restoro Repair Tool, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Windows.
Autodesk MotionBuilder β ΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ³Ρ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ 3D-ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΡΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΡΡΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈΠ· ΡΡΠ΅Π½, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ ΡΡΠ°Π»ΠΎ ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ MontionBuilder. Π£ ΠΊΠ°ΠΌΠ΅Ρ Π΅ΡΡΡ ΡΠ²ΠΎΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ, ΠΈ ΠΎΠΏΡΠΈΡ CTRL + select camera Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅.
Π MotionBuilder ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΠ΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ Π΄ΠΎΡΠΎΠΆΠ΅ΠΊ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΡΠ°ΠΉΠ».
Autodesk MotionBuilder ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ²ΠΎΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Story, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠ΅ΡΠΈΠΈ ΠΊΠ»ΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π·Π°ΡΡ ΠΊΠ»ΠΈΠΏΡ, Π²ΡΡΠΎΠ²Π½ΡΡΡ ΠΊΠ»ΠΈΠΏ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ ΠΊΠ»ΠΈΠΏΡ.
Mudbox β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΊΡΠ»ΡΠΏΡΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ 3D-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
Mudbox β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊ Π½ΠΎΠ²ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² 3D.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΡΡΠ΅Π»ΡΡΠΈΡ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Mudbox, ΠΏΡΠΈΠ·Π²Π°Π½Π½ΡΠΉ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ½ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Ρ ΠΎΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π»Π΅ΠΏΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ·Π°ΠΈΠΊΡ Π΄Π»Ρ ΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π»Π΅ΠΏΠΈΡ.
ΠΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Π½Π°Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ. ΠΡΠ»ΠΈ ΡΡΠ° ΡΡΠ°ΡΡΡ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π»Π°, ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π½ΠΈΠΆΠ΅.
Π ΡΡΡΠΊΠΈΠ΅ ΠΠ»ΠΎΠ³ΠΈ
FBX SDK Quick Sketch (Π±Π°Π·ΠΎΠ²ΡΠΉ)
ΠΡΡΡΡΡΠΉ Π½Π°Π±ΡΠΎΡΠΎΠΊ FBX SDK (Π±Π°Π·ΠΎΠ²ΡΠΉ)
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ FBX
ΠΠ΅ΡΡ Fbx Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΏΡΡΡΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° Scene (ΡΡΠ΅Π½Π°), Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ KFbxNode (ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ·Π΅Π»), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠΎ Π΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΠ·Π΅Π» ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ). ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΌΠ΅ΡΠΊΠΈ (ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ C ++), ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ eMesh, eLight, eCamera ΠΈΠ»ΠΈ eSkeleton ΠΈ Ρ. Π., ΠΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ·Π»Π° ΠΊΠ°ΠΊ Mesh, Light, Camera ΠΈΠ»ΠΈ Skeleton, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΡΠ΅ΠΌ ΠΎΡΠ΅Π½ΠΊΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠ·Π»Π° ΠΏΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
KFbxskdManager: ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΊΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ C))]
KFbxScene: ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΡΠ΅Π½Ρ (ΡΡΠ΅Π½Ρ) [Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅]
FbxManagr ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
FbxManagr ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π° ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π»Ρ fbx. Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ Create () ΠΈ Destroy () Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: (FbxNode ΠΈ FbxMesh) ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ FbxManager Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΠ»ΠΊΠΈ.
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ
ΠΠ°Π½Π½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ°
Π€Π»Π°Π³ΠΈ
ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ FbxPropertyFlags :: eFbxPropertyFlags, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ FbxProperty :: GetFlag () ΠΈ FbxProperty :: ModifyFlag ().
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ (FbxProperty :: operator == (), FbxProperty :: operator :: operator! = (), FbxProperty :: operator = ()).
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡΡΠΈΠ±ΡΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ. FbxProperty ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ FbxObject ΠΈΠ»ΠΈ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ FbxProperty. ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ FbxObject ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π²ΡΠ·Π²Π°Π² FbxProperty :: GetFbxObject (). ΠΡΠΈΠΌΠ΅Ρ ExportScene05 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ².
ΠΠΎΡΡΡΠΏ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ FBX
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ FbxObject :: FindProperty () Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ². ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π²ΡΠ·ΡΠ²Π°Ρ FbxObject :: GetFirstProperty () ΠΈ FbxObject :: GetNextProperty ().
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² (ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠ° ΡΠ°ΡΡΡ ΡΠ΅ΡΠΊΠΎ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π°)
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ FBX ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² FBX: FbxProperty :: GetParent (), FbxProperty :: GetChild (), FbxProperty :: GetSibling (), FbxProperty :: Find () ΠΈ Ρ. Π.
ΠΠ½ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ FbxProperty ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ FbxObjectMetaData (ΡΡΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ FbxObject).
Π‘Π²ΡΠ·ΠΈ (Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ·ΠΎ Π²ΡΠ΅Ρ ΡΠΈΠ»)
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ²ΡΠ·Π΅ΠΉ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ FBX, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΡΡΡΠΏ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ obj0:
ΠΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ obj0:
ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ obj1:
ΠΡΠΎΠ±ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ obj2:
ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ. ΠΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΈΡΠΏΠ»Π΅Ρ (Π±Π»ΠΎΠΊΠ°) Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: 0, 1 ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΠΊΠ° ΡΡΠΎ-ΡΠΎ Π² Π½Π΅Π³ΠΎ Π²ΡΡΠ°Π²ΡΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΡΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² FBX SDK ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxProperty Π² FbxObject. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π° FBX Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° FbxProperty :: SetUserDataPtr () ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ FBX Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° FbxObject :: ConnectSrcProperty ().
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ³Π»ΡΠ±Π»ΡΡΡΡΡ Π² ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»ΠΎΠΌ (FbxNode) ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ ΡΠ·Π»Π° (FbxNodeAttribute), ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π³ΡΠ°ΡΠ° ΡΡΠ΅Π½Ρ Π² FBX SDK. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΡΠ°Π·Π΄Π΅Π».
ΠΡΠΈΠΌΠ΅Ρ ΡΠ²ΡΠ·ΠΈ «ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΎΠ±ΡΠ΅ΠΊΡ»: ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎ-Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ Π² ΡΡΠ΅Π½Π΅
Π‘ΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ΅ΠΌΠ° ΡΠ²Π½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΠ΅Ρ ΡΠ²ΡΠ·ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π²ΡΡ ΡΡΠ΅Π½.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Β«ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΎΠ±ΡΠ΅ΠΊΡΒ»: ΡΠ·Π΅Π» ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ·Π»Π°
Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ FbxNode ΠΈ FbxNodeAttribute ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° FbxNode :: SetNodeAttribute (). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ FbxMesh (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ FbxNodeAttribute) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΡΠ·Π»Ρ Π² ΡΡΠ΅Π½Π΅. ΠΏΡΠΈ ΡΡΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ :
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» (fbxsurfacemataterial) ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ Ρ fbxnode ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ΄ΠΈΠ½ ΡΠ·Π΅Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ, Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ·Π»Π°ΠΌ (Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ). ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ fbxsurfacemataterial Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠΌ FbxNodeAttribute.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Β«ΠΎΠ±ΡΠ΅ΠΊΡ-Π°ΡΡΠΈΠ±ΡΡΒ»: ΡΠ·Π»Ρ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ
ΠΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅
, Π΄Π°Π½Π½ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ FbxNode ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ FbxPropertyT ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ FbxDouble3. ΠΏΡΠΈ ΡΡΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ :
FbxPropertyT, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ FbxNode :: LclTranslation, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ FbxNode.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
Π€ΠΎΡΠΌΠ°Ρ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ
FBX SDK Π²Π½ΡΡΡΠ΅Π½Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ UTF-8. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π² API ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ FBX ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ²ΠΎΡ ΡΡΡΠΎΠΊΡ UTF-8 Π² ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠΎΡΠΌΠ°Ρ.
Π‘ΡΠ΅Π΄Π° Windows ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ:
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ FBX SDK
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxObject ΠΈ FbxProperty ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ (void) Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΡΠ·Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ:*
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡ Π½Π΅ΡΠ΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxProperty Π² FbxObject. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π²
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ExportScene05, UserProperties ΠΈ Tutorial: ImportExport ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxProperty Π² FbxObject. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π²
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ExportScene05, UserProperties ΠΈ Tutorial: ImportExport ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π² FbxManager ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° FbxManager :: RegisterFbxClass ().
ΠΠ· » [ExportScene03] () «/ main Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ MyFbxMesh ΠΈ MyFbxObject ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ExportScene03 / MyFbxMesh.h. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡ FbxMesh ΠΈ FbxObject ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ»ΠΎΡ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΡ Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ FbxLayerElementUserData. ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΡ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, Π²Π΅ΡΡΠΈΠ½Ρ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ CreateCubeWithMaterialAndMyFbxMesh () Π² ExportScene03. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π°
FBX SDK ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈ ΡΠΊΡΠΏΠΎΡΡΠ° Π΄Π°Π½Π½ΡΡ ΡΡΠ΅Π½Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ (ΠΈΠ· FbxWriter) ΠΈ ΠΊΠ»Π°ΡΡ ΡΡΠ΅Π½ΠΈΡ (ΠΈΠ· FbxReader). Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ FbxWriter ΠΈ FbxReader, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° FBX SDK. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° FBX SDK.
SDK ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ FBX
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½ΡΠ΅Π½ΠΎ, Π½Π°ΡΠ½ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ Π²Π°Ρ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
FBX SDK (Ρ Π΄ΡΠΌΠ°Ρ, Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ Π΅Π³ΠΎ Π²ΠΈΠ΄Π΅ΡΡ)
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ FBX SDK, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ FBX SDK.
FBX ΡΡΠ΅Π½Π°
Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΏΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π½Ρ
ΠΡΠ°Ρ ΡΡΠ΅Π½Ρ FBX SDK Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ FbxScene. Π‘ΡΠ΅Π½Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ·Π»ΠΎΠ² (FbxNode). ΠΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌΡ ΡΠ·Π»Ρ ΡΡΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· FbxScene :: GetRootNode (). ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΠΊΠ°, ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ² FbxNode ΠΈ FbxNodeAttribute. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠ·Π»Π° FBX ΠΈ ΡΠ·Π»Π° FBX.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ·Π΅Π» ΡΡΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ Π² ΡΠ°ΠΉΠ». Π ΡΠ°ΠΉΠ» ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠ·Π»Ρ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ Ρ ΠΊΠΎΡΠ½Π΅Π²ΡΠΌ ΡΠ·Π»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² ΡΠ°ΠΉΠ»Π΅.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅Π½Ρ
ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° FBX SDK Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡΒ», FbxScene ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ FbxScene :: Create (). ΠΠΎΠ²ΡΠΉ FbxScene ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ FbxNode ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ FbxGlobalSettings (Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ) Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Scene Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ·Π»ΠΎΠ²
ΠΡΡ ΡΡΠ²ΡΡΠ² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ±ΡΠ΅ΠΊΡΡ Π² FBX SDK Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠΈ Π²ΠΏΡΠ°Π²ΠΎ. Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΊΠ»Π°ΡΡΡ FbxAxisSystem.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° FBX SDK:
β’ ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π²ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΠ»ΠΊΠΈ.
β’ ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ²ΡΡΠ² ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ·ΠΎΠ² ConvertScene () Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠ½ ΠΌΠ΅ΡΠ°, ΠΎΠ½ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·Π»ΠΎΠ² ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ΅Π½Π° ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ, Π²ΡΠ·ΠΎΠ² ConvertScene () Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΡΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΠ΅Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»ΠΎΠ² (ETransformInheritType), ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ·Π»Π°ΠΌΠΈ Ρ ΡΠΈΠΏΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ eINHERIT_Rrs. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°Ρ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡ Π½Π° ΡΡΠΈΡ ΡΠ·Π»Π°Ρ . ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π½Ρ ΠΈΠ· ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² (ΡΠΌ) Π² ΠΌΠ΅ΡΡΡ (ΠΌ):
ΠΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅Π½Ρ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠ΅ΠΉ, ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°, ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅Π΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ FbxGlobalSettings. ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· FbxScene :: GetGlobalSettings ().
Animation evaluation
FbxAnimEvaluator ΡΡΠ΅Π½Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΡΡΠ΅Π½Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π°Π½ΠΈΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΠ΅Π½Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ². ΠΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ FbxAnimEvaluator ΡΡΠ΅Π½Ρ ΡΠ΅ΡΠ΅Π· FbxScene :: GetEvaluator (). ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΎΠΉ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ (ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ FbxScene :: GetMaterial () ΠΈ FbxScene :: getexture ()) Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² (FbxSurfaceMaterial) ΠΈ ΡΠ΅ΠΊΡΡΡΡ (FbxTexture), ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π² ΡΡΠ΅Π½Π΅. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈ ΡΠ΅ΠΊΡΡΡΡ Ρ ΡΠ΅ΡΠΊΠ°ΠΌΠΈ ΡΠΌ. Π‘Π΅ΡΠΊΠΈ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈ ΡΠ΅ΠΊΡΡΡΡΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΎΠΌ ΠΈ ΠΎΡΠ°Π½ΠΊΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FbxScene :: GetCharacter () ΠΈ FbxScene :: GetCharacterPose () Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ (FbxCharacter) ΠΈ ΠΏΠΎΠ·Π΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° (FbxCharacterPose) Π² ΡΡΠ΅Π½Π΅. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΡΡΠ΅Π½Π΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² FbxCharacter ΠΈ FbxCharacterPose.
Π’ΠΈΠΏ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ·Π»Π° ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ FBX
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ΅Π½Ρ
FBX SDK ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ΅Π½Ρ (FbxScene):
Π‘Π΅ΡΠΊΠ°-FbxMesh
Π£ΡΠΎΠ²Π΅Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (LOD) Group-FbxlodGroup
Π€Π°ΡΡ ΠΈ ΠΏΡΠΎΠΆΠ΅ΠΊΡΠΎΡΡ FbxLight, FbxGobo
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡΡ Π½Π° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ- FbxTexture
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ- FbxSurfaceMaterial
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±ΡΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ Π΄Π»Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠ³ΡΡΡ- FbxDeformer
ΠΡΠΌΠ΅ΡΠΊΠ°- FbxMarker
ΠΡΠΈΠ²Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ- FbxAnimCurve
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ΅Π³ΠΎΠ².
ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠ·Π»ΠΎΠ²
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ FbxNode :: GetChild () ΠΈ FbxNode :: GetParent () Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ·Π»ΠΎΠ². GetChildCount () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ·Π»ΠΎΠ² ΡΠ·Π»Π°.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅
ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π²Π΅ΠΊΡΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ·Π»Π°. ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² FbxPropertyT, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· FbxNode :: LclTranslation, FbxNode :: LclRotation, FbxNode :: LclScaling. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«LclΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉΒ».
ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ FbxLimits, ΠΈ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· FbxNode :: GetTranslationLimits (), FbxNode :: GetRotationLimits () ΠΈ FbxNode :: GetScalingLimits (). ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ FbxConstraint Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ·Π»ΠΎΠ². ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² FbxLimits ΠΈ FbxConstraint.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΡΠ΅Π½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ FbxNode :: EvaluateGlobalTransform ().
Π‘Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·Π»Ρ
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ FbxNode ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π±Π΅Π· ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ FbxNodeAttribute. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΊΠΎΠΉ FbxNode ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ·Π»ΠΎΠ² Π² ΡΡΠ΅Π½Π΅.
Π‘ΠΎΠ·Π΄Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ·Π»Π°
ΠΡΡΠΈΠ±ΡΡ FbxNodeAttribute ΡΠ²ΡΠ·Π°Π½ Ρ FbxNode Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅Π½Ρ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡΠΌΠΈ, ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π°ΠΌΠΈ. ΠΡΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡ ΡΠ·Π»Π° Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΡΠ·Π»Π°, Π²ΡΠ·ΠΎΠ² FbxNode :: GetNodeAttribute () Π²Π΅ΡΠ½Π΅Ρ NULL.
ΠΡΡΠΈΠ±ΡΡΡ ΡΠ·Π»Π°
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π°Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ΅Π½Ρ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ FbxNodeAttribute. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FbxNode :: SetNodeAttribute (), ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΡΡΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ·Π»Π° Ρ FbxNode. ΠΠΎΠ»Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΌ. Π Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ C ++.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΡΡΡΡΠ΅ ΡΠΈΠΏΡ ΡΠ·Π»ΠΎΠ² Π² Π³ΡΠ°ΡΠ΅ ΡΡΠ΅Π½Ρ. ΠΡΡΠΈΠ±ΡΡ ΡΠ·Π»Π° FbxNull ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ·Π»Π°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxNull ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ NULL.
Π’ΠΈΠΏ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠ·Π»Π°
Π’ΠΈΠΏ FbxNodeAttribute (FbxNodeAttribute :: EAttributeType) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π²ΡΠ·Π²Π°Π² FbxNodeAttribute :: GetAttributeType (). EAttributeType ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ·Π»Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° (Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠ· ImportScene / main.cxx ΠΈ ImportScene / DisplayLight.cxx) ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ FbxLight, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎΡΡ Π² FbxNode.
ΠΡΠ° ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ
β’Π»Π΅Π³ΠΊΠΈΠΉ
β’ ΠΊΠ°ΠΌΠ΅ΡΠ°
β’Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡ
Π»Π΅Π³ΠΊΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²Π΅Ρ
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΡΠ²Π΅ΡΠ° Π² FBX SDK Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΡΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ FbxLight. FbxLight ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΡΠ΅Π½Π΅.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ FbxLight ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π΄ΠΎΠ»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈ Y ΡΠ·Π»Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΊΡΡΠΆΠ°ΡΡΠ΅Π΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· FbxScene :: GetGlobalSettings (). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° FbxGlobalSettings.
Π’ΠΈΠΏ ΡΠ²Π΅ΡΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ²Π΅ΡΠ°, Π·Π°Π΄Π°Π² Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ FbxLight :: LightType.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ²Π΅ΡΠ°.
Light Type ( FbxLight::ELightType ) | Description |
---|---|
FbxLight::eSpot | Light spreads in a conical shape from its origin, like a spotlight. The FbxLight::InnerAngle and FbxLight::OuterAngle properties determine the parameters of the cone in degrees. |
FbxLight::ePoint | Light spreads uniformly in all directions from its origin. |
FbxLight::eDirectional | Light spreads in a cylindrical shape from its origin. |
ΠΠ°ΠΏΡΠ°Π²ΡΡΠ΅ ΡΠ²Π΅Ρ
ΠΡΠΎΠΆΠ΅ΠΊΡΠΎΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΡΠ²Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ Π² ΡΡΠ΅Π½Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΡΠ·Π΅Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FbxNode :: SetTarget () Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π»ΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΡΠΈΠ±ΡΡ ΡΠ·Π»Π° FbxMarker Π² ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΠ·Π»Π΅.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ FbxNode ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΡ X Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π²Π΄ΠΎΠ»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈ Y ΡΠ·Π»Π°. Π§ΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΠΊΡ Π²Π΄ΠΎΠ»Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈ X ΡΠ·Π»Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FbxNode :: SetPostTargetRotation (), ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² ΠΊ ΡΠ·Π»Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ²Π΅ΡΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΡΠΌ ΡΠ·Π»ΠΎΠΌΒ» Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠ»Π°ΡΡΡ FbxNode.
Π¦Π²Π΅Ρ ΠΈ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎΡΡΡ
Π¦Π²Π΅Ρ ΡΠ²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ FbxLight :: color. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ RGB ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (1.0,1.0,1.0), Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ FbxDouble3.
ΠΡΠ»Π°Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°
Π’ΠΈΠΏ Π·Π°ΡΡΡ Π°Π½ΠΈΡ ΡΠ²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² Π΅Π³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ΅ FbxLight :: DecayType.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΈΠΏΡ Π·Π°ΡΡΡ Π°Π½ΠΈΡ.
Decay Type ( FbxLight::EDecayType ) | Description |
---|---|
FbxLight::eNone | No decay. The lightβs intensity will not diminish with distance. |
FbxLight::eLinear | Linear decay. The lightβs intensity will diminish linearly with the distance from the light. |
FbxLight::eQuadratic | Quadratic decay. The lightβs intensity will diminish with the squared distance from the light. This is the most physically accurate decay rate. |
FbxLight::eCubic | Cubic decay. The lightβs intensity will diminish with the cubed distance from the light. |
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΡΡΡ Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ FbxLight :: enablenear ΠΈ FbxLight :: enablefar. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° FbxLight.
ΠΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠ°
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ
ΠΠ°ΠΌΠ΅ΡΠ° Π² FBX SDK Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ FbxCamera. Π‘ΡΠ΅ΡΠ΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ FbxCameraStereo. Π ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ FbxCamera.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ FbxCamera ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΡ X ΡΠ·Π»Π°.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½Ρ. Π‘ΡΠ΅Π½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ²Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² ΡΡΠ΅Π½Π΅ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ°.
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΡ
Π ΡΡΠ΅Π½Π΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΅Π»Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ·Π΅Π» ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FbxNode :: SetTarget () Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π»ΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΡΠΈΠ±ΡΡ ΡΠ·Π»Π° FbxMarker Π² ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΡΠ·Π»Π΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΡΠΌ ΡΠ·Π»ΠΎΠΌΒ» Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠ»Π°ΡΡΡ FbxNode.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° FbxCamera :: FocusSource ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FbxCamera :: eFocusSrcCameraInterest, ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΡ ΠΎΡΡΠ°Π²Π°Π»ΡΡ Π½Π° ΡΠ΅Π»ΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ. ΠΡΡΠΎΡΠ½ΠΈΠΊ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΌΠ΅ΡΡ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Π² ΡΡΠ΅Π½Π΅ ΡΠΌ.FbxCameraΠΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°.
Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°
Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ Β«Π‘Π΅ΡΠΊΠ°, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΡΠ΅ΠΊΡΡΡΡΠ°Β».
Meshes, Materials and Textures
Π‘Π΅ΡΠΊΠ°, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ ΡΠ΅ΠΊΡΡΡΡΠ°
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΠΊΠΈ, ΡΠ΅ΠΊΡΡΡΡΡ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π² FBX SDK.
Π‘Π΅ΡΠΊΠΈ
Π‘Π΅ΡΠΊΠ° Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ FbxMesh. FbxMesh ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ Π² ΠΎΠ±ΡΠ΅ΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ FbxMesh ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ FbxNode, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. ΠΠ΅ΠΎΠΌΠ΅ΡΡΠΈΡ ΡΡΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ»ΠΎΠ΅Π² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ»ΠΎΡ (FbxLayerElement) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΡ Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ, ΠΊΠ°ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ², ΡΠ΅ΠΊΡΡΡΡΠ½ΡΡ ΠΊΠ°ΡΡ ΠΈ Ρ. Π.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ (FbxSurfaceLambert, FbxSurfacePhong) ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxNode ΡΠ΅ΡΠ΅Π· FbxNode :: AddMaterial (). ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ ΡΡΠ΅Π½Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΅Π΅ Π΄ΠΈΡΡΡΠ·Π½ΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ²Π΅ΡΠΎΠ²ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈΠ·Π»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π² FbxNode. FbxMesh :: BeginPolygon () ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
Π’Π΅ΠΊΡΡΡΡΡ
Π‘ΡΡΠ°Π½ΠΈΡΡ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅
β’ ΡΠ΅ΡΠΊΠ°
β’ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»
β’ Π’Π΅ΠΊΡΡΡΡΠ°
Π‘Π΅ΡΠΊΠΈ
Creating a mesh
Π‘Π΅ΡΠΊΠ° Π² FBX SDK Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ FbxMesh. Π‘Π΅ΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ Π²Π΅ΡΡΠΈΠ½ ΠΈΠ»ΠΈ Β«ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊΒ» Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³ΡΠ°Π½ΠΈ, Π° Π½Π°Π±ΠΎΡ ΡΠ»ΠΎΠ΅Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΡΠΌΠ°Π»Ρ, ΡΠ΅ΠΊΡΡΡΡΡ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΠ΅ΡΠΊΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ FbxMesh.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈ ΡΡΠ΅Π½Ρ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠ½ ΠΌΠ΅ΡΠ°. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΡΡ ΡΡΠ΅Π½Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ
ΠΠ΅ΠΊΡΠΎΡ Π½ΠΎΡΠΌΠ°Π»ΠΈ ΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ FbxLayerElementNormal. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ»ΠΎΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½ΠΎΡΠΌΠ°Π»ΠΈ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡΡ ΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ (FbxLayerElement :: eByControlPoint), Π²Π΅ΡΡΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° (FbxLayerElement :: eByPolygonVertex), ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (FbxLayerElement :: eByPolygon), FbxLayerElement :: eByEdge) ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ (FbxLayerElement :: eAllSame). ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. FbxLayerElement :: EMappingMode.
Π£ΡΠΈΡΡΠ²Π°Ρ ΠΌΠ°ΡΡΠΈΠ² Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΠ² Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ. ΠΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ FbxLayerElement :: SetReferenceMode (), ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² FbxLayerElement :: EReferenceMode. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ eDirect n-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ n-ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ EReferenceMode :: eDirect Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ (FbxLayerElement :: eByControlPoint) Π½ΠΎΡΠΌΠ°Π»ΠΈ Π² ΡΠ΅ΡΠΊΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ·ΠΎΠ²Π° FbxLayerElementArrayTemplate :: Add () ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π²ΡΡΠ΅.
Π‘ΡΡΠ°Π½ΠΈΡΡ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ β’ Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠ΅ΡΠΊΠΈ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ExportScene03 / main. cxx ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°
ΠΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ ΠΈΠ· ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΡ CreateMaterials (), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΏΡΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΊ ΠΏΡΡΠΈ Π³ΡΠ°Π½ΡΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΈΡΠ°ΠΌΠΈΠ΄Ρ. Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈ ΠΊΠΎΠ½ΡΡΠ°.
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° (fbxgeometry yelementmaterial) Π² ΡΠ΅ΡΠΊΠ΅, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π² ΡΠ΅ΡΠΊΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ FbxMesh :: BeginPolygon () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΡ. ΠΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Ρ ΡΠ°Π½ΡΡΠ΅Π³ΠΎΡΡ Π² FbxNode.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅ΠΉΠ΄Π΅ΡΡ CGFX ΠΈ DirectX ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ FBX SDK Ρ Π²Π΅ΡΡΠΈΠΈ 2010. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CGFX ΠΈΠ»ΠΈ DirectX Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ FbxImplementation ΠΈ ΠΊΠ»Π°ΡΡ FbxBindingTable Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
Π’Π΅ΠΊΡΡΡΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ExportScene03 / main. cxx ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΡΠ±Π° ΠΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΡΠ±Π°
The following code sample makes use of the CreateTexture() function we defined above. We first begin by defining the control points and normals of the cube.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ CreateTexture (), ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²ΡΡΠ΅. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈ ΠΊΡΠ±Π°.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Β«FbxMesh :: CreateElementUV ()Β» Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΊΡΡΡΡΠ½ΡΡ ΡΠ»ΠΎΠ΅Π² Π² ΡΠ΅ΡΠΊΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»ΡΠΠΈΡΡΡΠ·Π½ΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅γΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌΠ²ΡΠ±ΡΠΎΡΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π». Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΡ (βfbxgeometry yelementuvβ) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ UV-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FbxNode :: SetShadingMode () FbxNode :: etextuding, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ Π² ΡΡΠ΅Π½Π΅.
Pages in this section
ΠΠ°ΡΡΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ FbxNode :: EvaluateGlobalTransform () ΠΈ FbxNode :: EvaluateLocalTransform (), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π°:
ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ FbxAnimEvaluator :: GetNodeGlobalTransform () ΠΈ FbxAnimEvaluator :: GetNodeLocalTransform () ΠΎΡΠ΅Π½ΡΠΈΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ FbxScene:
ΠΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ FbxTime, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° Π² FBX SDK.
Π‘Π²ΠΎΠΉΡΡΠ²Π° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
Π‘Π²ΠΎΠΉΡΡΠ²Π° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ FbxNode (FbxNode :: GeometricTranslation, FbxNode :: GeometricRotation, FbxNode :: GeometricScaling) ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ FbxNodeAttribute ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ FbxNode. ΠΠΎΡΠ»Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ FbxNode ΡΡΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ FbxNodeAttribute, Π° Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΡΠ·Π»ΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΈΡΠΎΠ΄Π° Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ 3ds Max ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ . ΠΡΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎ Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² 3ds Max.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠ΅ΡΠΊΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ TRS
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° FBX SDK ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠ²Π½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ResetPivotSetAndConvertAnimation () ΠΈΠ»ΠΈ ConvertPivotAnimationRecursive ().
Π Π°ΡΡΡΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
FBX SDK ΠΈ Maya ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² 3ds Max ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠΎΡΠΌΡΠ»Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΌΠΏΠΎΡΡΠ΅ΡΡ ΠΈ ΡΠΊΡΠΏΠΎΡΡΠ΅ΡΡ FBX Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ 3ds Max Π² 3ds Max ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
FBX and Maya
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ FBX SDK ΠΈ Maya Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π°:
ΠΡΠ±ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΡΠΉ Π²Π΅ΠΊΡΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ:
3ds Max
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ 3ds Max Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π°. ΠΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ Π² ΡΠΎΡΠΌΡΠ»Π΅ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² FBX ΠΈ Maya, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ΅Ρ
ΡΠ»Π΅Π½ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ
Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅;
Where the term: | Is a 4 x 4 matrix that contains: |
---|---|
WorldTransform | Transformation matrix of the node |
ParentWorldTransform | Transformation matrix of the parent node |
T | Translation |
R | Rotation |
S | Scaling |
OT | Geometric transform translation |
OR | Geometric transform rotation |
OS | Geometric transform scaling |
ΠΠ°ΠΌΠ΅ΡΠΊΠ°:
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΡΠΈΡΡΠ΅ΠΌΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ FBX SDK, Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² FBX SDK 2010. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Π‘ΡΡΠ°Π½ΠΈΡΡ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅
β’ Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
β’ ΠΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
β’ ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² FBX
β’ ΠΡΠ΅Π½ΠΈΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΡΠ΅Π½Ρ.
β’ΠΏΡΠΈΠΌΠ΅Ρ
Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
FBX SDK ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ: ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxAnimStack), ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxAnimLayer), ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxAnimCurveNode), ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxAnimCurve) ΠΈ ΠΊΠ»ΡΡ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxAnimCurveKey). Π ΡΡΠ΅Π½Π΅ FBX (FbxScene) ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΎΠ±ΡΠ΅ΠΊΡ (OO) ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ-Π°ΡΡΠΈΠ±ΡΡ (OP). ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡΠ°Ρ Π΄Π°Π½Π½ΡΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ»Π°ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ.
FBX SDK ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Autodesk MotionBuilder, Autodesk Maya ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ»Π°Π²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ Ρ ΠΎΠ΄ΠΈΡΡ, ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ Π±Π΅Π³Π°ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ»Π°Π²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ Ρ ΠΎΠ΄ΡΠ±Ρ ΠΊ Π±Π΅Π³Ρ, ΡΠΌΠ΅ΡΠ°Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Ρ ΠΎΠ΄ΡΠ±Ρ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Π±Π΅Π³Π°. ΠΡΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°ΠΈΠ»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠΌΠ΅ΡΠ°Π΅ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π‘ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈΒ».
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (Π±Π΅Π· ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ) ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£Π·Π΅Π» Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈΒ».
ΠΠΎ FBX SDK 2011 ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΡΠ·Π΅Π» ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ·Π»Π° ΠΏΡΠΈΠ΅ΠΌΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Ρ. Π. Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» Β«ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈΒ», ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² FBX SDK 2010.
Π‘ΡΡΠ°Π½ΠΈΡΡ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅
β’ ΠΠ»Π°ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ
β’ ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
β’ ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΡΠ΅Π½ΡΠΈΠΊΠΎΠ²
β’ Π‘ΠΎΡ ΡΠ°Π½ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² Π±ΡΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠ½
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°: Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
ΠΠ»Π°ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ, Π² ΡΡΠ΅Π½Π΅:
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² UML ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² ΡΡΠ΅Π½Π΅ FBX.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°: ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
Π‘ΡΠ΅Π½Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ Π² ΡΠΈΠΏΠΈΡΠ½ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ ΡΡΠ΅ΠΌΡ ΡΠ»ΠΎΡΠΌΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ»ΠΎΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² FBX.
Π½ΠΎΡΠ°:
AnimationCurve0 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ CurveNode1 ΠΈ CurveNode3. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΡΠ΅Π½Ρ AnimationCurve0 ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° FBX (Obj0Property ΠΈ Obj2Property) Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² FBX (FBXObject0 ΠΈ FBXObject1) Π² Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ»ΠΎΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (AnimationLayer1 ΠΈ AnimationLayer2). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ΅Π½ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²Π΅ΡΠ° ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠΈ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡΒ».
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ FBX SDK ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, Π½ΠΎ Π²Ρ Π½Π΅ΡΠ΅ΡΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
Π’Π΅ΠΊΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ FBX SDK Π±ΡΠ»Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π°. Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ΅ΠΌΠ½ΡΠΉ ΡΠ·Π΅Π», ΠΏΡΠΈΠ΅ΠΌΠ½ΡΠΉ ΡΠ·Π΅Π»-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ΅ Π² FBX SDK 2010, Π±ΡΠ»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π² FBX SDK 2010.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ API. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² API ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΡΠΉ
ΠΠ±ΡΠ΅ΠΊΡ FbxTakeInfo Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ FBX SDK.
ΠΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° (ΡΡΠ΅Π½Ρ) FBX Π² ΠΎΠ±ΡΠ΅ΠΊΡ FbxTakeInfo, Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Ρ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» FBX. Π‘ΠΌ. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ aata Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² FBX.
β’ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ FbxTakeInfo, Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° FbxAnimStack. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ FbxAnimStack: Reset ().
ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΡΠ΅ΠΌΠ°:
β’ ΠΠ»Π°ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ
β’ Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°: ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ΅Π½ΡΠΈΠΊΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ FbxAnimEvaluator Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΡΡΠ΅Π½Π΅.
ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΡΠ΅Π½ΡΠΈΠΊΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° FbxAnimEvaluator.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΎΡΠ΅Π½ΠΎΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ:
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ Β«FbxScene :: SetEvaluator ()Β», ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΅Π½ΡΠΈΠΊ Π½Π° Π²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΠ΅Π½ΠΊΠΈ.
Make the following call:
Π’Π΅ΠΏΠ΅ΡΡ mySceneEvaluator Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΡΠ΅Π½ΡΠΈΠΊΠ°.
See Evaluating the animation in a scene for information on evaluating the animation in a scene.
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΠΊΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠ½
ΠΠ±ΡΠ°Π·Π΅Ρ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠ½ ΡΠΌ. Π ΡΡΠ½ΠΊΡΠΈΡΡ MapVertexCacheOnTriangle () ΠΈ AnimateVertexCacheOnTriangle () Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅-ΠΎΠ±ΡΠ°Π·ΡΠ΅ ExportScene03 (ΡΠΌ. ΠΠ΅Π· ΠΌΠ΅ΡΠΊΠΈ).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π±ΡΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΠ½ ΡΠΌ. Π ΡΡΠ½ΠΊΡΠΈΡΡ PreparePointCacheData () ΠΈ ReadVertexCacheData () Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅-ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ViewScene (ΡΠΌ. ΠΠ΅Π· ΠΌΠ΅ΡΠΊΠΈ).
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² \ samples \.
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°: ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
Π‘ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
Π‘ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ»Π°Π²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠ΅ΡΠΈΠ²Π°ΡΡ Π΄Π²Π΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ Π±ΡΡΡ ΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°ΠΈΠ»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠΌΠ΅ΡΠ°Π΅ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΌΠ΅ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ ΠΎΠ΄ΡΠ±Ρ ΠΈ Π±Π΅Π³Π°.
ΠΠ»Ρ ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ Π² ΡΡΠ΅Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ΅Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅ΡΠ°ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Ρ ΠΎΠ΄ΡΠ±Ρ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Π±Π΅Π³Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π° ΡΠ»ΠΎΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠ»ΠΎΠΉ (Layer0) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ·Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ ΠΎΠ΄ΡΠ±Ρ, Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΠΎΠΉ (Layer1) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ·Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π±Π΅Π³ΡΡΠ΅ΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Π‘Π»ΠΎΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ: Layer0, Layer1, Layer2 ΠΈ Ρ. Π.
Π£Π·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ FBX, Π½ΠΎ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° FBX. Π‘ΠΌ. Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π£Π·Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² FBX. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² ΠΎΡΠ΅Π½ΠΎΡΠ½ΠΎΠΉ ΡΡΠ΅Π½Π΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ
ΠΠ±ΠΎΠΉΡΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°: Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ
Π Π΅ΠΆΠΈΠΌ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² ΡΠ»ΠΎΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠΌΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ»ΠΎΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΡΡΠ΅ΠΊΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΡΡΠ½ΡΠ΅ΡΡΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ:
Mode | Description | Example |
---|---|---|
Additive | The animation layer adds the animation to the preceding animation layers in the animation stack. The preceding animation layers must affect the same FBX properties. | If AnimLayerA and AnimLayerB both contain animation curve nodes that control the X translation of a FBX object, the resulting X translation is the sum of the X translation values in both the animation layers. |
Override | The animation layer overrides the animation in the preceding animation layers of the animation stack. The preceding animation layers must control the same FBX properties. | If AnimLayerA and AnimLayerB are in override mode, and the X translation of a FBX object on AnimLayerA is 10, and on AnimLayerB the X translation is 15, then the resulting X translation of the FBX object is 15. |
Override-Passthrough | Unlike, the override mode that completely blocks the animation in the preceding animation layers, in the override-passthrough mode, you can control the opacity of the animation layer. The preceding animation layers must affect the same FBX properties. | If AnimLayerC is in the override mode, then it is completely opaque and blocks the animation in the preceding animation layers. However, if AnimLayerC is in the override-passthrough mode, you can control the opacity of AnimLayerC by setting the weight value. |
Π£Π²ΠΈΠ΄Π΅ΡΡ:
enum FbxAnimLayer:: EBlendMode
β’enum FbxAnimLayer:: ERotationAccumulationMode
β’enum FbxAnimLayer:: EScaleAccumulationMode
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°: ΠΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
ΠΠ±Ρ ΠΎΠ΄ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ·Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² FBX Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΠ²ΠΎΠΉΡΡΠ² FBX ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΠΎΠ΅ ΡΠΌΠ΅ΡΠΈΠ²Π°Π»Π°ΡΡ Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»ΠΎΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Boolean.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° fbxtype.h, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π°Π³ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
Value of Blend Mode Bypass Flag | Description |
---|---|
true | The blend mode in the animation layer is ignored. During evaluation (by using the FbxAnimEvaluator class), the value of the properties in the animation layer override the values in any previous layers. |
false | The blend mode for the animation layer is used during evaluation. |
See also:
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° FBX
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΡΠ΅Π½Ρ (ΡΠ°ΠΉΠ» FBX), Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Ρ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» FBX.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΡΠ΅Π½Ρ:
Extract the animation stacks using a pointer to an instance of the FbxScene (pScene).
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ FbxScene (pScene), ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Retrieve the nth animation stack.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ n-ΠΉ ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Retrieve the number of animation layers in an animation stack.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ΅Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΡΡΠ΅ΠΊΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Retrieve the nth animation layer from the animation stack.
ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ n-ΠΉ ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
After retrieving an animation layer, you can access the animation curves for the properties of nodes and node attribute.
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΡΠ·Π»Π° ΠΈ ΠΊΡΠΈΠ²ΡΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ·Π»Π°.
Retrieve the animation curves.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Given a node (lNode) and an animation layer (lAnimLayer), you can retrieve the animation curves for node properties such as the local translation as shown in the following example.
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠ·Π΅Π» (lNode) ΠΈ ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (lAnimLayer), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠ·Π»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
Given a node (lNode) and a layer (lAnimLayer), you can retrieve the animation curves for node attribute properties such as the red color component as shown in the following example.
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠ·Π΅Π» (lNode) ΠΈ ΡΠ»ΠΎΠΉ (lAnimLayer), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ·Π»Π°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
You can also use the animation curve nodes to access the animation data for the properties. The following steps show how to access the animation curves for a specific property on the first (0th) channel.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ (0-ΠΌ) ΠΊΠ°Π½Π°Π»Π΅.
Check whether the property is valid.
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° Π»ΠΈ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡ.
Retrieve the curve node using the animation layer.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»ΠΎΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ·Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ.
If the property is not animated the curve node is NULL.
ΠΡΠ»ΠΈ ΡΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ Π½Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½, ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ ΠΏΡΡΡ.
Step through the curves in the curve node.
ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΊΡΠΈΠ²ΡΡ Π² ΡΠ·Π»Π΅ ΠΊΡΠΈΠ²ΠΎΠΉ.
See the FbxAnimCurveNode class reference for more information on animation curve nodes and channels.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΠ·Π»Π°Ρ ΠΈ ΠΊΠ°Π½Π°Π»Π°Ρ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠΌ. Π ΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΏΠΎ ΠΊΠ»Π°ΡΡΡ Β«FbxAnimCurveNodeΒ».
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ FBX SDK Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΡΠΌ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Β«ImportScene / DisplayAnimation.cxxΒ».
Related topics:
Parent page: Animation
ΠΡΠ΅Π½ΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² ΡΡΠ΅Π½Π΅
ΠΠ»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΡΠ΅Π½Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxScene) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (FbxObject) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΡΠ΅Π½Π΅ Π² ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ Π³ΠΎΠ½ΠΎΡΠ½ΡΠΉ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΊΠΎΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΡΠ·Π»Π°, Π°ΡΡΠΈΠ±ΡΡ ΡΠ·Π»Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠΉ. Π‘ΠΌ. FbxNode :: LclTranslation.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ, ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² ΡΡΠ΅Π½Π΅:
Get an evaluator object from the scene object that contains the node.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠ΅Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΡΠ·Π΅Π».
Create a time object.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
Create a node object.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ·Π»Π°
Get the global transformation matrix or local transformation matrix of the node at a specific time.
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·Π»Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
To get the global transformation matrix:
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ:
To get the local transformation matrix:
ΠΠΎΠ»ΡΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ:
Evaluate the cameraβs position expressed as a vector at a specific time. Note A transformation matrix is not needed to evaluate a cameraβs position.
Π Π°ΡΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ Π²Π΅ΠΊΡΠΎΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
Evaluate a material property at a specific time.
ΠΡΠ΅Π½ΠΈΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ
See Animation/main.cxx for an example that illustrates the use of animation stacks, animation layers, animation curve nodes, and animation curves.
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ / Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ. ΠΡΠΈΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠΎΠ² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΡΠ»ΠΎΠ΅Π² Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΡΠ·Π»ΠΎΠ² ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·Π»Π° Animation Curve Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° FBX
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ Β«FbxAnimCurveNodeΒ» Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ FBX. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ FbxAnimCurveNode ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ° Π°ΡΡΠΈΠ±ΡΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΡΠ΅Π½ΡΠΈΠΊΠΎΠΌ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² FBX. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΠ°Π»ΡΡΠ½ΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«FbxDouble1Β», Β«FbxInteger1Β» ΠΈ Β«FbxBool1Β». ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎΠΉΠ½ΡΠ΅ (X, Y, Z) Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ ΠΊΠ°ΠΊ Π²Π΅ΠΊΡΠΎΡΡ.
See also:
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ·Π»Π°
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° FBX ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΎΠ΄ΠΈΠ½ ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° FbxNode ΠΊΠ°ΠΌΠ΅ΡΡ.
Π₯ΠΎΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° FBX Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° FBX Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° FBX. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. FbxPropertyFlags :: eAnimatable.
Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π² ΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ , ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ»ΠΎΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ»ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
3. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ»ΠΎΠΉ Π² ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ Π² ΡΡΠ΅ΠΊ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ·Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ FBX.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ·Π»ΠΎΠ² ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
Π£ΡΠ΅Π±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° CubeCreator ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ·Π΅Π» ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Ρ LclTranslation ΡΠ·Π»Π° ΠΊΠ°ΠΌΠ΅ΡΡ:
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅:
Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΎ Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ·Π»ΠΎΠ² ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅-ΠΎΠ±ΡΠ°Π·ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² \ samples \ animation \.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ·Π»Π° ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ (myAnimCurveNode) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ (myCameraNode), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΡΠΈΠ²ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠ°Π½ΠΎΡΠ°ΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΠΎΡΠΈ x.
2. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΊΠ°Π΄ΡΡ ΠΊΡΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΠΊΠ°ΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ 20 ΡΠ΅ΠΊΡΠ½Π΄, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ 500 Π΅Π΄ΠΈΠ½ΠΈΡ ΠΏΠΎ ΠΎΡΠΈ x.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ:
β’ ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π² \ samples \ Animation \.
β’ Π£ΡΠ΅Π±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° CubeCreator Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² \ samples \ UI Examples \ CubeCreator \.
ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΡΠ΅ΠΌΠ°:
β’ Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
β’ ΠΊΠ°ΠΌΠ΅ΡΠ°
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ ΡΡΠ΅Π½Ρ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π½Ρ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈ ΡΠ·Π»Π°Ρ Π² Π½Π΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π¨Π°Π³ΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
1. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΡΠ΅Π½Ρ.
2. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ·Π»Ρ Π² ΡΡΠ΅Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
3. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π½Ρ Π² ΡΡΠ°Π»ΠΎΠ½Π½ΡΡ ΡΡΠ΅Π½Ρ.
4. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ Π΄ΡΡΠ³ΡΡ ΡΡΠ΅Π½Ρ.
5. ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π½ΠΎΠ²Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΡΡΠ΅Π½Ρ.
6. Π£Π½ΠΈΡΡΠΎΠΆΡΡΠ΅ ΡΡΠ°Π»ΠΎΠ½Π½ΡΡ ΡΡΠ΅Π½Ρ.
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ΅Π½Ρ
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π½Ρ Π² ΡΡΠ°Π»ΠΎΠ½Π½ΡΡ ΡΡΠ΅Π½Ρ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ FbxScene, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Β«ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΡΡΠ΅Π½ΠΎΠΉΒ». ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° FbxScene ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ Π΅Π³ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ·Π΅Π» ΠΈ Π΅Π³ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅Π»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ·Π»ΠΎΠ² ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΎΠΏΠΎΡΠ½ΠΎΠΉ ΡΡΠ΅Π½Ρ.
ΠΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ FbxObject, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΡΠ°Π»ΠΎΠ½Π½ΡΡ ΡΡΠ΅Π½Ρ. ΠΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ: ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ FbxCharacter, FbxCharacterPose ΠΈ FbxDocumentInfo. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ ΠΈ ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ FBX SDK.
Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠ²ΡΠ·Ρ Β«ΠΈΡΡΠΎΡΠ½ΠΈΠΊ-ΡΠ΅Π»ΡΒ» ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ FbxObject, ΠΎΠ΄Π½ΠΈΠΌ FbxObject ΠΈ ΠΎΠ΄Π½ΠΈΠΌ FbxProperty ΠΈΠ»ΠΈ Π΄Π²ΡΠΌΡ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ FbxProperty. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΌ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ ΠΊ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΡΡΠ΅Π½Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ FbxObject :: GetSrcObjectCount (), FbxObject :: DisconnectAllSrcObject () ΠΈ FbxObject :: ConnectDstObject ().
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² ΡΡΠ΅Π½Π΅.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ lScene-> GetSrcObjectCount (FbxMesh :: ClassId), ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΡΠ΅ΡΠΊΠ΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊ ΡΡΠ΅Π½Π΅.
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ΅Π½Ρ
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Ρ Π² ΠΎΠΏΠΎΡΠ½ΡΡ ΡΡΠ΅Π½Ρ, ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ ΡΡΠ΅Π½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΡΡΠΎΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ΅Π½Ρ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ «file2.fbx». ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Π΅, ΡΡΠΎΠ±Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΈΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ΅Π½Π΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΈΠΌΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΡΠ½Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ΅Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Β«Test nameΒ».
Π£ΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠ΅Π½
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ββΡΡΠ΅Π±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΠ΅Π½, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅.