AI能写前后端代码,怎么写unity和ue呢
一段话说重点:这个还是简单的尝试,写写代码、做做模型,后面尝试更深入的AI与UE、unity等引擎的结合。
开头
ai的确比较擅长常见的前后端代码,脚本工具等。
现在的确有ue和unity的mcp,但是使用起来,距离实用也挺远的。
这里只是最近比较简单的一些尝试,比如ai写ue的代码,做ue的角色等,一个例子是幸存者肉鸽游戏。

AI写摩天轮代码
未来,ai应该能写好蓝图等,目前应该只能写部分c++。
我们项目一般使用unlua,在用ai写unlua代码的时候,是比较惨烈的,因为对unlua调用ue的接口理解很差,经常出现错误。用ai写纯lua代码还是可以的,比如之前我也用ai直接写游戏中6边形地图的代码。

这次尝试,是我想在ue中实现一个摩天轮的自动运动,摩天轮不是简单的一个模型直接旋转,实际上每个轿厢是围绕中心点在旋转。
我也知道,轿厢都是有3d模型的,让cursor写个代码,肯定控制不好游戏引擎素材的,所以我就提前创建好轿厢的蓝图,并且将unlua脚本准备好,还提前准备好了相关变量,然后给cursor解释。
给cursor的提示词:这个类是摩天轮的整体类,self.center是摩天轮中心点的坐标,M.BoxBP是摩天轮每个轿厢的蓝图类,self.radius是摩天轮的半径,请初始化12个摩天轮轿厢,以这个半径环绕center,记得摩天轮轿厢都是在竖直平面上排列的。
cursor生成的代码如下

运行后,还是出了一些问题的,所有轿厢堆在了一起,是因为spawnActor的方法,cursor把参数写错了,因为对unlua理解的不到位,这个可能需要优化cursor对unlua中ue接口的理解。
我比较容易的修复了这个问题。轿厢就能正确的围绕一圈排列了。
然后我让在tick中做旋转。
提示词:在tick里实现摩天轮轿厢的运转,self.cycleSecond是绕行一圈的时间,单位为秒,tick可以可以根据deltetime来进行轿厢的运转

摩天轮轿厢就能正确的运动了。



其实效果还可以,只要将模型换成真正的摩天轮轿厢,就能使用了。
这个用ai编程的过程,主要节省了自己去研究三角函数的时间,虽然这个没有很难,但也要自己算一会。
那么核心的经验是:AI可能不能理解上下文,那我就多提供上下文,多准备好蓝图等素材,规划好变量的使用,那么ai的代码可用性是很高的。
当然遇到了问题,还是要具备修复能力。这个case,我不介入修复的情况下,ai修复了半天也没成功。
AI肉鸽game
成品效果,这个是使用了ue的幸存者肉鸽游戏的示例工程。其中player角色是ai生成的。

此处为语雀视频卡片,点击链接查看:rogue.mp4
我是AIGC出三视图,然后用混元AIGC生成模型,做骨骼绑定,然后找了个跑步的动画,导入游戏就可以用了。
三视图->生成模型->骨骼绑定->动画->进引擎幸存者肉鸽玩法





还用混元生成了下宵宫,让宵宫也进UE,做幸存者肉鸽的主角


因为幸存者肉鸽的2.5d视角,所以角色精度要求不高,看着还是能凑合用的。
AI3D模型
aigc生成一个小老虎,拿进ue自己做了下骨骼绑定

然后在ue里刷一下蒙皮权重,刷的比较粗糙,就走一下流程

在ue里手k一下动画,专业人员是要去maya或者max搞的。


老虎就可以动起来了,因为蒙皮没有做好权重,所以会扭曲。

后来发现腾讯混元3d可以直接绑定4足动物,就试了一下

骨骼绑定效果还挺好


后来问了下美术同学,绑定和权重还是有一些问题的。不过说实话,精度要求不高的情况下,可能就够用了。
结语
这里主要探索一下ai写ue游戏时,一些提效的方式。
写unlua代码的话,现在还是问题比较多,后面值得研究,比如提供更好的api描述。
另外就是aigc生成角色模型绑定好进引擎使用。做做一般低精度的3d游戏原型够用了。