共用方式為


D3DXTRANSITION_TYPE列舉

定義網格動畫值之間的轉換樣式。

Syntax

typedef enum D3DXTRANSITION_TYPE { 
  D3DXTRANSITION_LINEAR         = 0x000,
  D3DXTRANSITION_EASEINEASEOUT  = 0x001,
  D3DXTRANSITION_FORCE_DWORD    = 0x7fffffff
} D3DXTRANSITION_TYPE, *LPD3DXTRANSITION_TYPE;

常數

D3DXTRANSITION_LINEAR

值之間的線性轉換。

D3DXTRANSITION_EASEINEASEOUT

在值之間輕鬆、輕鬆的曲線轉換。

D3DXTRANSITION_FORCE_DWORD

強制此列舉編譯為大小為 32 位。 如果沒有此值,某些編譯器會允許此列舉編譯成 32 位以外的大小。 不使用這個值。

備註

從輕鬆到緩和的坡道計算方式如下:

Q (t) = 2 (x - y) tー + 3 (y - x) tー + x

其中斜道是具有下列屬性的函式 Q (t) :

  • Q (t) 是立方曲線。
  • Q (t) 以 t 範圍從 0 到 1 插補 x 到 y。
  • 當 t = 0 和 t = 1 時,Q (t) 為水準。

以數學方式,這會轉譯成:

Q (t) = At + Btー + ct + D (,因此 Q' (t) = 3At}+ 2Bt + C) 2a) Q (0) = x 2b) Q () 1) = y 3a) Q' (0) = 0 3b) Q' (1) = 0

解決 A、B、C、D:

D = x (from 2a) C = 0 (from 3a) 3A + 2B = 0 (from 3b) A + B = y - x (from 2b and D = x)

因此:

A = 2 (x - y) ,B = 3 (y - x) ,C = 0,D = x

規格需求

需求
標頭
D3dx9anim.h

另請參閱

D3DX 列舉