當前位置:首頁 » 網頁前端 » ae腳本循環函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ae腳本循環函數

發布時間: 2022-10-16 11:46:26

A. AE的這里的腳本都是怎麼用的就截圖里這些,想找教程又不知道怎麼搜索

這些是AE的表達式名稱,你可以找找AE表達式的教程。

B. AE表達式和腳本常用的函數是什麼

1,時間


AE表達式和腳本常用的函數是什麼?時間隨時間線變化,值也隨之變化,時間=1秒1,時間=1秒1.5。當時間的值變化時,我們可以使表達式隨時間變化。(使用分形雜訊,你可以很好地看到這個時間表達式的渲染效果。)


2,該指數


AE表達式和腳本中的不同層都有自己的索引。我們可以根據不同的層次做出不同的效果。


3、價值


不帶表達式的此屬性的當前值。在下面的圖中,將value表達式添加到當前值,以表示x+10 y+20是其原始值的值。


4、wiggle(頻率,amp)


AE表達式和腳本常用的函數是什麼?Swing函數(感覺經常使用helper)。有兩個參數。第一個頻率是振盪頻率,第二個安培是振盪振幅。這是一個非常有用的表達式,也是一個基本表達式。


5、隨機


AE表達式和腳本常用的函數是什麼?這是一個隨機函數。通過調用random(),我們得到一個介於0和1之間的隨機值。然後我們可以用隨機值來產生各種隨機效果。


6, valueAtTime (t)


這也是一種常見的AE表達式和腳本。調用此函數以獲得相應的時間值。


7, loopOut


循環功能。如果您希望創建一個來回移動的球,但不想重復K幀,請記住這個表達式:只創建一個來回移動的關鍵幀,並添加loopout()函數。


以上就是《影視後期課堂:AE表達式和腳本常用的函數有哪些?》的主要內容,如果你想了解影視後期的基本知識,並且將他們運用到您的作品中,那麼本文一定會給你有效的幫助。如果你想學習更多關於影視後期的知識或資訊等,可以點擊本站的其他文章進行學習。

C. AE里輸入表達式提示函數loopOut未定義無效表達怎麼回事

你是不是參數寫錯了
loopOut表達式的運用:
循環表達式
基本格式:loopOut(type="類型",numkeyframes=0)

loopOut(type="pingpong",numkeyframes=0)這是個兵乓的類型的循環,就像那樣兵乓球的作用來使用。
loopOut(type="cycle",numkeyframes=0)這是個圓形的類型的循環,就是對一組動作進行循環。
loopOut(type="continue")這是計算機繼續計算未完成的運動。

numkeyframes=0是循環的次數,0為無限循環,1是只循環一次,2是循環2次,如此類推。

D. 怎樣使AE做出來的swf文件在播放的時候能夠一直循環 貌似AE導出來的跟flash導出來的不一樣好象不會循環

swf文件是支持腳本控制的,一般軟體都可以使swf播放到最後一幀後跳轉至第一幀。在ae裡面ctrl+m導出的界面里,把預置的參數項改選為custom(自定義),當你選擇導出格式為swf的時候,界面下方不是有一個to
move
in
circles,(也可能我記錯了不是這么寫),但這個界面下,有一個勾選是否循環播放的選項,ae默認是沒有勾選的所以你導出來播放它不會循環,勾上它就可以了。

E. AE怎麼用wiggle(2,20)循環播放素材

按住alt點擊需要添加這個表達式的屬性前一個像碼表的東西,然後就可以輸入表達式,把這個
wiggle(2,20}復制進去就行。
我們經常在AE里製作文字特效,運用好表達式能獲得很震憾的效果,wiggle表達式使用率超高!
下面是wiggle祥細解說,大家一定能很快理解的。

函數:
- wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)
參數:
- freq 頻率
- amp 振幅
- octaves 振幅幅度
- amp_mult 頻率倍頻
- t 持續時間
說明:
頻率和振幅是必須具備的參數其他選填寫
例如wiggle(50,100)
實例:
- 打開AE CS4
- 新建工程
- 新建合成
- 使用文字工具 Ctrl+T 在合成內輸入文字
- 給文字層應用動畫預設(菜單 - 動畫 - 應用動畫預設)
(..\Adobe\Adobe After Effects CS4\Support Files\Presets\Transform\Separate XYZ Position.ffx)

- 查看控制效果 F3 (XYZ位置分離()
- 按住ALT鍵點擊該效果Y軸關鍵貞記錄按鈕(時鍾圖標)
- 在表達式處輸入:wiggle(50,100)
- 播放,預覽效果(這時已經可以看見通過wiggle函數,文字在不停的顫動)
- 給文字層添加效果(表達式控制 - 滑動控制)
- 將(XYZ位置分離)中Y軸上表達式改為
str=effect(」滑動控制」)(」滑動」)
wiggle(50,str)
- 此時可以通過」滑動控制」中的滑桿控制文字Y軸振動幅度。
- 在」滑動控制」效果中加入關鍵貞,這樣就可以控制wiggle振動幅度了。

看了這個帖子的回復,有很多說是看不懂,這里做一個更詳細一些的說明,看得懂的就沒必要看下去了,看不懂的繼續看完,千萬不要覺得自己看得懂就在後邊說風涼話,變相的譏諷初學者,那並不代表你比別人聰明。
--------------------------------------------------------------------------------

正文如下:
為了應對不同層次的同學看著更清晰明了,我會像翻譯員一樣,把上邊的每一句進行翻譯和解釋,___內的內容為原文,[]內的就是我的解釋了,希望大家都能看懂。
函數:
wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)
[這只是一個公式,()內的freq, amp, octaves只是公式的xy,就像中學的代數一樣,每一個代數不代表具體數值]
freq 頻率[我們把公式里的這個單詞用數字代替後,那我們輸入的這個數字就是抖動的頻率,什麼是頻率呢?簡單地說,頻率就是一秒鍾內往返多少次,高頻抖動就是每秒抖動的次數非常高]
amp 振幅[同上,我們在使用這個表達式時也是用數字代替這個單詞,也可以用一個函數代替,下邊會說到,耐心看]
octaves 振幅幅度[就不廢話了,再啰嗦這些估計看得人會瘋的]
amp_mult 頻率倍頻[就不廢話了,再啰嗦這些估計看得人會瘋的]
t 持續時間[就不廢話了,再啰嗦這些估計看得人會瘋的]
說明:
頻率和振幅是必須具備的參數其他選填寫
wiggle(freq, amp, octaves = 1, amp_mult = .5, t = time)
例如wiggle(50,100)
實例:
打開AE CS4[不做解釋]
新建工程[同上]
新建合成[同上]
使用文字工具 Ctrl+T 在合成內輸入文字[創建文字層的方法很多,這里不做重點解釋了]
給文字層應用動畫預設(菜單 – 動畫 – 應用動畫預設)
(..\Adobe\Adobe After Effects CS4\Support Files\Presets\Transform\Separate XYZ Position.ffx)
[這里說明一下,有些同學可能不知道怎麼回事,動畫預設就像特效一樣,這里的動畫預設可以不用這么復雜的找他,我們只要在AE的右側Effects&Presets(效果和預設)面板內的搜索欄里打上Separate XYZ Position,你要找的這個預設就這么找到了,把他拖放到你的文字層上就算是應用動畫預設了]
查看控制效果 F3 (XYZ位置分離()[F3是特效控制面板的快捷鍵]
按住ALT鍵點擊該效果Y軸關鍵貞記錄按鈕(時鍾圖標)
在表達式處輸入:wiggle(50,100)
播放,預覽效果(這時已經可以看見通過wiggle函數,文字在不停的顫動)
給文字層添加效果(表達式控制 – 滑動控制)
[這里需要解釋一下,添加特效(表達式控制-滑動控制),這是中文翻譯過來的意思,在英文版軟體中你肯定找不到這些字元,英文面板中的翻譯是(Expression Control – Slider Control)]
將(XYZ位置分離)中Y軸上表達式改為
str=effect(」滑動控制」)(」滑動」)
wiggle(50,str)
[Y軸上表達式應該是
str=effect("Slider Control")("Slider")
wiggle(50,str)]
此時可以通過」滑動控制」中的滑桿控制文字Y軸振動幅度。
[翻譯過來是『此時可以通過"Slider Control"中的"Slider"數值來控制Y軸振動幅度』也可以靠給"Slider"添加關鍵幀來控制Y軸振幅的強弱和有無]

以上是單獨控制某一個軸向上的振幅,我們有時候需要控制整個鏡頭的xyz的整體振幅怎麼辦呢?
以下是控制wiggle的另一種方法,可以解決這個問題
1.
新建一個文字層
2.
在文字層上添加Expression Control – Slider Control特效
3.
打開文字層的Position屬性
4.
按住Alt鍵左鍵點擊Position屬性的添加關鍵幀符號(就是那個小秒錶符號)
5.
我們寫入以下表達式
x=temp = effect("Slider Control")("Slider");
[temp, temp, temp];wiggle(15,x)
這樣我們就可以用特效的Slider來控制抖動的振幅了,大家可以試一試
當然,我們的方法還有很多。比如,我們還可以新建一個調節層(Adjustment Layer)添加Expression Control – Slider Control特效,表達式添加方法也是在文字層的Position屬性里添加,表達式內容我們就要有點小的改動。見下:
x=temp = thisComp.layer("Adjustment Layer 1").effect("Slider Control")("Slider");
[temp, temp, temp];wiggle(15,x)
這種方法的區別只是把控制的特效單拿出來放在了一個新的固態層中,方便我們整個合成項的控制,方便一些特殊時候使用。

F. 如何編寫ae腳本

1.創建合成
在ae中的基本所有的操作都是在合成中進行的,所有我們先來講一下如何創建一個合成。
創建合成命令可以在幫助手冊中的ItemCollection object(82頁)找到。
app.project.items.addComp(合成名稱,寬度, 高度, 像素長寬比,持續時間, 幀速率);

比如,我們想要創建一個叫「合成」的合成,解析度是1280*720,時長是8秒,幀速率為25幀每秒,那麼,我們就可以這么來寫:
app.project.items.addComp("合成",1280, 720, 1, 8, 25);

2.創建文件夾
創建文件夾命令也同樣是在幫助手冊中的ItemCollection object(82頁)找到。
app.project.items.addFolder("名字");

這里我們可以寫一個小例子,比如,我們想創建一個叫「合成」、解析度是1280*720、時長是8秒、幀速率為25幀每秒的合成以及一個叫「文件夾」的文件夾,我們需要將這個所創建出來的合成移動到新創建的文件夾當中,我們就可以這么來寫:
var newFolder=app.project.items.addFolder("文件夾");var newComp=app.project.items.addComp("合成",1280,720,1,8,25);// 使用parentFolder命令將新建的合成放入新建文件夾中newComp.parentFolder=newFolder;

js小知識:
1.var是聲明變數,最先創建變數時需要在變數名前使用var進行聲明,聲明變數時可以不賦值,可以在使用的時候再賦值,如:
var num;num=1;

2.希望大家在剛開始的時候就養成良好的變數名書寫規范,這里建議大家使用駝峰命名法(所謂駝峰命名法,就是變數中的從第二個單詞開始,首字母需要大寫,如:newComp)。這樣可以大大提高代碼的可讀性,以及便於你自己及他人進行代碼維護。
3.每句代碼寫完後,需要在該句末尾加 ; 號。
4.js中書寫注釋有2種方法: // 和 /* */ 。如果想要書寫單行注釋就可以使用//。如:
//這是一個單行注釋

如果想要書寫多行注釋就可以使用 /* */ , /* */ 中間添加要寫的注釋內容。如:

/*
這是一個多行注釋這是第二行這是第三行 */

3.獲取所選擇的合成
我們經常會對在選擇的合成中進行一些操作,那麼獲取當前所選擇的合成我們就需要這樣來寫:
var currentComp;// 獲取當前所選中的對象currentComp = app.project.activeItem;// 判斷當前所選中的對象是否是合成對象,如果是則返回frue,如果不是則返回falseif (currentComp instanceof CompItem) {
return true;} else {
return false;}

這里activeItem是獲取當前被選擇的對象,但是當前被選擇的對象有好多種,比如:當什麼都沒有選中時,他就是null,是個空對象,或者選中的是文件夾或者素材對象,所以我們這里需要判斷一下。
js小知識:
1.instanceof運算符是用來判斷一個對象是否屬於這個類,返回值是一個真或假的布爾值。
currentComp instanceof CompItem 的意思就是當前所選擇的對象是否是個合成。
2. if為判斷語句,書寫格式為:
if (判斷條件) {
滿足條件後執行的語句;} else {
不滿足條件所要執行的語句;}
在以後的對選中的合成操作時,肯定需要先判斷當前是否選中了合成,如何沒選中,我們就彈出提示,如果已經選中,我們在進行後面的一系列操作,這時,我們可以把上面的判斷封裝為一個函數來方便後面的調用。
比如,我們要選擇一個合成,如果是合成我們就返回當前所選擇的合成名字,並將解析度設置為1920*1080,如果所選擇的不是合成,則返回「請選擇合成」,我們可以這樣來寫:
var currentComp;function selComp(){
currentComp=app.project.activeItem;
if(currentComp instanceof CompItem){
return true;
}else{
alert ("請選擇合成");
return false;
}}if(selComp()){
alert (currentComp.name);
currentComp.width=1920;
currentComp.height=1080;}