Èçìåíåíèå îáùèõ ïàðàìåòðîâ àíèìàöèè
animationRange --ÏÎËÓ×ÈÒÜ ÒÅÊÓÙÈÉ ÄÈÀÏÀÇÎÍ ÀÍÈÌÀÖÈÈ (interval 0f 100f)
animationRange = interval 10 50 --ÇÀÄÀÒÜ ÄÈÀÏÀÇÎÍ ÀÍÈÌÀÖÈÈ ÎÒ 10-ÃÎ ÊÀÄÐÀ ÄÎ 50
frameRate --ÊÎËÈ×ÅÑÒÂÎ ÊÀÄÐΠ ÑÅÊÓÍÄÓ (ÖÅËÎÅ ×ÈÑËÎ)
animateonRange.start --ÍÀ×ÀËÜÍÛÉ ÊÀÄÐ ÀÍÈÌÀÖÈÈ (ÂÅËÈ×ÈÍÀ ÒÎËÜÊÎ ÄËß ×ÒÅÍÈß)
animationRange.end --ÊÎÍÅ×ÍÛÉ ÊÀÄÐ ÀÍÈÌÀÖÈÈ (ÂÅËÈ×ÈÍÀ ÒÎËÜÊÎ ÄËß ×ÒÅÍÈß)

Ïðèìåð êîíòðîëëåðà àíèìàöèè path constraint
thePath=$line01 --ÎÁÚÅÊÒ line01 ÁÓÄÅÒ ßÂËßÒÜÑß ÏÓÒÅÌ
theObj=$Box00 --ÎÁÚÅÊÒ Box01 ÁÓÄÅÒ ÏÅÐÅÌÅÙÀÒÜÑß ÏÎ ÏÓÒÈ
theObj.pos.controller=path follow:true constantVel:true loop:true --ÊÎÍÒÐÎËËÅÐ
PosCont=theObj.pos.controller --ÇÀÏÈÑÛÂÀÅÌ ÊÎÍÒÐÎËËÅÐ Â ÏÅÐÅÌÅÍÍÓÞ
PosCont.path=thePath --ÇÀÍÎÑÈÌ ÏÓÒÜ Â ÊÎÍÒÐÎËËÅÐ
PosCont.axis=0 --ÂÛÐÀÂÍÈÂÀÅÌ ËÎÊÀËÜÍÓÞ ÎÑÜ Z ÎÁÚÅÊÒÀ ÏÎ ÏÓÒÈ
animate on --ÀÍÈÌÈÐÓÅÌ
(
at time 0 PosCont.percent=0 --Â ÊÀÄÐÅ 0 - 0% ÏÓÒÈ
at time 100 PosCont.percent=100 --Â ÊÀÄÐÅ 100 - 100% ÏÓÒÈ
)

Ïðèìåð êîíòðîëëåðà àíèìàöèè link constraint
b=box pos: [-100, 0, 0]; d1=dummy pos:[0, 0, 0]; d2=dummy pos:[0, 0, 0]
animate on
(   
at time 0 d1.rotation=quat 0 [0, 0, 1]
at time 25 d1.rotation=quat 90 [0, 0, 1]
at time 25 d2.rotation=quat 0 [1, 0, 0]
at time 50 d2.rotation=quat 180 [1, 0, 0]
)
b.transform.controller=Link_Constraint() --ÊÎÍÒÐÎËËÅÐ
links=b.transform.controller --ÇÀÏÈÑÛÂÀÅÌ ÊÎÍÒÐÎËËÅÐ Â ÏÅÐÅÌÅÍÍÓÞ
sliderTime=0f; links.AddTarget d1 0 --ÑÂßÇÛÂÀÅÌ Box01 Ñ Dummy01  ÊÀÄÐÅ 0
sliderTime=25f; links.AddTarget d2 25 --ÑÂßÇÛÂÀÅÌ Box01 Ñ Dummy02  ÊÀÄÐÅ 25
sliderTime=50f; links.addWorld frameNo: 50 --ÓÁÈÐÀÅÌ ÑÂßÇÜ Ñ Dummy02
animate on --ÀÍÈÌÈÐÓÅÌ ÍÅÇÀÂÈÑÈÌÎÅ ÄÂÈÆÅÍÈÅ ÎÁÚÅÊÒÀ
(
at time 51 move b [0, 0, 0]
at time 100 move b [100, 0, 0]
)