年過半百、從未在戲劇圈揚名的資深演員伊提言興沖沖地對女兒說,自己抓住了一個大好機會,讓監獄裡的囚犯們上演薩繆爾.貝克特(Samuel Beckett)的劇作《等待果陀 Waiting for Godot》。女兒卻酸他這麼做是為了挽救自己的事業。
.
伊提言惱羞成怒。如此反應通常是被說中了。這是《抓狂演訓班 The Big Hit》(2020)埋下的漂亮伏筆。
.
在伊提言在監獄裡執導囚犯演出《伊索寓言 Aesop's Fables》之後,他聲稱在這些囚徒身上看見了《等待果陀》的精神。在這齣劇作之中,兩人經過漫長等待,卻始終等不到果陀的到來。伊提言發現這些囚犯全都在獄裡經歷了動輒七、八年以上的漫長等待,但他們的果陀(自由)也從未現身。進一步說,即便自由到來了,或許出監也只是進入了更大的牢籠。
.
但這個計畫的確困難重重。這些囚犯們有人甚至連大字都不認得幾個,卻要在六個月之內讀懂貝克特的劇作,甚至背起來上台演出,的確不簡單。何況作品之中的使用的台詞也並不日常化,本來就不是大眾題材。但伊提言卻秉持著某種藉戲劇來達成教化目的的立場奮力投入教學。
.
大半故事看下來,確實有如典型勵志片的架構。從一場演出,到巡迴全國,中間固然存在些許危機,但總是能迎刃而解。不過既然這是一部向貝克特的致敬之作,最後發展自然得要荒謬才行。先說,這是一部改編自真實事件的作品。無論是否先得知這個資訊,都不得不嘆最後收場,實在絕倫。
.
電影之所以常以類型作為區分,是為了讓觀眾能產生一個預期,作為挑片時的考量,在看片時也能有安定感。然而一部偉大的電影當然不能只是追求給觀眾一個安定感,因此經常會在類型當中玩變奏。大器晚成的法國導演艾曼紐.寇克(Emmanuel Courcol)顯然太了解觀眾心理,不僅懂得引導觀眾製造預期,從團員的進退到伊提言與女兒的互動等等,看似無關大局的一些旁枝,竟也都能在最後匯聚一爐。
.
伊提言不是不可信的敘事者,但他無疑是一個觀點上存在侷限的敘事者。演了一輩子戲的他,卻從來沒想到自己演過最出色的戲,就是這段實際的人生際遇;而囚犯們作為業餘演員,必須仰賴伊提言的指導,但到了最後,伊提言方才明白,他們或許更是技高一籌的演員。
.
文青總是在思考果陀為何不出現時,但跳脫戲劇世界的邏輯與寓言哲理,在現實世界之中,是不是直接走到破窗闖入果陀的家快多了?觀點的差異,成就了這部電影的不凡收場,精彩。
.
.
(圖為《抓狂演訓班》劇照。)
#抓狂演訓班 #TheBigHit #SamuelBeckett #等待果陀 #EmmanuelCourcol
東昊 Andrews Film
「godot教學」的推薦目錄:
- 關於godot教學 在 Facebook 的最讚貼文
- 關於godot教學 在 演員陳幼芳 Facebook 的最佳貼文
- 關於godot教學 在 演員陳幼芳 Facebook 的最佳解答
- 關於godot教學 在 [程式] Godot做2D衝擊波效果的幾種做法- 看板GameDesign 的評價
- 關於godot教學 在 本期主題設定為:職人劇或疫情時 - Facebook 的評價
- 關於godot教學 在 Learning Godot 3.0: Your First Game Part 1 - YouTube 線上 ... 的評價
- 關於godot教學 在 [魯蛇] 如何評價godot - 看板GameDesign | PTT遊戲區 的評價
- 關於godot教學 在 [閒聊] 我也辭職從零開始學做遊戲 的評價
- 關於godot教學 在 #請益Unity vs. Godot - 軟體工程師板 | Dcard 的評價
- 關於godot教學 在 [閒聊] 辭職從零開始學做遊戲| 遊戲開發ptt | 如何做好生意 的評價
- 關於godot教學 在 YouTuber一激之下做了一款免費生存糞作《Muck》在Steam獲 ... 的評價
godot教學 在 演員陳幼芳 Facebook 的最佳貼文
多一點努力,就多一點成功。
在你內心深處,還有無窮的潛力,有一天當你回首看時,你就會知道這絕對是真的。
成功,往往住在失敗的隔壁!成功不是憑夢想和希望,而是憑努力和實踐。
生命不是要超越別人,而是要超越自己。
人生最大的喜悅是每個人都說你做不到,你卻完成它了!
<果陀劇場─大師學堂>從基礎訓練開始,接續以電視劇、舞台劇、廣告作三大分類,有系統的對於各種媒介平台之不同表演方式作表演教學
2014夏季平日/假日班 熱烈招生中!
報名詳情http://blog.xuite.net/godot/master
godot教學 在 演員陳幼芳 Facebook 的最佳解答
【果陀劇場--大師學堂 幼芳姐開課了!】
從基礎訓練開始,接續以電視劇、舞台劇、廣告作三大分類,有系統的對於各種媒介平台之不同表演方式作表演教學
--
平日班:2014年3月4日開課,每週二晚上19:00~21:30
週末班:2014年3月2日開課,每週日下午14:00~16:30
詳情請上<大師學堂>
http://blog.xuite.net/godot/master
果陀劇場
http://www.godot.org.tw/
godot教學 在 本期主題設定為:職人劇或疫情時 - Facebook 的推薦與評價
小班教學#夏季抗疫全面9折#雙人行85折 教你發想殺手級創意 寫出自己的作品 刻畫出 ... 作品統整◇讀劇結業呈現線上官網報名: https://godot.org.tw/course/id/23 . ... <看更多>
godot教學 在 [程式] Godot做2D衝擊波效果的幾種做法- 看板GameDesign 的推薦與評價
說真的這版也太冷清了,
隔壁版每天上百個人在吵台灣為啥做不出ACG產業,
真的開來討論實作ACG的版一個星期才一篇文章,
實在讓人有點想苦笑 XD
人氣那麼低,讓我來灌個水吧,
如果圖片網址太長開不了可以看這裡
https://www.yhorng.com/blog/?p=384
這篇是要寫我知道做 2D 衝擊波 (shockwave)
的幾種方法。
衝擊波最常在爆炸時當輔助特效用,
有時會在動作遊戲的收刀效果看到,
就是一個擴散的圓環表現出空氣震波的感覺,
下面會列出三種(?)不同的實作方法。
方法A: 將單一圖片放大
先用 Paint.NET 畫出白色圓形,
背景是透明色的單一圖片,可以長得像下面。
https://www.yhorng.com/blog/wp-content/uploads/2021/05/shockwave-edge.png
Paint.NET 畫這類圖的時候,有幾個小訣竅。
- 用 shift + eclipse shape 可以畫圓
- 用 plug-in Effect -> Align Object 將物件置中
接下來有二種做法。
比較麻煩的做法是建立 Sprite Node,
將 Texture 指定成上面的圖片,
開啟 GDScipt,
在 func _process(delta) 依時間改變 scale.x / scale.y。
簡單 (不用GDScript) 的作法
是建立 Particle2D Node
1. 指定 Texture
2. Amount: 1
3. One Shot: true
4. Physical Material 建立 Paritcle Material
並將 Gravity 和 Directure 都設定為 0
5. Particle Material -> Scale -> Scale Curve
加入隨時間變化的scale曲線圖並從小拉到大
要讓畫面漂亮點,
可以更改 Color -> Color Curve 更改透明度。
或是 Hue Variation 改成紅綠紫火焰效果。
https://www.yhorng.com/blog/wp-content/uploads/2021/05/ezgif-7-b8b9a3353a57.gif
圖片解析度很差,抱歉。
方法B: 粒子系統 (Particle System)
先做一個光球,
用 Paint.NET 就是做一個白色圓形,
然後用 Effect -> Blurs -> Guassian Blur 模糊化,
素材自己做,版權不用愁。:)
https://www.yhorng.com/blog/wp-content/uploads/2021/05/spotlight_1_alpha_brightness.png
建立 Particle2D Node,
指定 Texture,Physical Material -> Particle Material,
然後 Particle Material 設定:
- explsion = 1 (所有粒子同時射出)
- 建立 Particle Material
- 關掉 Gravity
- Direction x, y, z = 0
- Direction -> Spread = 180 (朝四周發射出去)
- Amount 設定大一點
https://www.yhorng.com/blog/wp-content/uploads/2021/05/ezgif-7-3ecad24018b8.gif
要調整速度,
可以從 Initial Velocity (初始速度),Damping (阻泥)。
如果希望顏色越來越透明就改 Color -> Color Curve。
希望有帥氣的光暈可以從 Hue Variation 和 Color 透明色著手。
方法C: 著色器 (Shader)
https://www.yhorng.com/blog/wp-content/uploads/2021/05/ezgif-7-9e631a6b5967.gif
下面的 shader code 並沒有直接在畫面上畫東西,
而是用畫面上已經有的像素去取代目前的像素,
所以沒背景是看不出效果的,
因此上圖借了個背景用。
用著色器做出的衝擊波其實跟做水波作法是一樣。
1. 在需要做效果的最上層的 Node
(需要是 CanvasItem Node)
2. 加入 Material -> Shader Material -> Shader
點擊開啟 shader language editor。
3. 開始寫 shader language
<code>
shader_type canvas_item;
uniform float force = 0.0;
uniform vec2 center = vec2(0,0);
uniform float size = 10;
uniform float thinkness = 0.01;
void fragment()
{
float ratio =
TEXTURE_PIXEL_SIZE.x / TEXTURE_PIXEL_SIZE.y;
vec2 scaledUV = ( UV - vec2(0.5, 0.0) )
/ vec2( ratio, 1.0 ) + vec2(0.5, 0.0);
float mask =
( 1.0 - step(size, length( scaledUV - center ))) *
step( size - thinkness, length(scaledUV - center ));
vec2 disp = normalize(scaledUV - center) * force * mask;
COLOR = texture(TEXTURE, UV - disp);
}
</code>
Shader language 請看其他教學,
那是顯卡用的語言,簡單的說:
- 每一個 pixel 會 call fragement() 一次。
- uniform 跟 GDScript 的 export 一樣,
會在編輯器 Node Panel 看到該參數,
也可以在GDScript runtime 修改。
- 顯卡不適合做 condition 判斷 (if/while/for),
所以在 code 中是看不到的,比大小時用 step()。
- UV 座標指的是假設整個畫布長寬都是 1.0
(不管畫面是否真的是 1:1),
該 pixel 的位置會在哪,正中間就是(0.5,0.5)。
- scaledUV 是參考 ratio 算出的 UV
(因為 shockwave 是圓的,不是橢圓)。
- mask 是一個甜甜圈,
在圈圈裡的 pixel 我們才會改值 (disp > 0)
- disp 距離中心點越遠數值就越大。
- COLOR = 是修改目前 pixel 的顏色
- texture(TEXTURE, UV) 是取得
位在UV座標的 pixel 顏色
然後開啟 Node 的 GDScipt,
在執行期間更改 shader uniform parameter 的方法如下。
<code>
# increase size over time
var size = 0.0
material.set_shader_param("size", size)
</code>
雖然效果上 shader 做的最酷,single image 看起來很2D古風 (?),但是這跟遊戲風格
有關,太寫實也不見得好。
方法4: 其他方法
還有一種方法是覆寫 Node2D 的 func _draw(),
利用 draw_circle() 自己畫。
但是都用 Game Engine 了還自己畫有點找麻煩的感覺。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.109.66 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1620300978.A.289.html
... <看更多>