前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多材料耦合俄罗斯方块?胡渊鸣给「太极图形课」交作业了!

多材料耦合俄罗斯方块?胡渊鸣给「太极图形课」交作业了!

作者头像
机器之心
发布2021-10-26 15:58:03
5670
发布2021-10-26 15:58:03
举报
文章被收录于专栏:机器之心

这是一份太极图形 CEO 胡渊鸣与 CTO 匡冶忙里偷闲交出的「太极图形课」小作业—基于 Taichi 的软体俄罗斯方块游戏 demo,以下简称他们二人为“原野”组合。

不知道从何时开始一系列软体的俄罗斯方块视频在网上非常火。可惜的是这些视频基本上都是离线生成的,虽然看着很满足,但是其实没有太多游戏性。从传统的刚体、不能旋转的俄罗斯方块升级到软体,自然已经是巨大的提升;但是 “俄罗斯方块” 本身就是一个老少咸宜的游戏,少了交互性,还是会阻碍广大人民群众从中获得乐趣。

Youtube Up 主 C4D4U 软体俄罗斯方块系列视频

于是原野组合估算了一下,其实几万个粒子的仿真足以支撑整个游戏了。这样的计算量,配上 Taichi 编译器,是完全可以在普通机器上(甚至手机上)实时运行的。他们基于经典的 mpm99.py 对游戏进行了一个升级,使它支持液体、软体、弹塑性体等 2D 多材料仿真,并且可以在一台 M1 Macbook Pro 上超过 60 FPS 实时运行,就暂且将其命名为 “多材料耦合俄罗斯方块”,更多技术细节可以移步「太极图形」的知乎。

时间有限,原野组合的作品只能算是一个最小化的 proof-of-concept。还有一些功能没有完全实现,以及一些很明显的 bugs 需要修复,具体有哪些功能等着同学们添砖加瓦,我们文末揭晓。

然而,原野组合之所以交出这样一份作业,其实是为了赢得「太极图形课」的小礼物(没错,即使是老板,运营同学也没有“特殊对待”)。

「太极图形课」是由太极图形团队精细打磨,资深研究科学家刘天添主讲的计算机图形学入门实操课。课程于9月14日正式上线,每周二晚7点在「太极图形」B站进行直播,课程录播于次日发布。转眼五节课过去,Taichi 编程语言的基础语法,高级用法,以及调试和优化已经告一段落。10月26日(本周二)起将正式带领同学们跨入计算机图形学的大门,从最基础的程序动画讲起,覆盖渲染、软体仿真、流体仿真的基础知识,邀你学习、体验基于 Taichi 编程语言的图形学程序。

康奈尔盒的渲染-Ye Kuang

关联课程

11/02 第06讲:光线追踪的概念和基础

11/09 第07讲:光线追踪实战

布料仿真-Dunfan Lu

关联课程

11/16 第08讲:弹性物体仿真—时间和空间离散化

11/23 第09讲:弹性物体仿真—隐式积分和数值解法

Stable Fluid-Dunfan Lu & Mingrui Zhang

关联课程

11/30 第10讲:流体仿真—拉格朗日视角

12/07 第11讲:流体仿真—欧拉视角

  • 还没有实现消除和计分功能(可以试试使用 MPM 的背景网格,如果一行的 nodes 都质量 > 0,就可以考虑删除相关粒子啦。)
  • 还没有实现溢出以后的失败功能,这个比较简单...
  • 如果鼠标太靠近边缘,生成的粒子会在网格外。这一点在非 debug 模式的 Taichi 中是 undefined behavior,可能会导致程序崩溃。需要限制鼠标的范围。
  • 目前如果按空格键太快,会导致粒子粘连。这里需要做一个 cool down 的机制,这个也比较简单...
  • 目前绘制还是使用的上个世代的 CPU GUI 系统。这套 CPU GUI 系统是为了去年 GAMES 201 上课的时候大家各个系统上的兼容性的问题,我自己手写的 CPU 2D 软光栅化,性能自然上不去。随着 Taichi 升级到 0.8.0,一套全新的基于 GPU 的 GUI 系统 GGUI 逐渐受到用户的青睐。欢迎有兴趣的同学完成这个升级,全屏容纳更多的 particles。
  • 目前的程序还是需要 Python 才能运行的,有必要的话可以用 Taichi 的 AOT 技术去脱离 Python 运行环境。相关技术快手已经落地了,在快手移动端 App 的 “魔法表情” 里点开就可以使用。当然,如果你自己沿着这个思路做了个小游戏放到了 AppStore,那欢迎你邀请原野组合试玩。
  • (难)目前 MPM 相关的算法在处理软体边界的摩擦方面并不完全可控,难以设置一个很好的摩擦系数。如果你解决了这个问题,可以考虑直接投稿到 SIGGRAPH / JCP。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档