DHR-動畫研究字幕組

 找回密碼
 註冊入學
查看: 4035|回復: 2
打印 上一主題 下一主題

[羽的Aegisub教學(2)]用Aegisub製造下雪濾鏡(未完)

[複製鏈接]
  • TA的每日心情
    開心
    2016-10-28 17:43
  • 簽到天數: 4 天

    [LV.2]一年級一學年

    8

    主題

    19

    帖子

    109

    積分

    二科生【G班】

    Rank: 3Rank: 3

    UID
    1250
    精華
    閱讀權限
    30
    魔法資質
    52
    積分
    109
    靈子量
    0
    想子量
    54
    0 個
    DHR幣
    22 元
    在線時間
    16 小時
    註冊時間
    2012-4-19
    最後登錄
    2016-10-28
    跳轉到指定樓層
    1#
    羽hane 發表於 2012-5-8 14:38:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    本文章最後由 羽hane 於 2012-5-9 15:48 編輯

    所謂ASS字幕可以是濾鏡的一種 當然功能強大 拿來做字幕太可惜
    所以這一次教大家如何製照下雪的濾鏡
    想像每個個雪花 都是一個一個字幕 組成的 那麼就可以製造雪花

    雪的性質是~每個雪花都會下到地上 而 雪是不斷的再漂動 以接近垂直的角度下到地板上
    所以當然 雪在移動過程中需要 \move 語法 作移動
    而雪是白色的 如果是圓白的雪粒 可用 \blur3 做模糊的效果
    再加上\bord0\shad0 去掉邊框陰影

    由於一個畫面雪花有很多片 不可能一個一個去調整 這樣會死人 ><
    所以只好寫腳本吧~

    本篇所需要的語法 set_temp函數 來紀錄雪花產生的位置 做調整 其他方面還有時間的設置 後面再說吧
    1.每片雪花出現的位置不定 假設我設的 字幕解析度為 640,360
    那雪花 初始位置大概在 x=0~640 y=0~360 之後出現的地方可能為 y<0 的位置
    \fs 是指字體大小 在這邊是用來控制雪花大小
    所以先寫一段雛形

    效果:template pre-line loop 100
    1. {\move(!math.random(650)!,!math.random(365)!,!math.random(650)!,370)\blur3\bord0\shad0\1c&HFFFFFF&\fs!math.random(5,10)!}●
    複製代碼
    看起來類似雪花 但就是怪怪的

    函數 math.random(a,b) 或 math.random(a)
    意思是從 a 到 b之間隨機取一個數字 而後面則是在0 到 a 隨機取一個數字
    a,b都為整數

    2.加上自定意 set_temp 函數
    set_temp通常會搭配math.random使用 簡單來說就是建立一個暫存的變數來放math.random的結果
    由於暫存的變數不一定有一個 所以通常會把temp設為一個 陣列(array)
    做字幕特效者 也常常碰這一類型的函數

    效果:code once
    1. temp = {}
    複製代碼
    先定義temp為空的陣列(array) 意思類似要寄放東西時 得先找個空間讓東西可以寄放
    然後建立 set_temp 函數
    效果:code once
    1. function set_temp(ref,val) temp[ref] = val; return val; end
    複製代碼
    這兩行要一定同時出現...缺一不可

    在lua語法中 定義一個函數為
    function 函數名(輸入值l) 函數內容 return 輸出值 end(結束該函數)
    所以從語法看來
    set_temp這函數的意思 就是 定義一個temp[ref]的值 為 val 並返回 val
    這時可以定義 temp 這個陣列的元素來使用

    3.使用maxloop製造源源不絕的雪
    maxloop(loop次數)
    其中這邊 loop次數 =雪花的種數
    時間越長 下下來的雪花就越多 所以和時間成正比
    一行字幕的時間為$ldur在乘上密度就是 所有雪花的總數
    !maxloop($ldur*密度)!
    這邊密度我設為1/10 其中密度也影響每片進來的時間間隔
    兩邊成反比的狀況

    然後我們在設定雪花的一片一片近來 和 下到最底下的時間
    這裡用 retime中 line的參數
    !retime("line",該行開始時間調整,該行結束時間調整)!
    j*10 雪出現的時間 該行開始後 每0.01秒下一片雪 該時間與密度成反比
    math.random(1000,5000) <= 雪花下下來所需要的時間
    密度請不要調太大 因為真的很恐怖 電腦當機不關我的事
    maxloop()這語法使用時也請格外小心...

    ~雪花範例01~ 先貼出語法 之後在解說 腳本請勿隨便流出~
    效果:code once
    1. temp = {}
    複製代碼
    效果:code once
    1. function set_temp(ref,val) temp[ref] = val; return val; end
    複製代碼
    效果:template pre-line
    1. !maxloop($ldur/10)!!retime("line",j*10,-$ldur+j*10+math.random(1000,5000))!{\move(!set_temp("x",math.random(650))!,!math.random(-10,0)!,!temp.x+math.random(-10,10)!,370)\blur3\bord0\shad0\1c&HFFFFFF&\fs!math.random(5,10)!}●
    複製代碼
    範例01 解釋
    j為loop的次數~loop1第一次時j=1 之後 loop1第二次 j=2....

    結果預覽:


    腳本使用方法:

    請不要一次開太多行字幕/時間調很長 產生太多行 造成電腦/程式當掉自行負責
    MAXLOOP這語法 亂玩的話 有可能造成造成電腦/程式當掉

    感覺起來雪直直下下來 沒有漂的感覺~
    所以就可以加入\frx 和 \frz製作 雪飄的感覺
    在語法上再加上
    或把雪花的運動範圍變廣 這時可以參考範例02

    ~雪花範例02~
    set_temp函數請看前面
    效果:template pre-line
    1. !maxloop($ldur/10)!!retime("line",j*10,-$ldur+j*10+math.random(2000,5000))!{\move(!set_temp("x",math.random(650))!,!set_temp("y",math.random(-10,0))!,!temp.x+math.random(-80,80)!,370)\blur3\bord0\shad0\1c&HFFFFFF&\fs!math.random(5,10)!\t(\frx!math.random(-1200,1200)!\fry!math.random(-1200,1200)!)}●
    複製代碼
    4.製造不同的雪花
    首先要有雪花字型 網站上有免費的可以抓
    你也可以用ASSDraw慢慢畫 如果你厲害的話
    原理:先建立一個序列
    snow = {"a","b","c","d","e"....} <=該英文字元 必須對應你雪花字型中雪花的部分
    然後就可以用
    !snow[math.random(1,n)]! n為看你放的雪花種類做決定

    以下參考範例03
    ~雪花範例03~
    (待補)



    [延伸課題]
    這部分我不公佈語法 也沒特定的答案
    1."下雨"的濾鏡
    2."落花"的濾鏡
    3."櫻吹雪"的濾鏡

    原理類似~可以試試看 有做出來的話 歡迎討論
    後面待續~~

    評分

    參與人數 1魔法資質 +10 收起 理由
    admin + 10 很給力! 感謝分享

    查看全部評分


    DHR-動畫研究字幕組 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
    2、本站所有主題由該帖子作者發表,該帖子作者與DHR-動畫研究字幕組享有帖子相關版權
    3、其他單位或個人使用、轉載或引用本文時必須同時徵得該帖子作者和DHR-動畫研究字幕組的同意
    4、帖子作者須承擔一切因本文發表而直接或間接導致的民事或刑事法律責任
    5、本帖部分內容轉載自其它媒體,但並不代表本站贊同其觀點和對其真實性負責
    6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除並致以最深的歉意
    7、DHR-動畫研究字幕組管理員和版主有權不事先通知發貼者而刪除本文

  • TA的每日心情
    無聊
    2016-5-31 22:55
  • 簽到天數: 144 天

    [LV.7]二年級三學年

    120

    主題

    613

    帖子

    5457

    積分

    一科生【D班】

    Rank: 7Rank: 7Rank: 7

    UID
    42
    精華
    1
    閱讀權限
    60
    魔法資質
    1180
    積分
    5457
    靈子量
    12
    想子量
    1929
    6 個
    DHR幣
    881 元
    在線時間
    428 小時
    註冊時間
    2011-10-17
    最後登錄
    2016-8-5
    2#
    mrwu1990 發表於 2012-5-8 17:05:48 | 只看該作者
    前排支持
    但不曉得每個代碼的功用
    求詳解

    MEGA檔案被砍就不補囉
  • TA的每日心情
    郁悶
    2016-1-14 23:44
  • 簽到天數: 4 天

    [LV.2]一年級一學年

    2

    主題

    58

    帖子

    355

    積分

    DHR字幕組

    Rank: 12Rank: 12Rank: 12

    UID
    1400
    精華
    閱讀權限
    200
    魔法資質
    28
    積分
    355
    靈子量
    9
    想子量
    300
    0 個
    DHR幣
    433 元
    在線時間
    49 小時
    註冊時間
    2012-5-2
    最後登錄
    2018-4-18
    3#
    Crazy小神乂 發表於 2012-5-9 19:25:01 | 只看該作者
    0.0  等我有空一定會試試看的XD

    您需要登錄後才可以回帖 登錄 | 註冊入學

    本版積分規則

    
    ------◇◆ DHR 動 研 字 幕 組 論 壇 免 責 聲 明 ◆◇------
    本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。
    本討論區提供網上自由學習交流討論資源共享的服務平台,所有個人言論(帖子)並不代表本站立場,版權均歸個人所有。
    由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。
    切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,遵守中華民國法律,敬請自律。本網站保留一切法律權利。

    小黑屋|手機版|DHR-動畫研究字幕組  

    GMT+8, 2024-5-18 11:04 , Processed in 0.069406 second(s), 28 queries .

    Powered by Discuz!

    © 2011-2015 DHR-動研字幕組

    快速回復 返回頂部 返回列表