原标题:如何用Processing制作出VR效果?
近年来,Processing的出场频率越来越高。
在艺术与科技相融合的大背景下,Processing作为一个开源免费的编程语言,被众多艺术家、设计师、以及艺术爱好者广泛应用,也逐渐被纳入国内外名校的课程中。
Sayama 作品 来源:OpenProcessing
在交互设计和平面设计中使用Processing,这个想必大家都已经很熟悉了,现在有很多同学也会在作品集中加入Processing作品以展示自己的综合能力。
但不知同学们是否了解,Processing还可以做出三维立体的动画和效果,应用到VR当中。
汉艺L同学 VR作品集截图获金史密斯 virtual and augmented reality MA offer
本期内容,老师就从2D转换到3D世界,教给大家如何用Processing制作出VR效果。
|本期分享导师|
Darren
汉艺国际北京校区 工业交互学部 基础软件讲师
悉尼科技大学 计算机科学与技术 BA
La Strada 网站运营和设计师
1
我们熟悉的 Processing
在进行3D效果制作之前,我们先来回顾一下熟悉的Processing操作方法。运维管理平台
比如利用Processing画出这样的圆:
Processing中范例程序Array2D
我们可以通过循环绘制直径相同的圆,并控制每个圆之间的间距大小,在此之上制作出一个亮度渐变或者说灰度值逐渐增大的效果,来制作出图中的效果。
除了画圆,还可以画星,比如下面这张:
Processing中范例程序Star
首先绘制不同形状的图形,如上面的小三角形、锯齿状的圆形以及五角星。
在绘制出来后,对旋转的角度和位置进行计算,使用不同的函数实现不同的效果,像上面这种效果需要使用到三角函数。
编程嘛,偶尔也会使用一些数学知识,毕竟学了数学也不能只用来买菜~
还可以让图形跟着鼠标动:
Processing中的范例程序AccelerationWithVectors
在实现图形自动旋转的基础上,更改一下圆心的位置,就可以让图形在跟随操控进行移动的过程中保持旋转。
这里使用的代码,除了设定圆的自转角度和速度之外,还设定了圆心,使其跟随鼠标一起移动。同时还设定了跟随的延迟,这样会产生一种拖拽的感觉,更接近现实世界。
2
在Processing中做3D效果
接下来,我们来看Processing中的3D效果。
先看一下这个立方体:
Processing中的范例程序TextureCube运维管理平台
这里使用的图片都是柏林电视塔,要做出这个效果,需要绘制出一个3D图形并将图片加载到每一个面上,通过鼠标或者其他装置控制查看不同的效果和图形。
如果懂得代码,也可以使用六张不同的照片来展示需要的效果。
众所周知,二维的世界是由点、线、面组成的,也就是X轴和Y轴,如果想要组成三维世界,就需要增加一个Z轴。
Processing中有两种方法来绘制三维,一种是默认使用的二维渲染(JAVA2D),这种方式会非常精确,但是速度会很慢;
还有一种是P2D,会快一些,但是质量相对偏低。
当然大家也可以改成三维模式,叫做P3D或者OpenGL,用来画出额外的Z轴。
图源:《爱上Processing》
下面的作品基本是3D效果结合鼠标控制,用鼠标控制视角的转动可以看到不同的效果和呈现方式。
Atsushi Tanaka 作品 来源:OpenProcessing
再更进一步的话,可以使每一个球变成一个另外的图案,例如下雨天的场景,这只要更改一下背景颜色和球体大小就可以做到。
3
VR效果制作教程
到这里有同学要问了,不是要说Processing和VR之间的关系吗,怎么到现在还没提到VR呢?运维管理平台
其实VR——虚拟现实世界,也存在三个维度,也就是上面提到的X轴、Y轴、Z轴。在对3D有了了解后,理解VR会更加容易。
本次的VR程序是基于Processing开发的,运行环境是在Android手机中。
首先打开Processing IDE,并在右上角模式添加中选择Android,没有这一选项的同学可以在添加模式中下载一个Android模式。
这是我们已经写好的代码,并且引入了 一个VR模式同时进行编译。
在这里可以看到有导出Android文件的选项,会导出一个名为android的文件夹。
接下来,我们要做一点硬核的东西了。
同学们需要安装Android Studio这款软件,下载安装的时候要注意将环境变量和安卓驱动都安装上,不然可能会发生无法读取的问题。
紧接着会有这样一个界面:
然后在左上角打开刚刚名字是Android开头的文件夹,再打开上面RUN里的Build APK:
这时会生成一个安装包,我们通过数据线发送或者微信发送将其传输到安卓机上,操作就基本完成了。
下图就是用手机演示VR效果展示,如果用Google的Cardboard演示的效果会更好。
跟着教程走下来,也许同学们会发现用Processing制作VR效果也并没有那么难。运维管理平台
在教程的基础上展开来想,我们在Processing中是使用鼠标来控制图形的移动和形状的改变。
那么在手机上,手指就代替了鼠标,因此利用类似的方法,我们可以尝试制作Android手机小游戏,在手机中实现简单的交互效果。
学习代码,可以通过做出这样有趣的小成果,提升学习的成就感。
今天主要是围绕着Processing来讲的,除了Processing,JAVA和Python等也会应用到艺术设计领域中,但Processing相对简单。
其实有些同学们对编程和代码心生抗拒,多少是因为陌生感而不是编程语言本身的难度。
所以今天分享的目的,除了教大家一个具体技能之外,还想要告诉大家:代码是帮助设计师展现想法的工具,在代码的帮助下,我们可以更自由地把头脑中的方案带入现实。
掌握 Processing ,开启新世界大门
责任编辑:
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。