今天跟大家伙儿唠唠我最近搞的一个小玩意儿,灵感来自那部动画片《阿祖尔和阿斯马尔》。不是直接照搬剧情,我是想用程序实现点类似的感觉,就那种色彩鲜艳、充满异域风情的效果。
我琢磨着用什么工具毕竟不是专业做动画的,手头只有 Processing 比较熟。这玩意儿简单易上手,画点简单的图形还行。于是我就先用 Processing 搭了个框架。
先画了个背景,参考了电影里的一些配色,用了些鲜艳的蓝色和黄色,尽量让画面亮堂起来。然后,又用一些简单的几何形状,比如三角形、圆形,拼了个小城堡的样子。这城堡可不是欧洲中世纪那种,得有点阿拉伯风情,所以加了些尖顶和拱门。
接下来就是重头戏了,怎么模拟那种光影效果。电影里光线特别漂亮,层次感很强。我试着用了 Processing 的 `fill()` 函数,调整颜色的透明度,一层层往上叠加。还用 `noise()` 函数,给画面加了点噪点,模拟那种光线散射的效果。
为了让画面更生动,我又加了点动态效果。比如,让城堡上的旗帜飘动起来。这就是简单的正弦函数,控制旗帜的横向位移,让它看起来像在随风摆动。我还加了些星星,在夜空中闪烁。星星的闪烁也是用 `random()` 函数实现的,随机改变星星的亮度。
整个过程磕磕绊绊,遇到不少坑。比如,颜色搭配是个大问题,一开始调出来的颜色特别土,后来参考了一些配色网站,才慢慢找到感觉。还有,动态效果的实现也挺麻烦的,一开始旗帜飘动的幅度太大,看起来很诡异,后来慢慢调整参数,才让它看起来自然一点。
虽然效果跟电影里那种精致的画面没法比,但总算有点那个意思了。色彩鲜艳,光影效果也还可以,动态效果也让画面生动了不少。最重要的是,整个过程学到不少东西,对 Processing 的理解更深了。以后有机会,还想尝试用更高级的工具,做出更棒的效果。这回就当是练手了,哈哈!

还没有评论,来说两句吧...