Chiro Visuals 这家伙这两天在推特上丢出了个新项目——一个完全程序化的常春藤和无花果树生成器。我点进去一看,好家伙,纯在浏览器里跑,用的就是 Three.js。也就是说,不用装任何软件,你打开网页,每一片叶子、每一根枝条、每一条藤蔓都是实时生成的,不是预置的模型拼凑,而是真真正正的“长”出来的。
说真的,这种实时程序化植物系统,换成以前要么得在 Unreal 或者 Unity 里折腾好一阵子,要么就得掏钱买插件。现在有人直接把它搬到浏览器里,还开了源,有需要的老哥直接 GitHub 上扒下来就能用,这不得给个三连支持?
![]()
好了,下面我把这个生成器的情况拆开,一条一条说清楚,方便各位判断这东西到底值不值得折腾。
首先,它是怎么运作的?你可以在任意一个三维网格表面上画出一条路径,然后看着程序化藤蔓沿着你画的线一路疯长。这个过程中,整个植被的外形完全是动态算出来的,没有明显重复感,看着比较自然,不会出现那种“同一个树叶克隆了一百次”的廉价场面。Chiro 自己的说法是,每一片叶、每一根枝丫、每一根气根都是实时演算产物。我实测没法亲手跑(毕竟我只是个码字的),但从他放出的演示来看,藤蔓的攀爬姿态确实挺灵的,不是那种死板的“贴片藤蔓墙”。
接下来,生成器里有哪些可调参数?Chiro 列出来的选项包括 model(模型基面)、growth(生长形态)、leaves(叶子密度或大小)、shape(整体轮廓控制)、look(视觉风格倾向)、wind(风场模拟)以及 growth animation(生长过程动画开关)。这些参数具体到数值范围他没展开细说,但光看条目就知道,日常做藤蔓缠绕效果时最让人头疼的那几个变量基本都覆盖了。比如风场模拟,如果你打算让藤蔓在动态场景里轻微晃动,这一项就直接省掉了额外绑定骨骼或手调动画的功夫。生长动画模式则意味着你可以把藤蔓从无到有的过程录下来,用在过场或者建筑漫游里,不至于像用静态模型那样生硬。
此外,这玩意儿目前的短板也很明显:暂时缺少季节变化、花果细节和苔藓斑块。但 Chiro 的后续计划里已经把这些列在待开发清单上了——包括季节性的色调渐变(比如秋色变黄变红)、花朵和浆果的生成,以及苔藓覆盖效果。换句话说,如果你现在看这个生成器觉得“还行但不够完整”,那可以先关注着,等这些功能实装后整体完成度会再上一个台阶。不过以开源项目一贯的进度,啥时候能落地就得看社区贡献或者 Chiro 本人心情了,这点急不来。
另一个值得顺带提一嘴的点是:这已经不是 Chiro 第一次拿 Three.js 搞事情了。之前我和同行就聊过他的一个实时降雪系统,同样是在浏览器里跑,雪花的飘落堆积效果看着非常舒服,完全不像那种“白色贴图循环播放”的糊弄学产物。翻翻他的推特账号,你还能发现一堆基于 Three.js 和 WebGL 的开源试验品,每一个都像是小巧的工具箱零件,单独拎出来都能给搞 3D 创作的朋友省不少事。
所以综合看下来,这个藤蔓生成器到底适合谁用?它明显是冲着需要快速出植物缠绕效果的美术师和 3D 创作者去的。如果你经常需要在建筑墙面、栅栏、树干之类的对象上添加藤蔓元素,又不想每次都手动摆放模型或者和节点编辑器死磕,那这个生成器能帮你跳过大量重复劳动。如果你只是偶尔需要一两次藤蔓效果,那它可能更多是尝个鲜,毕竟现在的功能还没有到“一键出片”的地步。但考虑到完全开源且不要钱,哪怕是拿来学习程序化植被的底层逻辑,也算值回电费了。
顺便吐个槽:这种纯浏览器运行的实时生成器,最大的命门永远是性能。我还没看到他公布具体的三角面数或者帧率表现,但用脚趾头想都知道,如果场景里同时长出几百条高精度藤蔓,浏览器标签页怕是能直接卡成幻灯片。各位如果打算上手试,建议先从低面数的网格开始画路径,别一上来就拿高模做攀爬实验,免得风扇狂转。
最后再啰嗦两句。过去我们也分享过一些同样基于 Three.js 的神奇项目,比如 Andry Déouzé 做的浏览器小游戏、Physiotherapis 那套针对颅骨和颅颈交界区的 3D 形态度量模拟平台,还有 Dan Greenheck 的海洋渲染系统。这些玩意儿虽然方向完全不同,但都指向同一个事实:如今的浏览器图形能力,配合好的算法,已经能干很多以前只有本地引擎才能吃的活了。Chiro 这个藤蔓生成器,正是这条路线上的又一个务实尝试。
如果你对这类开源项目持续关注,不妨去 Chiro Visuals 的推特/X 账号蹲一蹲更新,顺便看看他以前的那些 Three.js 实验。说不定哪个零件就能直接塞进你的项目里,帮你省下半条命的肝度。行了,今天就唠这么多,剩下的你们自己去 GitHub 上扒代码吧,我继续去肝我的推文了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.