编程|太极图形编程语言如何在ti.gui里表现3D模型

编程|太极图形编程语言如何在ti.gui里表现3D模型

同其他编程语言一样 , 太极图形编程语言有自己内置的标准库 。 不过它提供的是一个最小化的通用内置标准库 , 而我们的需求是广泛的 , 我们想要的很多功能未必就在标准库里 , 所以就要通过其他的扩展库来解决 。
我们在上一节介绍了如何在太极编程语言中创建可视化的用户图形界面 , 我们了解了ti.GUI 。 不过我们也介绍了 , 这个只能创建二维的图形 。 如果我们想要表现3D模型 , 应该做呢?难不成还用ti.gui吗?还别说 , 还真要用ti.gui , 不仅用这个 , 还要引入另一个扩展库来解决:Taichi THREE 。

Taichi THREE这是一个Taichi 的扩展库 , 用于将3D场景实时渲染成美观的2D图像(工作在进行中) 。 在Python中 , 需要通过pip来安装taichi-tina 。 引用的时候要加import tina语句 。 这个tina内置了一些常用的简单的3D特征 , 比如表现粒子 , 表现三角面网格 , 比如平滑着色 , 实时渲染体等等 。
而我们要做的就是利用这些内置特征 , 来构建我们的3D场景 , 最后再渲染表现在2D用户界面上 , 以便可视化 。 当然根据文档介绍 , 里面内置的3D属性并不算多 , 不过常见的属性都有了 , 所以能构建的3D场景也比较简单 。 既然要涉及到3D场景 , 那么首先要创建场景 。
创建场景 , 是通过scene = tina.Scene()代码来实现 。 然后就是通过tina.PBR来指定材质的金属度和粗糙度 。 比如我们可以指定参数metallic=0.6 roughness=0.2也就是金属度0.6粗糙度0.2了 。 然后就是载入模型 , 这个要用到tina.MeshModel('assets/monkey.obj') , 载入模型后 , 就可以在之前创建的场景中添加模型了 。
之后 , 就需要设置最基本的照明参数了 。 这里我们需要添加环境光 , 需要添加灯光位置颜色参数 。 这一切准备工作做完了 , 就是用ti.gui来表现我们构建的3D场景和模型了 。 也就是说 , 我们把3D模型的场景渲染到2D的ti.gui上了 。
【编程|太极图形编程语言如何在ti.gui里表现3D模型】所以 , 我们也了解了 , 既然ti.gui只能用于创建2D图形 , 那么我们即便 , 其实还是“降维”到了2D图形来表现 , 虽然这里的确渲染出了3D那种效果 , 不过依然是在2D界面上表现的 , 它并不具备3D模型的特征 , 和我们平常用的Blender或者其他3D软件中预览设计的3D是有差别的 。 当然 , 不可否认的是 , 这的确是3D库 , 所以它可以和3D软件比如Blender结合的 。 这个可以留到以后学习 。