这篇介绍unity3D的AIGC工具,Unity Muse,实现文本生成材质、动画、聊天等功能。
一、关于Unity Muse
Unity Muse Unity Muse:利用 AI 释放您的创造潜力 | Unity
利用编辑器内置的 AI 更快地将你的想法变成现实
使用Unity Muse,您无需离开Unity编辑器即可找到所需内容。使用项目感知、编辑器内聊天获取解决方案以及生成式 AI 工具来构建和调整您自己的资产和动画
注意:Unity Muse是收费的 30美元/月,但给与了30天的免费试用,时间足够完成下列学习内容。
二、安装Unity Muse 包
1. 打开Unity Hub,新建一个Unity 2022.3.XX 长期支持版的Universal 3D 项目,选择 Universal 3D Sample,点击右边 Download template 按键,等待下载完成后,输入项目名称,在点击Create project按键,等待Unity Editor界面打开;
2. 打开Unity Muse的网页 Unity Muse:利用 AI 释放您的创造潜力 | Unity, 点击右上角的用户icon,登录自己的Unity 账号,如下图,
3. 在上述网页,向下到 订阅计划 部分,见下图,点击免费使用中的 开始使用 链接,打开网页这个网页:https://muse.unity.com/en-us/explore
4. 在上述网页中点击 Chat 内容的 Learn more,在弹出窗口中点击” Install the Chat package" 按键,直至弹出窗口提示要在Unity Editor窗口中打开吗?点击打开 Unity Editor 按键
5. 在Unity 窗口中弹出了Package Manager窗口,提示当前要安装 com.unity.muse.chat 安装包,点击 Install,见下图,等待安装完成
直接安装Chat安装包:
如果上述网页Unity Muse 网页打不开,可以直接在Unity 窗口中点击 Windows > Package Manager,在打开的Package Manager窗口,点击左上角 “+”按键,在下拉菜单中选择 "Add package by name", 见下图:
在弹出的编辑框中输入:com.unity.muse.chat,在点击 Add 按键,等待安装包安装完成
6. 安装完成后,在Unity界面的主菜单会出现 Muse,点击Muse菜单,再点击第一个Explore Muse子菜单,弹出如下图窗口,其中Chat是高亮显示,表示这个安装包已经安装了,后面的Sprite, Texture、Animate等是灰色显示,表示安装包还没有安装,一次点击下面的 Install 按键,会弹出 Package Manager窗口,如上图所示,但是安装包的名称改变了,重复第5步操作,安装提示的安装包。
7. 安装完Sprite, Texture、Animate的安装包后,Eplore Muse的界面如下图所示,同时在主界面的 Muse菜单下,会多出四个子菜单,现在完成了Muse的安装
提示:如果上述链接不工作,可以仿照上述直接安装Chat安装包,分别输入下列安装包名称:
com.unity.muse.sprite
com.unity.muse.texture
com.unity.muse.animate
三、Muse Chat 的使用
8. 在上图中,点击 Muse > Chat,打开 Muse Chat 窗口,见下图,在下方 Ask Mute 窗口输入Unity相关的问题, 这个与当前ChatGPT,DeepSeek等AIGC工具类似。
9. 示例:点击上面窗口中的第3个问题: “What is my Uniy version in this project?", 得到下述答案
四、Muse Texture 的使用
10. 在Unity窗口,点击主菜单 Muse > New Texture Generator 打开New Texture Generator 窗口,在Generation部分 Images 边显示 ”4“,表示要生成 4 个材质,在Prompt 部分输入对材质的描述,例如"obsidian stone", 在 Negative Prompt 部分输入不需要材质的特征,可以不填,点击蓝色高亮的 ”Generate“ 按键,在右边 Generations 窗口中会显示生成的 4 个材质,见下图,
11. 如果自己有材质的原型图片,可以在上述窗口下方点击 Import 按键,将图片上传在重新生成新的材质
12. 将鼠标放在一个生成的材质图像上,在图像上方出现 3 个工具icon,点击右上角的 pencil icon,打开Refinements 窗口,
13. 点击左上角的 Material Preview 按键,生成材质预览窗口,可以更改材质的参数
-
Diffuse map: RGB (red, green, blue) colors.
-
Height map: bumps that protrude from the surface.
-
Metallic map: metallic shininess.
-
Smoothness: scattering (roughness) or focusing (smoothness) of reflected light.
-
Ambient occlusion: blocking ambient light to create additional shadows.
-
Tiling: Increase or decrease the tiling to adjust the scale of the material.
-
Offset: Adjust this value to move the position of the material.
-
Rotation: Adjust this value to rotate the material.
-
Flip Vertical: Mirror the material on the vertical plane.
-
Flip Horizontal: Mirror the material on the horizontal plane.
-
Vertex Displacement: Switch displacement on or off. Displacement shows the effect of the Height map by displacing the geometry.
14. 设置材质完成后,点击上述窗口中右上角 Refinements 变得下载按键,将该材质下载到项目的Assets文件夹中,
15. 在Project 窗口中 点击 Assets > Scenes > Garden 文件夹,在右侧窗口点击 GardenScene文件,打开场景后,在Hirarchy窗口中找到 LandscapeStone_01_Prefab (3) 游戏物体,见下图
16. 在右侧Inspector 窗口,点击 Add Component按键,选择 Mesh > Mesh Renderer,添加Mesh Renderer属性,然后将 Assets文件夹中新生成Obsidianstone材质拖拽到Scene窗口中的石头游戏物体上,可以看到该石头的材质更新了(对比上图与下图中的石头材质)
五、Muse Sprite 材质的使用
Unity中的 Sprite 材质是指用于2D游戏开发中的精灵图片的材质。Sprite材质主要用于设置精灵图片的视觉效果和物理属性。
Sprite材质主要用于2D游戏开发中,可以用于设置精灵图片的基础属性,如名字、位置、边框、轴心点等。通过Sprite Editor,可以编辑单张图片的基础属性,如名字、位置、边框、轴心点等。此外,还可以设置自定义边缘线、物理形状、次要纹理等高级功能。
本部分练习将生成一个2D sprite材质,替换现有的在树下的落花材质,见下两张图:
17. 在Unity界面,点击主菜单 Muse > New Sprite Generator,弹出New Sprite Generator 窗口
上述界面与先前New Texture Generator 窗口类似,但多了 Style and Parameters 部分
18. 分别在上面窗口中输入如下内容
Prompt 窗口中输入:“Collection of autumn leaves on the ground."
Negative Prompt 窗口中输入:"no soil"
然后点击高亮蓝色的 Generate 按键,可以得到 4 个sprite材质(由于随机生成,生成的材质可能与下图右边的图案不一致),如果不满意,还可以再次点击 Generate 按键,再次生成新的四个图案
19. 选中一个你认为可以的图案,在该图案窗口点击鼠标右键,在弹出窗口中选择 ”Export“菜单,本练习选择了只有1个树叶的图案窗口,见下图,输出该图案到Assets目录下,取名LeavesSprite;
20. 保存后,关闭上述弹出窗口;
21. 在Project 窗口,选择Assets > Scenes > Garden > Art > Terrain > Materials 文件夹,在右侧窗口选择CherryPetalDecal_Mat 材质,见下图
22. 在Project 窗口,选择Assets,将刚才生成的 LeavesSprite 材质替换右侧Inspector窗口中的Basemap(可以直接拖拽替换),并且将 WorldSpeceUVs 不激活,见下图
23. 下面两图是替换前后的对比,注意树下的草地上的落叶图案。
六、Muse Animation 的使用
本部分介绍应用Muse基于文本生成动画文件,驱动场景中的游戏物体(例如,人形物体)动作。
24. 调整场景窗口中所看到的位置,使得场景与游戏窗口的图像差不多。点击 Hirarchy 窗口中Camera > FPS_Controller游戏物体,将视角设置在房子里面,按住鼠标右键,结合ASWD按键移动视角位置,使得左边上下窗口显示相同的房间布局;
25. 点击右边 Project窗口下方的 Packages > Muse Animate Tool > Runtime > PackageResources > Entities > Actors > Biped文件夹,在右边窗口中找到 Biped_Puppet_DeepPose 复用体,拖拽到左边场景窗口中,见下图,在右侧 Inspector窗口中看到该游戏人物还没有动画文件驱动,
26. 点击主菜单 Muse > New Animate Generator ,代开Muse Animator Generator 窗口
27. 在该窗口的Prompt中输入动画指令,例如 “Walking”,再点击 Generate 按键,在右侧Library窗口生成走路动画,把鼠标放在动画窗口上,可以预览该动画,见下图
28. 可以重复上述步骤,输入不同的指令,生成不同的动画,在右侧展示所有生成的动画;
上述生成的文件,会存储在项目文件夹 Muse > Animate
29. 在弹出的Muse Animate Generator窗口的 Library中,选择一个自己满意的动画,例如最开始生成的“Walking"动画,把鼠标放在该动画窗口上,在浮现的菜单中,选择右边 ... 菜单,在下拉菜单中悬着 Export,输出动画文件
30. 在弹出窗口中,新建一个”Animation“文件夹,再双击该文件夹,输入合适的动画名称,例如”Walking“,点击保存,该动画将会存储在 Assets> Animation文件夹中,见下列3图的操作,
31. 关闭弹出的Muse Animate Generator窗口,点击场景中新加入的人形游戏物体,可以在右侧Inspector窗口中,看到 Animator属性中Controller没有动画控制器
32. 点击Project窗口中的 Assets > Animation文件夹,将右边窗口中新建的 Animation 文件拖拽到右侧Inspector窗口的下方(与Add Component一起的部分),看看有什么变化?
自动生成了一个 Biped_Puppet_DeepPose 动画控制器文件(存储在walking动画相同的文件夹),并且该动画控制器文件自动填充了 Animator属性的控制器右边的编辑框,表明该Biped_Puppet_DeepPose 动画控制器文件将控制这个人形游戏物体的动作;
33. 点击Unity窗口正中间上方的Play按键,进入游戏状态,可以看到该人形游戏物体可以走动了,再次点击 Play 按键,退出游戏状态。
34. 可以重复上述步骤,尝试将其他在Muse Animate Generator窗口中生成的动画导出来,更改Biped_Puppet_DeepPose 动画控制器的内容,从而更新人形游戏物体的动画。