动画制作

这是针对不改变模型面数的动画制作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[Constants] 
global $frame = 0
;速度变量(等会要用)
global persist $speed = 0.5
;起始帧
global $start_frame = 0
;结束帧
global $end_frame = 30
;规整化(等会要用)
global $frame_value = 0

[Present]
;在帧运算中加入如下代码:
if $frame > $end_frame
$frame = $start_frame
endif
; 规整化,防止出现渲染半帧的情况
if $frame_value >= 1
$frame = $frame + 1
$frame_value = 0
endif
$frame_value = $frame_value + $speed
;可以设置切换键,暂停动画播放(可以参考按键切换模型内容)
if $key == 1
$frame = $start_frame
endif

[TextureOverrideComponentN]
;找到加载的模型语句
; Draw Component 2.XXX_001
drawindexed = 2304, 137607, 0
; Draw Component 2.烟雾1_002
drawindexed = 2304, 139911, 0
……
;你会发现它们的面数是等差数列
;所以就有了如下写法
;使用第一个模型为模板,然后通过帧数和面数的乘积逐级递增
;即可做到模型按顺序渲染的效果(动画)
drawindexed = 2304, 137607 + $frame * 2304, 0