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

林新发 林新发     2023-03-10     403

关键词:

文章目录

一、前言

嗨,大家好,我是新发。
最近工作需要用到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、进度条四、写... 查看详情