今天跟大家唠唠我最近搞的这个“女子拳击比赛”的项目,从开始到完成,那真是累并快乐着,各种踩坑,各种填坑,现在回想起来,还挺有意思。
想法很简单,就是想做个女子拳击比赛的视觉呈现,用代码把那种力量感和速度感模拟出来。但是真动手的时候,才发现事情没那么简单。得找素材!
- 找素材,真不容易!
我先是在网上搜罗各种女子拳击比赛的视频,图片,还有一些相关的文字资料。花了老半天,总算收集到一些,但是质量参差不齐。有的视频太模糊,根本看不清细节;有的图片角度不没法用。后来我干脆自己录了一段,找了个朋友对着镜子比划了几下,虽然有点业余,但好歹能用。
有了素材,接下来就是怎么把这些素材“吃”进代码里。我用的是Processing,一个比较简单的编程语言,专门用来做视觉艺术的。之前学过一点,但是也好久没用了,边学边做,磕磕绊绊。
- Processing,我的老伙计!
先把人物轮廓勾勒出来,这步最费时间,一点一点抠细节。然后就是动作的模拟,这个我参考了网上的教程,用一些简单的线条和色块来表示拳头的轨迹和身体的移动。刚开始的效果惨不忍睹,就像两个火柴人在打架。
为了让画面更真实,我加了一些特效。比如拳头打到对方身上的时候,会有一点模糊的效果,增加冲击力。还有就是背景,我用了一些动态的线条和颜色,营造一种紧张刺激的氛围。
- 特效,让画面动起来!
最难的还是动作的连贯性。拳击比赛的动作非常快,要让代码模拟出来,必须保证每一帧的变化都很流畅。我尝试了很多种方法,最终选择了关键帧动画。就是把几个关键的动作画面做然后让程序自动生成中间的过渡帧。这样虽然麻烦一点,但是效果好多了。
搞了大概一个星期,总算把基本的效果做出来了。但是离我的目标还差很远。画面太单调,缺乏细节。我又花了两天时间,给人物加了一些阴影和高光,让他们的轮廓更加立体。还加了一些粒子效果,模拟汗水和灰尘。
- 细节,决定成败!
我把所有的代码都优化了一遍,提高了程序的运行效率。然后,打包成一个可执行文件,就可以在电脑上运行了。看着屏幕上两个虚拟的拳击手你来我往,虽然还很粗糙,但是心里还是挺激动的,毕竟是自己一点一点敲出来的。
这回的“女子拳击比赛”项目,虽然只是一个小小的尝试,但是让我学到了很多东西。不仅复习了Processing的知识,还了解了动画制作的一些基本原理。更重要的是,我体会到了从无到有的乐趣。以后有机会,我还会继续尝试其他的视觉项目,把代码变成更有趣的东西。
这回实践让我明白,想做出点东西,就得不怕麻烦,一点一点地抠细节,不断地尝试和改进。也别忘了,多看看别人的作品,学习他们的经验,这样才能少走弯路。
还没有评论,来说两句吧...