华南理工大学论坛|23度空间

 找回密码
 注册(开放注册)
搜索
查看: 7575|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2023-7-16 22:36:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  同其他编程语言一样,太极图形编程语言有自己内置的标准库。不过它提供的是一个最小化的通用内置标准库,而我们的需求是广泛的,我们想要的很多功能未必就在标准库里,所以就要通过其他的扩展库来解决。



  我们在上一节介绍了如何在太极编程语言中创建可视化的用户图形界面,我们了解了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上了。



  所以,我们也了解了,taichi既然ti.gui只能用于创建2D图形,那么我们即便,其实还是“降维”到了2D图形来表现,虽然这里的确渲染出了3D那种效果,不过依然是在2D界面上表现的,它并不具备3D模型的特征,和我们平常用的Blender或者其他3D软件中预览设计的3D是有差别的。当然,不可否认的是,这的确是3D库,所以它可以和3D软件比如Blender结合的。这个可以留到以后学习。
您需要登录后才可以回帖 登录 | 注册(开放注册)

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长电话:0898-66661599    站长联系QQ:7123767   
         站长微信:7123767
请扫描右边二维码
www.jtche.com

小黑屋|手机版|Archiver|华南理工大学论坛 ( 琼ICP备2022007678号 )

GMT+8, 2024-5-6 07:45 , Processed in 0.092422 second(s), 14 queries .

Powered by 校园招聘信息

© 2001-2020 华南理工大学论坛校园招聘

快速回复 返回顶部 返回列表