粉丝47获赞215


温馨提示一下,耳机档的朋友们,请先把耳机摘下来, 不好意思呀各位,无兔兔是第一次在生存里面使用地形编辑器,有点手生,不好意思, 好,那我们回归正题,本期呢,我干的事情还是比较多的,我一共录了整整二十多分钟,这只是裁剪后的,就是有没有一种可能,我在这里玩生存的时候,我是懂起了胆子的, 因为我的手真的很深很深,不信你们看, 所以脸上已经没有笑容的无图图只好一点一点的搭了。 那么现在呢,又开始到了我们的第二个环节,那就是搭建这个楼梯了,因为呢,这边我那个万能图块里面我一直没有找到那个树叶,就是我找了好几次一直整不到那个树叶, 所以我只好专门整一个简陋的楼梯了。 那么现在呢,又到了我们的第三个环节,那就是搭建菜园,本期呢,我们只搭建了菜园的一小部分,下期呢,我们会把菜园搭完,然后去干另一个建筑。 本期视频就到这里了,拜拜。



你们有没有尝试过去雇用 ai 帮你开发一个完整的工具?最近我对于三 d 打印非常的着迷呢?作为一个 minecraft 的 老玩家,我总有一种执念,想把自己在游戏中见过的那些神奇的地形或者建筑 打破次元壁,以实体的形式把它们摆在我的工作桌上。那通常我会用建模软件去手动制作模型。但熟悉 minecraft 的 朋友们都知道,游戏中的世界是由算法生成的随机美学。如果我想要手动去堆积那么多的方块的话, 不仅麻烦,而且非常耗时间,很难还原那种自然生成的美。于是我开始在网上寻找有没有现成的生成器, 那好消息是确实有,而且他们都是免费的。败消息是你们看这些模型生成的只是一个完整的渲染模式的东西,完全没有方块的纹理细节。那如果你想要把这些东西拿去三 d 打印的话, 这种模型打印出来就像是一块光滑的冰块或者塑料,就毫无质感可言。 还有一些大神的作品,他们喜欢用颜色去代替方块细节,但我觉得这都不是我想要的。我想要的设计是生成一个足够宏大的地形,但每一个微小的方块都需要有一定的辨识度和细节。哪怕我不上色, 只用最纯粹的单色数值打印出来,我们也能通过表面的凹凸光影一眼就能看出这个是 minecraft 的 世界。最近用 gpt 和 gemini 辅助编程已经风靡了全网,我也想趁这次机会验证一下一个不懂算法和编程的 up 主, 能不能用 ai 开发出来一套自己理想的工具,整个开发过程持续了七十二个小时,它包含了我自己的构思与 g p t。 的 拉扯设计,以及到最终成型的全部过程。那希望能给屏幕前还没有尝试过用 ai 开发工具的朋友们一些启发。那好了,让我们正式进入我和 g p t 的 第一次握手, 哈哈哈。 对外,一切都开始的非常顺利,就这是我给 gpt 安排的第一个任务,按要求分布游戏中的三种基础方块,它们分别是石头、泥土和草方块,并且我要求可以用任何自定义的方块去替换这些方块。那 gpt 只用了两分钟, 真的就是两分钟他就交卷了,安装运行完全没有任何问题。虽然这只是最简单的第一步,但看着屏幕上这些方块乖乖的按照我制定的规则排列,这种言出法随的感觉,我觉得真的是太棒了。 他甚至还很贴心的给插件取了名字,还署名了作者就是你与 gpt 的 共同作品。这让我感受到了一点点来自于 gpt 的 幽默和浪漫。 于是我就乘胜追击,像堆积木一样让他继续生成树干和树叶。但紧接着第一个现实的问题就来了,那也许是我方块的数量太多,当我转动视角的时候,画面出现了严重的延迟和卡顿。 看来我需要给 gpt 一 些性能优化的建议了,所以我告诉他能不能把我看不见的中心部分全部挖空。那值得一提的是,这里我看到了 gpt 主动思考的能力, 我只给了他一个模糊的挖空之灵,而他却自主推导出了一个剔除看不见的面这样的一个执行层面的策略,并且迅速的给回了我代码。 这让我突然意识到,此刻的我更像是一个产品经理,而 gpt 更像是我的一位知心合作者。 我不需要去纠结具体的语法,我只需要告诉他我要什么,他就会负责思考怎么做。那第一天的工作就在这种兴奋和不断成功的喜悦中圆满的结束了。你可以看到这是我今天生成器所能做到的所有东西。 当然现在这里还有很多渲染的 bug, 这是因为两棵树的树叶他们重合在了一起,我明天会去修复他们,一定的会去修复他们。 然后就是我把一些方块儿替换成了 minecraft 里面这些方块儿应有的样子,你可以看到草方块儿和泥土方块儿我都已经替换好了。这就是第一天我所做到的所有的东西,然后明天再见。 现在我们的开发来到了第二天,然后我觉得我需要下场去看一下这个 bug 的 原因出现在哪里了,因为现在它不光有一些重叠的方块没有解决,还误删了很多 嗯,正确的方块,所以我开始担心它会出现 ai 幻觉,它会一本正经的给你一段完全跑不通的代码,并且坚称自己是对的。就这个时候我就意识到不能只动嘴了,我得亲自下场看看代码里面到底发生了什么。 幸运的是,像我刚刚说的 g p t 写的代码就是带有非常详细的中文注示,只要你有一点点代码基础,可能是上学的时候选修过一门呃, c 语言或者 python, 那 你绝对可以读懂个大概,也可以找到它写的有问题的地方。那在几百行代码里,我终于揪出了它的那个逻辑漏洞, 他对于方块的坐标判断有一处递级失误。那我赶紧修正了这个问题,还顺手更新了树木的随机形态,以及增加了地表更自然的地形起伏。 我觉得这次混乱的解决体现了现在微妙的人际关系,就是 g p t, 他 可以自己思考,然后跑得很快,但偶尔也会迷路。就目前这个阶段,人类还是要负责把握好方向盘。那你会觉得这就是我第二天遇到的所有困难吗? no, 真正的挑战现在才开始。 那第二天我的另一个重要任务是要我设计让每一个方块都具有可打印的细节。我尝试了提取法线置换贴图之类的操作,但结果都令人很不满意。 所以我最后决定了用最朴素的办法,那就是亲自设计每一个方块的三 d 打印模型。但这里有一个三 d 打印的死穴,叫做 many fold, 流行这个概念。还有空枪。简单来说就是所有的三 d 打印机都讨厌空心的夹层。如果我为了追求细节,让两个方块的凹凸纹理随便重叠,模型内部就会出现无数细节。空枪这个打印时会导致模型开裂,甚至导致打印失败。 追求极致的细节却带来了这种致命的结构问题,这种两难的境地让我当时非常难受。 就在傍晚吃饭的时候,我突然灵光一现,就等等,为什么我只能生成一次?难道我不可以用二次生成的方式吗?那所谓的二次生成就像是盖房子, 你可以先让 gpt 把毛坯房盖好,然后再根据你的需求去进行一些精装修。比方说我想种花,想铺一层雪地,想挖矿洞,都可以在基础地形上去做加法。那对于那些讨厌的表面细节呢? 我设计了一套逻辑,就是对所有的方块进行一次全身扫描,只有那些表面暴露在空气中的面,我才给他套上一层精致的带有纹理的壳,而内部呢依然还是保持实心,那这样子的话他依然是严丝合缝的,也不会有空腔的产生啊。我们今天真的处理了非常多 困难的工作,然后解决了很多的难点,然后我刚刚想出来的这个二次生成的这个逻辑也是被验证行了通了。大家可以看到我现在如果生成花的话, 它就会在我们已经生成的地表上面去再次生成花,如果我们想做打印的细节的话,就给他选择这里的生成壳,让我现在没有这个壳的模型,所以我用物体本身作为壳的模型可以看到它,那它们贴的地方是没有壳的。 我觉得今天的进展也是非常不错,那我们期待明天看能不能把整个插件做完。 呃,经过我昨天晚上的一个思考,我觉得做壳这样的一个想法, 虽然说听上去还不错,但是实际上,嗯,也有一些问题,特别是在做细节这方面。然后我也在测试有没有其他的方式,不让整个运算这么重,或者说不让生成的东西有那么多,因为它会显著的影响你 预览的一个速度,包含你生成的一个成功率。那现在我就觉得我不能。既要又要就是如果我这个插件既可以用于制作一些 啊渲染类的项目,也可以制作一些三 d 打印类的项目的话,我希望把它们分开,因为我觉得昨天那些二次呃生成这样一个逻辑还是可以保留的。 呃,就比方说我先可以生成一些用于渲染的带材质的方块,然后你预览之后觉得没有问题, 然后我们再去二次生成把这些方块都替换掉。就这听起来很折磨人对吧?但实际上确实挺折磨人的,但是在产品设计里推翻昨天的自己 只是家常便饭罢了。那这个时候我意识到给成千上万个方块去单独套壳,这个计算量可能会让整个电脑的性能直接爆炸。我不应该去为了细节牺牲太多的性能,那何况他甚至不是现在的最优解。 那我觉得我应该庆幸我还在开发的早期阶段,那如果一旦开发到了中期或者晚期要推翻好几天的东西,那这个时候才是最让人心态崩溃的。打印准备的模块还挺成功的。嗯,特别是现在这样,我只需要去设计每个方块他的样子就行了。我不需要设计那么多那么多的 打印外壳,也不需要去呃,仔细的想他们的逻辑。呃,让用户选择自己是想渲染还是想打印? re mesh 网格成 go, 这个就是我最终的答案。那我不再纠结于单个方块,而是在输出前把整个地形融合成了一个整体, 虽然这意味着昨晚的部分工作被白费了,但是为了这个工具的延展性和稳定性,我觉得它是值得的。 到了第三天的下午,核心的逻辑已经全部跑通,剩下的时间我给自己和 gpt 安排了一些相对轻松的杂伙,比方说创建辅导啊,矿洞啊这些更有趣的生态预设。 整理一下我之前乱糟糟的 ui 界面,然后把所有打印参数给标准化,以及我要去设计完我所有的打印快 好了,经过七十二小时的极限开发,甚至有过推翻重做,现在我想向你们展示的是我人生中的第一次开发这款伸缩器的一点零形态。 好了,创作流程你们也看完了,最后想花一点时间去聊一聊我这几天的真实感受, 就首先这七十二小时我觉得过得比过去一个月都要充实很多,就这种感觉真的很奇妙,就像你小时候看哆啦 a 梦,你只有一个非常模糊的愿望,但是现在 g p d 就 好像那个四次元口袋,只要你的逻辑是通的,他就能尽可能的满足 你。就这种想到了就可以实现的掌控感其实给了我巨大的信心,我坚信这次开发应该是能够成功的。 关于和 ai 合作的技巧,其实网络上已经有非常多的呃教程或者资源供大家去参考,但是这里我有两点想要分享给大家的,就是第一点就是不要指望他能完全代替人类思考,就我觉得我们现在的角色更像是产品经理甚至是导师, 你要耐心的告诉他方向,甚至在他犯错的时候,你需要有能力去下场纠正他,如果他反复的在一个错误里打转的话, 一定要去人工介入,不然他会越来越疯狂,甚至出现幻觉。第二就是去多重启对话,就每一个 gpt 独立的对话窗口都是有记忆上线的,当你的开发来到中后期的时候, gpt 就 会开始变得迟钝呀,降智啊之类的,甚至是直接死掉。就这个时候你千万不要慌装,慌张就保存好你最新版代码,然后开一个新的对话窗口,把代码丢进去,让他读懂,就可以 clean up 他的记忆,然后继续你的开发啦。 这次开发对于我来说只是一个开始,那未来我还想做更多有趣的工具,把数字世界的创意带到现实中来。 那如果你对这个生成器感兴趣的话,我会把下载链接放在评论区。如果你有一些很好的 id 啊以及想要开发的工具,也欢迎在评论区与朋友们交流交流。那别忘了关注我是凯,我们下期视频再见!