游戏开发建模教你使用unityprobuilder制作基础模型,搭建场景原型(保姆级教程|unity2021最新版)(代码片段)

林新发 林新发     2023-02-24     309

关键词:

文章目录

一、前言

嗨,大家好,我是新发。
最近工作需要用到ProBuilderUnity中搭建场景原型,网上教程也不是很多,有的教程是旧版的。我之前学过Blender,所以上手ProBuilder很快,今天我就写篇稍微详细点的ProBuilder教程吧。

注:本文我使用的Unity版本为2021.2.17f1c1ProBuilder插件版本为5.0.4

二、安装插件

打开PackageManager,搜索ProBuilder,即可安装,目前最新版本是5.0.4

如果你的工程使用的是URP通用渲染管线或者HDRP高清渲染管线,记得导入对应的Support包,

安装完毕后,可以在Tools菜单下看到ProBuilder的菜单,如下

我们点击Tools/ProBuilder/ProBuilder Window菜单,即可打开ProBuilder编辑器窗口,如下

三、基础操作

1、切换编辑器模式

我们在ProBuilder编辑器窗口空白处鼠标右键,可以切换窗口模式,

1.1、Open as Floating Window

选择Open as Floating Window,会以悬浮窗口的形式显示编辑器,

这种方式一般是我们把Scene窗口以Maximize最大化显示的时候使用,方便操作,

如下

1.2、Open as Dockable Window

选择Open as Dockable Window,我们可以把窗口以标签页的形式嵌入到编辑器界面中,这样编辑器布局会简洁一些,但这种模式下,如果把Scene窗口最大化,就得先把ProBuilder窗口独立移出来才能操作,

1.3、Use Text Mode

这种模式,菜单以文字形式显示,(个人更喜欢文字显示)

1.3、Use Icon Mode

这种模式,菜单以图标的形式显示,记不住单词的可以使用图标模式,

2、创建基础模型

点击New Shape

Scene窗口中会出现一个Create Shape小窗口,

12种基础模型可以选择,

下面我们挨个进行讲解。

2.1、Arch拱门

我们先点选第一个按钮,它是一个拱门模型,把鼠标移动到Scene视图的空白处,先水平面拉出一个平面,然后鼠标往上移动即可在竖直方向上拉出拱门模型,最后点击鼠标左键即可完成,

我们也可以按住Shift键不放,当鼠标在Scene窗口中悬停时就可以看到有个浅蓝色的模型出现,我们在合适的位置点击鼠标左键即可创建出模型,如下

我们可以选中某个面调整拱门的形状,如下

如果想精确设置大小,可以在Inspector窗口中的Pro Builder Shaper组件下设置Size的值,

注:不建议修改TransformScale来调整模型大小


Create Shape小窗口中,有模型的基础参数,

我们可以调节拱门的厚度:Thickness参数

修改拱门的边数:Side Count参数

调整拱门的环形角度:Arch Circumference参数,

设置拱门的地面是否缝合:End Caps参数,

设置是否进行法线平滑:Smooth参数,

如果我们已经设置好参数了,就可以按Esc键退出创建模式了,

接着我们就可以像操作普通物体那样对它进行平移、缩放、旋转等操作了。
如果想要重新设置模型参数,可以点击Edit Shape按钮,

此时在Scene窗口中就会出现模型参数窗口了,我们可以重新对模型参数进行调整,

2.2、Cone圆锥体

同理,我们创建Cone圆锥体,

参数很简单,一个Sides Count边数,一个Smooth法线平滑,

2.3、Cube立方体

立方体效果如下,参数只有基本的Size

2.4、Cylinder圆柱体

圆柱体效果如下,

参数如下

其中高度切分是指把圆柱从横截面环切成N份,如下

环切会产生新的点线面,我们可以根据需要对点线面进行操作,下文会讲解点线面的操作。

2.5、Door门

门效果如下,

参数如下

2.6、Pipe管道

管道效果如下,

参数与圆柱体基本一样

2.7、Plane平面

平面是最简单的了,

我们可以调整Height CutsWidth Cuts来对平面进行细分,如果你想做一个表面起伏的水面,就需要这个表面有足够的顶点数量,然后通关噪声对顶点做偏移,

2.8、Prism棱柱

棱柱效果如下,

只有基础的Size参数调整,

我们可以另外通过点线面的操作来对它进行编辑,下文会讲点线面的操作。

2.9、Sphere球体

球体效果如下,

想要调整球的大小,建议不要直接修改TransformScale,而是调整模型的Size参数,

球的参数如下

其中表面细分越高,球的表面越精细,但顶点数也越多,建议不要设置得太高

2.10、Sprite平面

Sprite平面和Plane平面差不多,只不过Sprite平面不能进行细分,它只有四个顶点,两个三角面,

2.11、Stairs楼梯

楼梯效果如下,

我们可以调整楼梯台阶的数量:Steps Count参数,

我们也可以把台阶模式切换为Height,然后设置台阶的高度:Steps Height参数,它会自动计算台阶的数量,

我们可以调整Circumference参数来调整楼梯的环绕角度,如下

Sides参数可以决定是否要有楼梯侧面,

2.12、Turus甜甜圈

甜甜圈效果如下,

调节Tube Radius可以调整内圈大小

Raws参数可以控制横向环切的数量

同理,Columes参数控制竖向环切数量

Hor. Circ.参数可以调整水平环绕角度

同理,Vert. Circ.控制竖直方向的环绕角度

3、点线面基础操作

演示完12个基础模型的创建效果,可以看到,他们其实都是由点、线、面组成,我们可以对这些点线面进行编辑,来改变模型的形状。我们可以在Scene窗口的顶部看到四个按钮,分别是对象按钮、点按钮、线按钮、面按钮,如下

3.1、操作对象
3.1.1、平移、旋转、缩放

点击对象按钮,进入对象操作模式,我们可以对模型整体进行移动、旋转、缩放等,这些基础操作相信大家都非常熟悉了,

3.1.2、固定0.25米间隔移动

如果我们想让物体以0.25米为间隔进行移动,可以按住Ctrl键不放进行移动,这样可以方便对齐物体,如下

需要说一下,在Unity1米的长度是多长呢?我们可以靠近模型表面,看到默认纹理是一个一个的正方形,每个正方形的边长就是1米,我们可以看到纹理中有个1METER的字样,

我们设置TransformPosition的时候,XYZ的单位也是米,

当我们创建一个Cube时,默认创建的就是一个边长为1米的立方体,

3.1.3、固定15度间隔旋转

同理,按住Ctrl键,旋转物体会以15度为间隔进行旋转

3.1.4、固定1米缩放

注:一般不建议直接对模型进行缩放,容易造成尺度不统一,引起不必要的麻烦~

按住Ctrl不放,缩放时会按1米的尺度进行缩放,如下

3.1.5、吸附控制点

我们移动物体时,需要把鼠标移动到物体的中心轴上才能控制物体,默认情况下,物体的中心轴在角落里,如下

我们可以按住V键不放,这样就会根据鼠标的位置吸附到一个控制点进行操作了,如下

3.2、操作点
3.2.1、移动点

进入点编辑模式,

我们可以选中模型的顶点,进行移动

3.2.2、框选多个点

如果想选中多个点,可以先选中模型整体,然后框选顶点进行操作,如下,不过像下面这样的操作其实就等效于操作线了,我们可以直接使用线操作模式,

3.2.3、Shift加选点

我们也可以选中某个点之后,按住Shift不放,然后点击新的顶点来进行加选,如下

3.2.4、合并顶点:Collapse Vertices

我们可以选中多个点,然后点击Collapse Vertices进行顶点合并,如下

3.3、操作线

进入线操作模式

3.3.1、移动、旋转、缩放

可以对线进行移动、旋转、缩放等操作,如下

3.3.2、多选(可款选,可Shift加选)

同样,我们可以框选 或 按住Shift键加选来选中多条线进行操作,

3.3.2、添加倒角:Bevel

我们可以选中某个边,然后点击Bevel添加倒角,如下

我们可以点击Bevel按钮旁边的+号按钮进行设置,可以设置倒角的距离,

吐槽:不能像Blender那样设置倒角的进度,只能手工倒角,有点费手


3.3.3、细分线:Subdivide Edges

我们可以选中线,然后点击Subdivide Edges进行细分,

注:为了方便看清线,我把Scene视图的Shading Mode设置为WireFrame模式(网格模式)

3.3.4、环切:Insert Edge Loop

选中某条线,然后点击Insert Edge Loop,可以对这条线所在的垂直面进行环切(相当于新增一圈的线,可以对新增的这圈线进行编辑),如下

3.3.5、刀切:Cut Tool

我们可以点击Cut Tool按钮,像刀子一样在面上进行切割(切割会新增线,形成新的三角面),如下

3.3.6、填充线所在的面:Fill Hole

假设现在有一个面是有一个洞,我们想把它不上,可以选中这个洞的某条边,然后点击Fill Hole即可填充这个面,

3.3.7、挤出线:Extrude Edges

我们可以选中某条线,然后点击Extrude Edges,挤出这条线,如下

我们也可以选中线然后按住Shift不放,移动鼠标直接挤出线,如下

3.3.8、连接线:Connect Edges

选中两条线,然后点击Connect Edges按钮,即可连接这两条线的中心位置,可以调整新增出来的连接线,如下

3.3.9、环选相连的线:Select Edge Loop

选中某条线,然后点击Select Edge Loop即可环选相连的线,如下

3.3.10、环选不相连的线:Select Edge Ring

选中某条线,点击Select Edge Ring即可环选不相连的线,如下

3.4、操作面

进入面操作模式,

3.4.1、移动、旋转、缩放

选中面之后,可进行移动、旋转、缩放,如下

3.4.2、细分三角面:Triangulate Faces

我们选中面,它并不是一个三角面,我们可以点击Triangulate Faces把它细分为三角面,如下

3.4.3、倒角:Bevel

与线倒角一样,面也可以进行倒角,选中面,然后点击Bevel按钮即可进行面倒角,如下

3.4.4、挤出面:Extrude Faces

选中面,点击Extrude Faces即可基础面,如下

我们也可以选中面然后按住Shift不放直接基础面,如下

我们可以点击Extrude Faces按钮旁边的+号,设置挤出的参数

individural Faces表示按每个面独立挤出;
Vertex Normal表示按顶点法向方向挤出;
Face Normal表示按面法线方向挤出。

我给大家演示一下Individural Faces挤出和Face Normal挤出的区别。
先看一下Individural Faces挤出

接着看Face Normal挤出,

3.4.5、复制面:Duplicate Faces

选中面,然后点击Duplicate Faces即可复制面,如下

3.4.6、剪切面:Detach Faces

选中面,然后点击Detch Faces即可把面剪切出来,如下

3.4.7、删除面:Delete Face

选中面,然后点击Delete Face(或者按Backspace回退键)即可删除面,如下

3.4.7、缩放挤出挤出面

选中面,缩放时按住Shift键不放,即可在平面内挤出面,如下

3.4.8、环选多个面:Select Face Loop / Select Face Ring

选中面,然后点击Select Face Loop即可在数值方向上环选多个平面,点击Select Face Ring即可在水平方向环选多个平面,如下

4、上色

我们创建的模型默认是白色的,

现在我们给它们上色。

4.1、设置顶点颜色
4.1.1、模型所有顶点上色

切换到对象模式,

选中物体,然后点击Vertex Colors按钮,

此时会弹出调色盘,

选择自己喜欢的颜色,点击Apply按钮,即可给物体所有顶点上色,如下

4.1.2、单独顶点设置颜色

我们可以切换到顶点模式,

选中要上色的顶点,然后选择喜欢的颜色,点击Apply按钮即可,

4.2、设置材质球
4.2.1、创建材质球

ProBuilder创建的模型默认使用ProBuilderDefault材质球,

我们可以自己新建材质球,替换为我们自己的材质球,如下

4.2.2、添加材质球到工具中

建议把材质球添加到ProBuilder工具中,点击Material Editor

把材质球添加到列表中,

这样我们可以通过快捷键快速设置物体材质,比如按Alt + 2即可给物体设置Green材质球,

4.2.3、碰撞体材质

场景有时候需要一些空气墙或者碰撞触发器,我们可以点击Set Trigger将模型设置为触发器材质,点击Set Collider将模型设置为碰撞体材质,

如下

5、其他操作

5.1、设置默认材质

上面我们提到,ProBuilder会给模型自动设置一个ProBuilderDefault材质球,我们在设置中修改ProBuilder的默认材质。
点击菜单Edit/Preferences...,然后点击ProBuilder按钮,找到Mesh Settings下的Material参数,设置你自己的材质球即可,

5.2、修改Pivot中心点

创建模型是,默认Pivot是在物体的角落,如下

我们可以点击Center Pivot按钮,修改中心到物体的几何中心位置,如下


我们也可以在顶点模式下,选中某个点,然后点击Set Pivot按钮将选中的顶点设置为Pivot

我们还可以在边模式下,选中某条边,点击Set Pivot按钮,把边的中心点设置为Pivot

一般我们做门的时候就会用到这个技巧,这样物体旋转就是绕着这个边旋转,

5.3、镜像对称物体:Mirror Objects

我们创建好模型后,想要让物体沿着某个轴镜像对称,可以点击Mirror Objects按钮,

效果如下

我们可以设置对称的轴,

比如改为沿着Y轴镜像对称,

效果如下

5.4、法线平滑

假设我现在有这么一个模型,我只想给某一个侧面做法线平滑,如下

我们可以选中这个侧面的几个面,

然后点击Smoothing按钮,然后设置一个平滑分组即可

可以看到,我们这个侧面看起来变得平滑了

注:这里只是通过法线来影响光的反射方向从而达到平滑的错觉,实际上模型的边还是硬边

5.4、导出模型

当我们制作好了模型,比如我制作了一个泳池模型,现在想把它导入到其他三维建模软件中修改,

我们可以点击Export按钮

将模型导出

导出格式我们可以点击Export按钮旁边的+号进行设置,

默认是obj格式

我们可以使用Blender打开导出的obj模型文件,

四、完毕

好了,我是林新发,https://blog.csdn.net/linxinfa
一个在小公司默默奋斗的Unity开发者,希望可以帮助更多想学Unity的人,共勉~

游戏开发建模教你使用unityprobuilder制作基础模型,搭建场景原型(保姆级教程|unity2021最新版)(代码片段)

文章目录一、前言二、安装插件三、基础操作1、切换编辑器模式1.1、OpenasFloatingWindow1.2、OpenasDockableWindow1.3、UseTextMode1.3、UseIconMode2、创建基础模型2.1、Arch拱门2.2、Cone圆锥体2.3、Cube立方体2.4、Cylinder圆柱体2.5、Door门2.6、Pipe管道2... 查看详情

游戏开发建模教你使用unityprobuilder制作基础模型,搭建场景原型(保姆级教程|unity2021最新版)(代码片段)

文章目录一、前言二、安装插件三、基础操作1、切换编辑器模式1.1、OpenasFloatingWindow1.2、OpenasDockableWindow1.3、UseTextMode1.3、UseIconMode2、创建基础模型2.1、Arch拱门2.2、Cone圆锥体2.3、Cube立方体2.4、Cylinder圆柱体2.5、Door门2.6、Pipe管道2... 查看详情

游戏开发不完全理解--建模篇

《上古卷轴4》中的SpeedTree渲染出的草地效果当然,SpeedTree也不只是应用在游戏领域,SpeedTree也是商业上常用的建模工具,更有美国国防部利用SpeedTree进行真实战争场景模拟来进行军事训练。 查看详情

游戏建模师干货分享,教你如何在ue4的编辑器中调用蓝图

...特别有用。例如,你可以在编辑器UI中测试或预览运行时游戏玩法。它也是触发需要角色或3D空间中的位置作为上下文的编辑器中的蓝图的简单方法。在UE4的编辑器中调用蓝图1、每当在Blueprint类的“事件图”中使用“自定义事件... 查看详情

游戏开发实战手把手教你在unity中使用lua实现红点系统(前缀树|数据结构|设计模式|算法|含工程源码)

文章目录一、前言二、环境说明三、红点系统设计1、红点系统规则2、科普:前缀树3、用前缀树组织红点四、红点系统具体实现1、前缀树封装1.1、节点:RedpointNode.lua1.2、树:RedpointTree.lua1.2.1、创建根节点1.2.2、定义... 查看详情

游戏开发进阶教你自制离线maven仓库,实现unity离线环境使用gradle打包(unity|android|谷歌|gradle)(代码片段)

文章目录一、前言二、Gradle与AndroidGradlePlugins1、Gradle工具1.1、Gradle工具简介1.2、Gradle工具下载1.3、在AndroidStudio中配置Gradle工具1.4、在Unity中配置Gradle工具1.5、在Unity中开启Gradle方式构建项目2、AndroidGradlePlugins插件2.1、AndroidGradlePlu... 查看详情

游戏开发进阶教你自制离线maven仓库,实现unity离线环境使用gradle打包(unity|android|谷歌|gradle)(代码片段)

文章目录一、前言二、Gradle与AndroidGradlePlugins1、Gradle工具1.1、Gradle工具简介1.2、Gradle工具下载1.3、在AndroidStudio中配置Gradle工具1.4、在Unity中配置Gradle工具1.5、在Unity中开启Gradle方式构建项目2、AndroidGradlePlugins插件2.1、AndroidGradlePlu... 查看详情

游戏开发高阶从零到一教你unity使用tolua实现热更新(含demo工程|luaframework|增量|hotupdate)(代码片段)

文章目录零、前言一、我做的热更新Demo1、效果演示2、流程图3、工程源码二、为什么要有热更新三、Unity如何支持热更新1、热更C#代码2、热更lua代码与资源四、Unity中集成tolua框架:LuaFramewrk1、下载tolua框架:LuaFramewrk2、打开tolua框... 查看详情

游戏开发高阶从零到一教你unity使用tolua实现热更新(含demo工程|luaframework|增量|hotupdate)(代码片段)

文章目录零、前言一、我做的热更新Demo1、效果演示2、流程图3、工程源码二、为什么要有热更新三、Unity如何支持热更新1、热更C#代码2、热更lua代码与资源四、Unity中集成tolua框架:LuaFramewrk1、下载tolua框架:LuaFramewrk2、打开tolua框... 查看详情

小松教你手游开发游戏渲染单色shader,纹理shader(代码片段)

单色shaderShader"ChrisShader/OneColorShader"Properties_Color("color",Color)=(0,0,0,0)SubShaderPassColor[_Color]纹理shaderProperties_MainTex("Base(RGB)",2D)="white"SubShaderPassSetTexture[_Ma 查看详情

[教你做小游戏]用svg画一个象棋棋盘

背景兄弟们,之前我开发了支持联机对战的五子棋、斗地主、UNO。在大家的呼吁之下,我准备开发「象棋」啦! 查看详情

游戏开发创新上班通勤时间太长,做一个任意门,告别地铁与塞车(unity|建模|shadergraph|摇杆|角色控制)(代码片段)

文章目录一、前言二、最终效果三、Blender建模1、Blender下载安装2、传送门建模3、房子建模4、公司大楼建模5、文字模型四、Blender导出FBX五、FBX导入Unity中六、制作材质1、传送门1.1、ShaderGraph准备1.2、创建ShaderGraph1.3、编辑ShaderGra... 查看详情

游戏开发创新上班通勤时间太长,做一个任意门,告别地铁与塞车(unity|建模|shadergraph|摇杆|角色控制)(代码片段)

文章目录一、前言二、最终效果三、Blender建模1、Blender下载安装2、传送门建模3、房子建模4、公司大楼建模5、文字模型四、Blender导出FBX五、FBX导入Unity中六、制作材质1、传送门1.1、ShaderGraph准备1.2、创建ShaderGraph1.3、编辑ShaderGra... 查看详情

手把手教你将h5游戏打包为快游戏(代码片段)

H5游戏可以通过快应用的web组件快速打包成快游戏,打包上架后的快游戏,只要原H5游戏的url不发生变动,快游戏就不需要做更新,维护工作量小。使用快应用IDE,打包快游戏的操作很简单。访问官网安装开发工具,在PC上安装快... 查看详情

数学建模不会latex排版|教你如何在word中优雅地使用漂亮的latex公式

CSDN叶庭云:https://yetingyun.blog.csdn.net/其实Word2016以上自带的公式编辑器挺好用的。它除了可以通过鼠标点击插入公式以外,也完全支持像LaTex一样通过键盘输入公式。而且还可以使得写出的公式像LaTex里一样漂亮,具体操作步骤如... 查看详情

合成大西瓜开发源码,手把手教你运行和部署大西瓜游戏项目(代码片段)

...一:下载大西瓜源代码步骤二:尝试运行大西瓜游戏项目步骤三:安装nodejs步骤四:安装serve工具步骤五:运行本地大西瓜游戏项目步骤六:部署大西瓜游戏项目到远程服务器1.注册vercel账号2.安装vercel命令... 查看详情

游戏开发创新手把手教你使用unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化|频谱|audio)(代码片段)

文章目录一、前言二、获取UI素材三、使用UGUI制作界面1、界面布局2、账号圆形头像3、搜索框4、调节UI层5、黑色按钮悬浮高亮效果6、纯文字按钮7、滚动列表自适应8、歌名与视频图标混排9、点击按钮切换图片10、进度条四、写... 查看详情

游戏开发创新手把手教你使用unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化|频谱|audio)(代码片段)

文章目录一、前言二、获取UI素材三、使用UGUI制作界面1、界面布局2、账号圆形头像3、搜索框4、调节UI层5、黑色按钮悬浮高亮效果6、纯文字按钮7、滚动列表自适应8、歌名与视频图标混排9、点击按钮切换图片10、进度条四、写... 查看详情