这系列文章主要是记录博主在互动媒体课程中的收获和体会
这篇文章记载的是博主再互动媒体课程中最后一个大作业的过程与体会,如有不妥之处还望看官们批评指正。
这一次我们要完成的是一个简单的绘画app,要求体现出码绘的特点以及和传统绘画的差别。
拿到题目的时候有些纠结,手头上能做到可视化的语言有C++的OpenGl,matlab的GUI,课程中学习到的p5.js,还有C#的Unity。显然,选择何种语言取决于我们想要做到的效果。matlab是首先被我排除的,虽然界面设计会非常方便,但是实时扑捉鼠标位置绘图之类的并不是它的强项;接下来排除的是OpenGL,界面设计上能出效果,但是一些交互控件的绘画和书写的效率很低,也不适用;p5和unity都是完成这次任务的好选择。虽然看到很多同学运用p5做的风生水起,我最后还是选择使用最近一直在学习的unity进行制作。一方面是我更加了解unity,一方面是我是在对于p5的“找坐标点绘制图形”有些心理阴影(在之前的学习中花费了大量的时间结果却差强人意)。所以最后选择的是unity。
作为一个unity入门选手,我还是收集了不少资料才开始动工的,这里要感谢优快云的博主神码编程,他的程序和一些想法给了我很大的启发,我也使用一些他提供的素材。博主的主页连接会在结尾po出。
说了这么多前言看官们大概听腻了,我先放一下最终的运行效果。
基础界面完成的主要功能有:画板显示 笔刷样式选择 笔刷大小选择 笔刷颜色选择 取色器 保存 背景颜色选择 清屏 和特殊效果选择。了解Unity的人可能知道, 这些线束出来的按钮、图片和滑槽,在unity编辑器里面是可以通过拖动到2d画布的方式来设计界面的,这也正是我没有选择p5的便捷之处(当然,控制他们的脚本和相关参数的调整还是不能偷懒的))
因为unity的代码又碎又小,所以我这里不准备全部贴出,主要做逻辑的介绍和效果的展示。
首先是一系列笔