谈谈Processing 3D世界 六

六六大顺,都到六了嚯~

之前仅仅一个cube的顶点和UV就快把我们弄残了,这样下去肯定不是办法,更别说一些复杂的网格对象。

所以我们现在就来说说如何向Processing导入网格数据。


一般来说,我们不会一个点一个点的定义一个物体,这样做太辛苦,也太单调。好在米国人又开始拯救世界了,工业光魔、皮克斯那些鬼人已经发明了一批又一批的先进工具用来制作网格。据说程序猿喜欢用Blender,这是什么鬼不太懂。反正我用Maya。

谈谈Processing 3D世界 六_第1张图片

怎么样,狂拽酷炫吊炸天!
当然你也可以用3DMax来建模。好了什么软件无所谓了,能建模就行。
神马?你妈没教过你建模?没关系,你也可以去网站上下载一些别人建好的模型。钢弹、Loli、御姐应有尽有。
我一会也会提供给你几个。


step1 建模

打开Maya。(咦为什么要打开Maya,我们不是在谈编程的吗?)

确保你在多边形模块下。
首先我们在maya中建一个cube。


菜单->创建->NURBS基本体->立方体(取消交互式创建,再点击立方体)


谈谈Processing 3D世界 六_第2张图片

好啦一个cube就建好啦,囧。(为了一个cube我们前前后后忙乎了多久?有了工具,就是不一样!)


step2 展UV

NURBS对象需要转换成我们熟悉的多边形对象才能展UV。

菜单->修改->转化->NURBS到多边形 (点击后面的一个小方框,会弹出一个转化选项框)
选择转化类型:三角面 (我们的显卡喜欢三角面)
细分方法:计数
计数:2

点击应用,然后关闭选项框。
谈谈Processing 3D世界 六_第3张图片
这样,这个cube就转化成和我们之前用程序写的那个cube一毛一样啦。并且这个cube系统已经自动帮我们布置好啦UV。

这就是王的力量...哦不,工业的力量呀!

想要查看UV,框选中cube对象,菜单->编辑UV->UV纹理编辑器

谈谈Processing 3D世界 六_第4张图片

注意这里cube的6(一个12个三角面)个面的UV是重合的。迷糊的同学,请查看第三节知识。

step3 导出obj

我们的模型做好了。接下来就要把它导入Processing,这才是我们的最终目的。

那么如何导出数据呢? -- 我们可以使用obj这个格式。


obj文件是什么?

度娘为您解惑:
OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导,也可以通过Maya读写。比如你在3dsMax或LightWave中建了一个模型,想把它调到Maya里面渲染或动画,导出OBJ文件就是一种很好的选择。目前几乎所有知名的3D软件都支持OBJ文件的读写,不过其中很多需要通过插件才能实现。


度娘解释二:
OBJ文件是一种文本文件格式,比起二进制文件为主、连每个块的用途也得试探来试探去的3DS,文本文件为主的OBJ对我们更友好。与3DS文件的树状[块结构]不同,OBJ文件只是很单纯的字典状结构,没有块ID来表征名字而是简单地用易懂的表意字符来表示。总之看上去是赏心悦目的样子。。。 


好了,我们知道obj可以导出模型数据,而且结构简单。最重要的是他是文本文件,我们可以直接拿记事本、nodePad+查看编辑。同时Processing也有良好的外部文件编辑功能。

一切万事具备,我先来规划规划。
step4 研究obj文件格式
step5 将文本读入processing
step6 编写obj解码模块
step7 绘制obj模型对象


我们先将cube从Maya导出存储为obj文件。这里要注意导出obj文件前,先将要导出的网格三角化一下。还记得吗?我们之前选择的绘制模式是三角面(TRIANGLES)。我们的显卡喜欢三角面,欲罢不能。


在maya视口中选中我们的cube,准备放技能:

菜单->网格->三角化

好啦,现在我们的cube就跟我们之前劳心劳力定义的顶点数据一样啦,那可是湿湿的一大坨呢。


确保选中我们的cube

你可能感兴趣的:(Processing教学,processing,3d,图形,网格)