2013年1月1日 星期二

2012 推薦適合學生看的DVD電影

文章來自:幫助高功能自閉與亞斯柏格


2012 推薦適合學生族群看的電影DVD


遇見幸福》在他過世的母親墳前,Lucky許下了承諾未來要有一番成就。離開偏僻祖魯鄉村後,諸事不順,卻偶然遇到一個年邁、對非洲充滿病態恐懼的印度老奶奶,他出於善心收留了Lucky,於是兩個人開啟了一段年齡相差甚鉅、語言不通,卻又不可思議的友誼。奇蹟》 聽說當列車高速交會的瞬間 奇蹟將會出現 。小兄弟和同學等人最後真的目睹了另一種奇蹟,但過後日子還是依舊平淡渡過。只是對人生的體會又好像深刻了一點。 (中年級)(青鳥)以霸凌者的角度詮釋校園霸凌的問題《青鳥》是繼《告白》後,另一深刻描繪校園霸凌問題與人性價值反思的作品。 (中年級)落跑教宗》Melvill可以接任為教宗,卻也坦承自己無能替世界指引明燈,他的示弱,顛覆了教宗的神味。 這部片拍得很有趣味,也發人深省~~有時滑稽唐突,有時別含深意,舉重若輕,卻不失國際共鳴。(中學)
《愛樂時光》裡的反省與情誼-生命教育好片 故事描述當年德軍無預警出兵俄國攻陷烏克蘭後,當地種族之間情勢緊張。但來自德國鋼琴天才漢娜,與猶太裔的阿布拉夏、萊麗莎,卻透過音樂建立密不可分的情誼。 (中學)推薦 『愛 LOVE』適合跟國中孩子同看的電影這部片藉著四段愛情關係貫穿,人物的關係中詮釋出各種不同的 愛 ,男女、兄妹、父母,還有朋友之愛,最終歸結於 愛』  是寬恕、包容、為對方著想、希望對方幸福。(中學)   《 神的病歷簿 》 描述一位在日本長野擔任偏遠地區醫療的年輕醫生,在與病患相處的過程中,逐漸體驗到醫療真義的溫馨感人故事。(中 學)鯨奇之旅》是真實故事,1988年,三隻加州灰鯨展開每年十月的遷徙之旅,不料受困阿拉斯加巴羅海岸,鯨魚報導一出,這個全美最北酷寒的小鎮,瞬間湧入大批記者,使小鎮成為萬眾矚目的焦點。(中年級)
桃姐》 很意外的完全沒有落淚。導演許鞍華用細膩的日常片段,不讓電影變成催淚的通俗劇。生命裡的抉擇都用旁觀 、 冷靜、留白的筆觸,淺嚐即止。  這部片探討家庭倫理命題與人文關懷展現。(高年級)雨果的冒險》藉一具損壞的機器人來象徵人們破碎的「心」。破碎的「心」需要眾人之力共同合作修復。這部片用最簡單的意象,述說了重要的生命議題。(中年級)慢飛天使:我的拇指公主描述羅素西弗氏症。罕見疾病。生長嚴重遲緩是此病主要的異常。(中年級)心靈鑰匙》 這是一部成功的療傷電影,更是一部成功的尊重亞斯柏格特質的影片。推薦給您。 (高年級)
《文生去看海》了解妥瑞症厭食症強迫症劇情架構非常豐富有趣。文生除了有妥瑞的抽蓄穢語外,精神狀態與一般青年無異,。在共患難的長途旅程中,文生的愛甚至令有尋死傾向的瑪琳恢復進食;而強迫症的阿歷因為友情而主動分享存款。三名青年在彼此的理解與扶持下找到了繼續生存的動力。 (中學)法外見真情》這個由搶案看社會問題的影電影,Christophe來自一個破碎的家庭,看著他照顧家人的真心,沒有人會懷疑他的純良本性,但是這個人卻也真的犯下持槍搶劫的罪行,受害人皆曰可殺~~ 善人亦有盲點,惡人亦有可憐之處。(高年級)【和山姆上學去】腦性麻痺融合教育 影片中令人動容的是,全班要上體育課程,他們也不讓山姆落單,幾位老師在課前開會,討論可能遇到的問題,為山姆設計輔具讓他也能在機器的輔助下滑行。(高年級)第八日的蟬》秋山惠理菜是一名二十一歲的大學生。她的經歷與眾不同,四歲時才和真正的雙親重逢,當親生父母告訴她自己剛生下來就被壞女人擄走,自己的名字其實是惠理菜時,她毫無實感。惠理菜不知該如何與父母相處,多事的媒體也一直關注著他們,。(中學)
我的外籍老師》紀錄愛琳娜老師和孩子們整個學年的互動過程,在這個大多數人都已放棄的地區,她的耐心、毅力及無私的愛心,創造了令人驚訝的奇蹟,改變了這26名小小學童的生命,和愛琳娜老師相遇,是他們最幸福的事。 (高年級)非常上訴》為了替哥哥平反,付出了18年的人生,不但回高中唸完還從法學院取得學位,並通過律師考試,更證明了哥哥的清白取回自由。  這真的不容易,這是幼年時期八度被拆和的患難兄妹,才凝聚成牢不可滅的親情,啄木鳥與雨》透過樸實而動人的影像,傳達出電影人對電影的熱愛。 在小地方拍攝影片時,受到難得熱鬧的城鎮村民的熱烈支持協助,所到之處都是畫著殭屍粧的村民跟你打招呼。 有趣。溫馨,感人。可愛的佳片。凱文怎麼了》一個傷心母親沈重,無力,絕望的電影。非常棒的影片,但看了心情非常沉重 (高中以上,很好看但建議家長看過後再考慮要不要給孩子看)《用浪漫逗趣的方式,呈現當時電影圈的瑣事。出乎意料的好看。(高中以上)
選戰風雲
出人意表的《史丹利的便當盒》 展現的真實看見孩子們的真摯友誼,在同理與尊重之下,如何超越社會階層的框架與界線。 (中年級)選戰風雲》並不像片名輕描淡寫、有些不著邊際。將選舉時厲害的的多方高手過招,如何使出大絕,受重傷慘敗後又如何大力反咬一口讓人開腸破肚,是一個令人歎為觀止的政治殺戮戰場。 (高中)艾瑪好色》我不知道怎麼評論這部片,但我覺得可以跟著青春期的孩子一起學習。這部片提供很多知識和嘗試。 附帶一提希望大家不要被電影介紹跟影片介紹誤導。這部片不是廣告的那樣 (中學)逆轉人生》如果你只有時間看一部片,我首推這部影片。菲利普在一次跳傘意外導致終生癱瘓 ,而他萬中選一的看護人選,竟是來自郊區又有前科的黑人混混。不拘小節、樂觀又熱情幽默的德里斯,飆車、熱舞樣樣來,讓菲利普原本規律的生活大亂!
繼承人生》(喪妻)天堂中人依舊得為俗事煩心 。在拔掉妻子的維生器具前,這位向來忙碌的父親,陡然接到孩子同學家長的控訴,於是擅長聆聽的律師爸爸,開始與女兒對話,與老師和家長對話,父親繼承了母親遺留下的承擔~ 坐擁天堂的時候,該好好珍惜!! (中學)多桑的待辦事項》★榮獲 芝加哥國際影展 最佳紀錄片 我叫砂田知昭,享年69歲。 67歲才退休的我,在例行的健康檢查中,發現自己胃癌末期。 為了不讓家人困擾,我開始寫「終活筆記」。 (中學)我們買了動物園-掌握「20秒的勇氣」生機無限  住在南加州的班傑明密(麥特戴蒙飾),遭逢喪妻的變故後,原本既有的規劃全亂了套,他辭去令人艷羨的工作,帶著2個小孩搬到英國的鄉村,突然決定買下一座動物園! 面對人生的困境和挫折,如何走過人生最難以承受的生離死別,電影用心串聯了許多細節,值得細細品味。(中年級)永遠在一起 在學會說再見之前,請讓我好好愛你。12歲的山姆是白血病患者,在只剩下一年壽命的期間紀錄了自己的困惑和生活,並實現所有夢想。 (高年級)
戰馬》 由馬這樣的動物,看生命。大雨中無畏鋒利的犁刀是勇氣,勇敢的為愛面對戰火也需要勇氣, 敵對的兩軍共同在戰場上拯救戰馬,更需要勇氣 。  勇氣不需要濺血。可以是溫和的溫柔地表達出的勇氣。 (高年級)(愛.進化》 (喪女)有人認為他是背棄上帝的惡魔,有人認為他是提出荒謬學說的科學家,而本片從達爾文的日常和家庭生活切入角色,試圖刻劃他身為父親、丈夫、和科學家的多重矛盾衝突,最終仍然希望彰顯出溫暖、深刻的人性,與回歸家庭與珍愛伴侶的幸福活個痛快50/50改編自真人故事,述說27歲的主角從得知罹患癌症的悲觀狀態,到重新振作思考人生,且積極對抗病魔的過程,。(中學)阿嬤的小學堂 》活到七十歲仍一字不識的她,現在卻為了看懂兒子生前寄來的最後一封信,而下定決心開始上學,並敞開心房來接納與她素不相識的孫女…。 (小學低年級)

2012年12月13日 星期四

AE Expressions教學

原文來自這裡

中文教學主要是翻譯至JJ Gifford 網站, 內容較舊(AE 5.0), 所以做了些修改, 但expression及script部分沒什麼變化.

Expressions(表達式)介紹

After Effects的動畫元素大約有5種方式

  1. Brute Force(暴力):直接在圖層設定keyframe, 自由度最高,但遇到複雜動畫時也最辛苦.
  2. Pre-composing(合成):將多圖層合而為一, 轉成一個Comp屬性的圖層, 有如其他程式的群組關係.
  3. Parenting(父子關聯):圖層間建立父子連接關係, 對父物件所做的變形, 會作用到子物件.
  4. Expressions(表達式):依附在圖層的特性(property)中,是Realtime(即時的)且live(存在的), 不同時間產生不同反應, 也可以與現有的Keyframe合作.
  5. Script(腳本):不同於Expression必須依附在圖層特性中,Script可獨立存在, 以視窗等獨立介面呈現, 一次性執行完畢, 產生結果.
        
何時使用Expressions
  1. 不同圖層間的特性連接
        例如兩個圖層間以建立父子關聯,綠色方塊為父,黃色方塊為子,parenting時,黃色跟著綠色做變化;
        但有時只需要跟隨位置,所以不需建立父子關聯, 僅用expression取得綠色的position(位置)特性.
  2. 自動化
        例如底下只需讓一個特性Scale做變化,僅僅設定一個keyframe,再加上以時間做參數的expression.

  3. 特性加入一些亂數
        在原有的keyframe作用的情況下,利用expression讓原先值做變化,如底下的position加入wiggle晃動.


何時不需要使用Expression?


     有一句話"不要以為有了槌子,就把每樣東西當作釘子",這句話的意思是說不要以為expression很厲害,就一直用,應該是需要用的時候才用.


撰寫Expression

選擇要加入expression的特性後,


1.從選單中Animation>Add Expression,將特性轉成expression模式
2.Alt+左鍵點擊碼表圖示.

多出來的"=",點擊可開關expression功能, 特性數值成紅色表示啟用expression, "="旁邊的圖式稍後討論, 最右邊的 tansform.rotation 為expression程式碼.

  • 第1個圖形鈕用圖形顯示expression計算後的結果.
  • 第2個的螺旋圖按鈕,用於幫忙抓取此Composition(也稱Comp,是一個放圖層的容器; Comp中也可放入Comp屬性的圖層)中,所有可用的特性,並轉成expression程式碼,就不需要自己打字.
  • 第3個箭頭圖按鈕,提供expression中的函式庫.



什麼是Expression?


    在一個圖層特性中,最簡單的expression就是一個值(expression的分號可有可無),如
6;
    這可能沒啥作用,若是底下這樣可能還較有用.
rotation;
    當執行時,會得出圖層的rotation值,若將這rotation表達式用在opacity特性中,圖層旋轉時,不透明度opacity也會跟著變化.

    Expressions用JavaScript語法,網路上有很多資料可查詢.JavaScript功能相當齊全,例如opacity可做一些數學運算.
opacity*10;
    上式只是將圖層的opacity乘10,若opacity是100,則得出1000,若將這表達式用在rotation,則圖層旋轉1000度.


"="在哪裡呢?

    比如在position中加入expression, 直接輸入[100,100],將圖層移至座標 x=100,y=100 位置,也可以用語法
position=[100,100];
    但若只輸入100,會發生錯誤,所以只要數值格式正確,是不需要'='.


一個expression只能控制一個特性

    例如在position中加入expression,這個expression只能操作位置特性,如果想在裡面操作rotation辦不到的;若要操作rotation就在rotation特性中加入expression.

Expression可以多行程式碼

    之前都只看到一行, 然而幾百行都可以, 但是expression不是AE的Script, 行數越少越好, 總不能每移到不同時間, 幾百行的expression又執行一次, 盡量簡單.以下是rotation的expression範例.
offset=30;
ralph=rotation+offset;
ralph;
    offset是變數,程式碼中rotation是旋轉特性初始值,如果初始值為0,那加上30,所以ralph變數成為30,最後結果是30,圖層則旋轉30度,(拉黃色邊框調區塊大小)


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


螺紋選取工具

    按住螺紋按鈕, 再移到要取用的特性(屬性)文字上, 放開滑鼠左鍵即取得該特性的expression表達式



    這表示Opacity(不透明度)的將取用transform.rotation的值, 因為都是同一個圖層(物件)中的特性, 直接輸入rotation也起作用.

opacity跟隨rotation變化

    如果您抓取的是同個comp中的不同圖層的特性, 如下, 記得先選取要被取代的文字(藍底白字).


thisComp.layer("Yellow Solid 1").transform.opacity

thisComp : 表示目前所在Comp
layer("Yellow Solid 1") : 此Comp中的名為Yellow Solid 1的圖層.
transform.opacity : 表示Yellow Solid 1的 transform群組特性中的opacity特性.

    若您改成這樣也可   thisComp.layer("Yellow Solid 1").opacity

Vectors, Arrays, Dimensions 與 Indexing

    當你用螺紋從position連到rotation後, 會得到兩行程式碼(根據版本會有不同).

    因為position必須用到x,y座標值, 所以不管程式幾行, 最後一行都必須求出 2維數值,上例用
[temp,temp]表示. 這二個或多個數值資料的組合稱為vector(向量)或array(陣列) .


Vector vs Array

    Vector向量是數值的組合, 2個值是2維向量,如

[3,4] 

    3個值是3維向量,如

[3,4,5]

    Array陣列是多個資料的組合,如

ralph=[10, thisLayer, "bob"]

    ralph變數裡面就有整數值 10 , 圖層 thisLayer , 字串 "bob". 順便一提, 正常用法是不會將不同型態值放在同一陣列內.

    說白了Vector也是一個Array, 只是意義不同.


Indexing(索引)

    有如在一個陣列內取得某個資料, 如

position[0]

   從圖層的position特性取得位置0, 也就是第一個資料, Javascript的陣列從0開始, 所以0表示第一個.

    position是xyz座標值, 所以第1個也等於x座標值,

    position[1] 等於y座標值


建立陣列

    建立一個3維空間向量給變數myVector

myVector = [10,20,30]

    myVector[1] 得到20


Dimensions維度

    陣列內的數值數目等於它的維度, 如上方的myVector 是3維.  一般圖層的position是2維, 但若轉成3D圖層就是3維position. 圖層的rotation與opacity是1維,也稱純量(scalar).

修改陣列內的元件

    例如 positio特性可寫成

[position[0], position[1]];

    這是將position的第1及第2個值取出來, 再放入 position特性內, 結果等於直接寫 position , 這用意是說可以取用或修改陣列內的某個元件, 如下

top_of_layer=0;
[anchorPoint[0], top_of_layer];

    若將以上寫入圖層anchor point(錨點)特性中, x軸不會變, 因為是取用自已anchorPoint的x值, 但是y軸會往上移到0位置.

    上面範例是2維, 當轉成3維圖層, 若你沒補上第三個z值, AE會自動判斷z為0

    下面例子假設你複製comp內最上方第1個圖層的position到某個圖層位置, 並修改y值,

ralph=thisComp.layer(1); //將comp內第1個圖層指定給變數ralph, 切記 layer(1) != layer[1]
[ralph.position[0], ralph.position[1]-100];

    若2個圖層都轉成3D, 移動第1個圖層時, 發現第2個只跟隨第1個的xy值, 因為z軸不受expression制約. (加上camera後做圖層移動,camera不要放在最上方第一個位置)

了解陣列很重要

    例如

position = 6;

    AE會警告這是錯誤, 因為position必定是2維或3維, 不能給1維數值.

position=[320,240];

以上正確!

以下是一些圖層常用的特性(參數)資料表
圖層特性維度單位範圍一般範圍
anchorPoint2* [x, y, (z)]pixels±無限0–圖層寬高
position2* [x, y, (z)]pixels±無限0–comp寬高
scale2* [width, height, (depth)]percentage±無限±100
rotation1degrees±無限0–360度
opacity1percentage0–1000–100
orientation (只有3D)3 [x, y, z]degrees±無限0-360度
audioLevels2 [left, right]decibels-192–24-48–12
ambient1percentage0–1000–100
diffuse1percentage0–1000–100
specular1percentage0–1000–100
shininess1percentage0-1000-100
* 當圖層是3D時,就是3維

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




調整值的範圍

    例如第一頁教學中的用rotation來變化opacity, opacity值的範圍是0~100; 但rotation是正負無窮大.

    以轉1圈360度來說, 100度以上opacity就不作用, 若想要完整轉一圈來變化opacity全過程, 需做一些數學運算,

rotation / 360 = opacity / 100 

   上式 rotation等於0時, opacity也等於0 ; rotation為360時, opacity為100

    上面程式碼再做一些變化得到下面的程式碼, 求opacity 的運算式, 其中rotation/360的值介於0~1, 那0~1之間的值乘100, 所求得的值為0~100之間. 合乎opacity範圍

opacity =(rotation / 360) * 100  //括弧()可省略, 加上是為了清楚運算順序



同以上的理, 下方例子中

圓周長:circumference
距離:distance

    rotation是根據所走的距離(最長距離等於圓周長度), 來判斷旋轉度數.

    distance/circumference的值會落在 0~1 之間, 再用此值去乘360, 最後所得值範圍必定為 0~360

    為了使輪胎轉動, 所以 expression要放在rotation特性中, rotation 是被 position 所驅動.

    一開始 expression 可能會如下

rotation=position*?  //執行會出現錯誤, 因為還要替? 輸入正確變數, ?只是暫時代替

    要做水平方向移動才能看到輪胎旋轉, 所以取用position的x值 position[0] 來計算輪胎圖層跑多少距離, 輪胎是從comp的左邊移到右邊, 起點跑設定在comp的最左邊(comp的座標是左上到右下), 程式碼如下.

rotation=position[0]*?

    為了讓輪胎完整轉1圈, 所以要跑相當於1個圓周長距離, 轉1圈是360度. 根據所跑距離是圓周長的多少比例, 用相同比例的值來判斷輪胎轉幾度.

rotation=(position[0]/circumference)*360 //括弧()可以省略

    輪胎越大, 圓周長度越大, 圖層就必須移動越遠才能轉一圈, 現在要來定義圓周長度,

diameter是直徑, 圓周長公式 diameter*PI

    以前學校學的圓周長公式是2*π*r , r是半徑, 2*r是直徑 , π是圓週率(圓周長與直徑的比率,不變的值), javascript中以PI表示, 必須用 Math.PI 來存取, 或自己輸入3.14 , expression如下

circumference=width*Math.PI;   //width是輪胎寬度(直徑), 等於2*r(半徑)

    因為是用於rotation特性中, 所以之前的expression程式碼

rotation=(position[0]/circumference)*360

    可以刪除rotation=

    最後做全部程式碼整理, 得到

distance=position[0];
circumference=width*Math.PI;
distance/circumference*360;

    應用此expression時, 圖層scale特性必須是100%, 若有改變要另外處理, 留給讀者自己思考.

     上述效果當然也可手調, 但是若要做加速或減速時, 調不好輪胎會打滑, 還是用expression比較準確與真實.


範例檔下載 MAC Window

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Interpolation Methods(內插函式): linear(), ease()

    前面的教學, 已經知道藉由合併簡單的除法與加法來"手動"調整值的範圍. 我們也可以用同樣的方式轉換360度旋轉特性作用到opacity特性上. 但這不是唯一的方式, 因為AE提供內建的內插函式, 特別設計用來做某個特性中(如opacity)的一組數值的轉換.
linear(t, tMintMax, value1, value2)
ease(t, tMintMax, value1, value2)
ease_in(...), ease_out(...)
    這些函式看起來很複雜, 其實只是參數比較多而已, 這些參數是
t變數名, 但輸入值必須是1維的值, 例如rotation或time變數
tMint的最小值,可以省略.省略時,預設為0.
tMaxt的最大值,可以省略.省略時,預設為1.
value1此函式輸出的最小值. 當t等於或小於tMin時, 以value1值輸出. value1可以是數字或向量
value2此函式輸出的最大值. 當t等於或大於tMax時, 以value2值輸出. value2可以是數字或向量

    舉個例子
linear(time, 0, 5, 0, 360);   //time是comp中的內建變數,秒為單位

    根據字面解釋: 當time變數值(時間)從0 ~ 5, 以線性計算出0 ~ 360之間的值. 若將此expression運用在圖層的rotation特性中, 圖層會在0秒~5秒間旋轉360度.
到第5秒停止旋轉

    如果使用這行程式, 會在第五秒自動停止旋轉. 與上一個教學所講到的技術最大不同是, 本次程式在第五秒自動停止, 前次的教學是一直執行下去(若要停止,必須在加上程式碼).
一直旋轉


    除了linear()之外, 還有ease(), easeIn() 及 easeOut()等內插函式. 使用這些函式來計算出更自然的效果.
  • linear() : 中間自動產生的內插值, 以線性方式變化.
  • ease() : 起點與終點變化較緩慢.
  • easeIn() : 緩慢離開起點.(寫成ease_in 也可)
  • easeOut() : 緩慢到達終點.(寫成ease_out 也可)

範例:捲動軸動畫

    這裡將建立一個簡單的捲動軸動畫, 先建立二個圖層, 一個捲動軸(右邊小方塊)圖層(左右兩條垂直線也是圖層,可忽略), 一個文字區塊圖層. 文字圖層的anchor point(軸心)將加入expression (若加在position, position就被封住) ,這樣排版時我們還可移動文字圖層的position, 但position基本是不動, 因為要驅動的是捲動文字圖層的anchor point.

    必須記得, anchor point的值變化與圖層移動是相反的. 在這個例子, 要將文字圖層的anchor point往下移動, 所以文字會往上移動. 為了捲動完所有文字, 必須讓anchor point的y軸數值從0變化到文字區塊的高度值, 所以變數設定成

value1 = 0
value2 = height

    其他變數tMin , tMax , 可以設定為0 及 所在comp的高度. 為了外觀好看一點, 可以做些修改, 假設尺寸為 320x240. 我們設定使用範圍從 20 到 220. 所以設定捲動軸的y軸值為

tMin=20
tMax=220

    所以捲動軸的y座標值為linear函式的輸入值. 得到以下程式碼

scrollY = thisCom.layer("Scroll").position[1];
scrolledAmount = linear(scrollY, 20, 220, 0, height); //捲動多大範圍

    最後將這結果scrolledAmount放入座標陣列中, 讓anchor的x軸的值不變, 完整的expression如下.

scrollY=thisComp.layer("Scroll").position[1];
scrolledAmount=linear(scrollY, 20, 220, 0, height);
[anchorPoint[0], scrolledAmount];

    最後的動畫如下, 右邊小方塊是捲動軸 thisComp.layer("Scroll") , 它的y軸值將讓文字區塊移動.

    當然上例是需要垂直捲動. 我們也可建立水平捲軸, 用x軸值來驅動. 更可延伸到3D旋轉捲動, 加入expression到 3D圖層的rotation特性中.

水平捲動
3D旋轉捲動

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  我們之前使用螺旋紋建立簡單的Expression, 但是只能選擇畫面中存在的物件及其特性(屬性), 例如Comp的特性frameDuration就無法選擇,因為它不存在於畫面中.

什麼是物件

    物件就是一個容器,裡面可裝其他物件與特性,以及函式.

   例如Comp就是AE的一個物件, 裡面包含其他物件(圖層)或是Comp本身的特性,如duration(時間)或width(寬度)等. 在AE中有物件:Comp,layer...等,及特性:opacity,duration,width...等

全域物件(Global Object)與全域特性(Global Atttribute)

    不需定義,直接取用
全域物件與屬性物件種類
thisLayer燈光,影像,聲音 或 攝影幾等物件
thisCompComp 物件
comp("name")Comp 物件
footage("name")Footage 物件
timeNumber 屬性
valueNumber 屬性


    舉 thisComp 為例:
thisComp.layer("Solid 1") 可以取得目前Comp裏面,名為"Solid 1"的layer.

    還可接著往下取得特性, 例如layer圖層的rotation.
thisComp.layer("Solid 1").rotation

    thisComp是全域物件,layer("Solid 1")是裡面的一個layer,此expression取得該layer的rotation特性.

    可用拉螺旋紋到Solid 1的rotation, AE直接填入expression.
有transform是正規寫法,但也可忽略

    用螺旋紋時要小心,expression的欄位游標要放對, 或是被取代的字串也要選對. 底下是layer的常用特性;

圖層特性與函式值的類型維度單位
width 寬度Number1pixels
height 高度Number1pixels
startTime  圖層開始播放時間Number1seconds
inPoint  圖層啟用時間Number1seconds
outPoint 圖層失效時間Number1seconds
hasVideo 是否有影像Boolean1Boolean
hasAudio 是否有聲音Boolean1Boolean
active 是否顯示Boolean1Boolean
audioActive 聲音是否開啟Boolean1Boolean
audioLevels 聲音層數Property2 [left, right]decibels
index 圖層索引值(第幾層)Number1Number
parent 父物件Layer, Light or Camera
source 來源(指向poject面板)Comp or Footage
mask(index or name) 遮罩Mask
effect(index or name) 特效Effect

存取圖層特性的小例子


預設物件

    如 thisLayer, 你可以不需寫 thisLayer.opacity, 直接寫 opacity, AE會自動參考用這個 opacity 的 layer.

    但若要存取其他 layer 的 opacity . 必須加上其他 layer名稱及 thisComp, 也就是用螺旋紋直接連.


方法(Method,中文或稱函式)與特性(Attributes)
  • 方法(Method) : 是一組內部運算,最後得到值, 如 valueAtTime(time);
    有括弧的都是"方法"
  • 特性 : 就是一個值, 如 width, opacity...


以 opacity的valueAtTime 為例
thisComp.layer("Shape Layer 1").opacity.valueAtTime(time)
    time 是全域特性, 是時間軸的所指的時間, 以秒為單位, time作為輸入參數, 用來取得Shape Layer 1圖層的opacity 在 5秒5 的值, 如圖是52.01... , 並將此值以字串顯示在工作視窗.