Unity四部曲(核心)

这篇具有很好参考价值的文章主要介绍了Unity四部曲(核心)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

图片相关

图片设置

Textture Type  纹理类型

1.default 默认

2.Normal map  法线

3.Editor and Legacy GUI

4.Sprite(2D and UI)

​编辑

5.Cursor  自定义光标

6.Cookie   光源剪影

​编辑

7.Light Map 光照贴图

8.SIngle Channel​编辑

纹理形状设置

纹理高级设置

纹理平铺拉伸

平台打包设置

图片编辑

Single编辑

Multiple图集分割

Polygon多边形编辑

Sprite Renderer

练习题

SpriteCreator精灵创造者

Sprite Mask 精灵遮罩

Sprite Group排序分组

​编辑

Sprite Atlas 精灵图集

Sprite ShapeProfile精灵形状

使用精灵形状

Sprite Shape Renderer

Sprite Shape Controller 

2D物理系统

2D刚体

DYnamic  动态

Kinematic   运动学

Static

如何选择

碰撞器

使用API的注意点

物理材质

恒定力

2D效应器

区域效应器

浮力效应器

点效应器

​编辑​编辑

平台效应器

​编辑​编辑

表面效应器

TileMap

瓦片调色板窗口

编辑瓦片地图

注意事项

瓦片地图关键脚本与碰撞器

实战知识点(排序)

代码控制瓦片地图

动画和动画机

Animation

老动画系统

 有限状态机

参数讲解:

2.条件设置:

 2D动画

序列帧动画

2D骨骼动画

图集骨骼

Psb图片骨骼

IK反向动力学

换装

Spine骨骼

页签

Model

Rig

Animation

基础信息

剪辑基本设置

剪辑其他设置

预览窗口

Materials

3D动画

分层与遮罩

 ​编辑

动画混合树

子状态机

​编辑

IK控制

​编辑

目标匹配

​编辑

状态机行为与复用

角色控制器

导航网格

导航网格NavMesh

​编辑

​编辑

寻路组件Agent

​编辑

​编辑​编辑​编辑

连接组件Link

​编辑

动态障碍物Obstacle


Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

图片相关

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

图片设置

红色代表重要参数

Unity四部曲(核心),unity,游戏引擎

Textture Type  纹理类型

Unity四部曲(核心),unity,游戏引擎

1.default 默认

Unity四部曲(核心),unity,游戏引擎

Alpha Source中第三个用的很少,要么没有透明通道,要么直接使用输入纹理中的通道(第二个)

而Alpha IS Transparency勾选的话效果会比较好

2.Normal map  法线

需要先勾选Create from Grayscale才能看到后续两个选项。法线可以用来降低精模

Unity四部曲(核心),unity,游戏引擎

3.Editor and Legacy GUI

编辑器或者GUI开发,没有特殊参数

4.Sprite(2D and UI)
Unity四部曲(核心),unity,游戏引擎
5.Cursor  自定义光标
6.Cookie   光源剪影
Unity四部曲(核心),unity,游戏引擎
7.Light Map 光照贴图
8.SIngle ChannelUnity四部曲(核心),unity,游戏引擎
纹理形状设置

Unity四部曲(核心),unity,游戏引擎

需要先改成CubeUnity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

复杂的展开留到unity进阶再说

纹理高级设置

纹理尺寸一般64×64,128×128这种2的幂次方。 可以设置它的处理方式

Unity四部曲(核心),unity,游戏引擎

Read/Write Enabled:是否通过代码获取图片信息,如果不用就关掉。会占用性能。

generate Mip Maps 控制是否使用MipMAp,Streaming通过消耗一些性能来减少纹理所需的内存。

如果是2D游戏,那么可以不启用,3D项目则根据需求选择性的使用。

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

一般不需要让它淡化为灰色

纹理平铺拉伸

Unity四部曲(核心),unity,游戏引擎

平台打包设置

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

一般米切尔算法就足够使用。Bilinear细节更多但消耗也更大

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

通道分离选项只有在对应格式时才会出现,比如ETC,相当节省内存。

图片编辑

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Single编辑

Unity四部曲(核心),unity,游戏引擎包管理器里下载

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎轴心点决定了图片绕着哪个点旋转

Unity四部曲(核心),unity,游戏引擎点一下Generate生成网格Unity四部曲(核心),unity,游戏引擎Custom Physics Shape则与其类似,控制精细度然后生成网格

Multiple图集分割

Unity四部曲(核心),unity,游戏引擎

在再次点击Slice后Method模式才会生效

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

一般用第一种自动就完全够用了,除非它歪得离谱才会手动去调整。直接鼠标框选

Polygon多边形编辑

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎在这里填边数,比如三角形等

注意点击apply后渲染区域也一同更改了,可以适当调整它的精度。但多边形编辑其实用的少

Sprite Renderer

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

其中切片九宫格模式非常重要,需要先把图片网格设置成Full Rect

Unity四部曲(核心),unity,游戏引擎修改SIze就可以用一张小图得到大图,节约资源

九宫格模式是把中央进行拉伸,平铺模式则是把中央进行平铺。都是只处理中央部分

Tiled平铺模式,一个是只要拉伸就均匀平铺,一个是到达临界值才平铺一次,否则只拉伸不平铺

Unity四部曲(核心),unity,游戏引擎

而代码部分,也是会获取组件上的参数的。重要的是获取

Unity四部曲(核心),unity,游戏引擎

如果是图集,就只能去加载图集整体。用LoadAll这个API,数组接收然后通过索引获取单张图

练习题

Unity四部曲(核心),unity,游戏引擎

这个字典的键代表大图集,值代表小图。而小图也是一个字典,由名字和sprite组成

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

然后因为只能获取大图集整体,所有建立一个临时字典用来接收大图集下的所有小图Unity四部曲(核心),unity,游戏引擎

SpriteCreator精灵创造者

Unity四部曲(核心),unity,游戏引擎

先用替代资源写逻辑和程序,等美术资源出了再把资源替换掉

在资源面板创建(Assets)

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

获取物体和物体身上的脚本是两码事

Sprite Mask 精灵遮罩

Unity四部曲(核心),unity,游戏引擎  可以更改遮罩的形状

Unity四部曲(核心),unity,游戏引擎在渲染器里面可以更改遮罩设置

不显示  在遮罩内部显示  在遮罩外部显示

Unity四部曲(核心),unity,游戏引擎

放大镜原理,一张大图在底下唉,小图在上面。平常只能看到小图。而放大镜的层级比这两都大,且镜片位置有一个遮罩,可以看到大图忽略小图。就达成了类似放大镜一样的效果 >=  <

Unity四部曲(核心),unity,游戏引擎图片层级需要》=Back且《Front才能被遮罩影响

Sprite Group排序分组

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎  子物体可以再嵌套Group

给图片成为该组件所在物体的子物体后,就只会根据SortGroup的层级来划分,图片本身的层级不再生效(不对其他Group下的图片生效,但仍然会影响同一Group下的其他子物体)。 

适用于给场景中的多个sprite进行分好组,甚至可以把整个场景都分成上中下层

Unity四部曲(核心),unity,游戏引擎

当SortingGroup/图片本身所在层/层级序号全都一样时,z轴才会起作用,优先级最低

Sprite Atlas 精灵图集

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎这种是使用图集,也就是图源本身就是一个图集。

而打图集是把一个张张的单图给打成一个图集,是制造图集的过程,可以减少DrawCall

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

一般选择让它ALways Enabled一直打包就行了

Unity四部曲(核心),unity,游戏引擎如果是UI图集请禁用打包旋转

Unity四部曲(核心),unity,游戏引擎一般用主图集即可。变体图集的作用只是在主图集的基础上放缩而已,用的很少

Texture中的内容之前已经讲过,可以复习一下     后面的平台相关设置也已经讲过

Unity四部曲(核心),unity,游戏引擎2D游戏的话,一般不需要用MipMaps,因为没有远近概念

Unity四部曲(核心),unity,游戏引擎打包哪些图。可以按+号添加也可以直接拖入。注意可以拖入一整个文件夹。会把文件夹中所有图片一起打包。按“Pack Preview” 进行打包

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎使用这三张同一图集的图片时   Unity四部曲(核心),unity,游戏引擎运行后发现Draw Call有效减少

所以平常用图片就直接用,等到都做完了再来进行一个打包

Unity四部曲(核心),unity,游戏引擎先加载Resoures中的图集,然后通过图集的GetSprite方法得到单张图Unity四部曲(核心),unity,游戏引擎

使用前需要先引入命名空间 using UnityEngine.U2D;

Unity四部曲(核心),unity,游戏引擎

因为每次检测都发现上一张图和自己不在一个图集,所以变成了三次。

为了避免这种情况我们应该尽量让这种会穿插在一起的图片打包进一个图集

Sprite ShapeProfile精灵形状

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎需要导入包

Unity四部曲(核心),unity,游戏引擎在该包下可以导入示例场景或资源文件

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

以不封闭图形为例

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

如果是封闭图形,填充的图片就决定了中间的填充效果Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

使用精灵形状

Unity四部曲(核心),unity,游戏引擎把精灵形状拖入场景,就会看到这两个组件

Sprite Shape Renderer

Unity四部曲(核心),unity,游戏引擎

Sprite Shape Controller 

Unity四部曲(核心),unity,游戏引擎

Adaptive UV:勾选后只有拉到一定长度才会变成两张图,可能会因不满阈值而扭曲

不勾选则拉长就立刻平铺,但可能出现因为平铺图片和长度不符,只显示一半的情况

所以两种情况,因根据具体的需求来选择Unity四部曲(核心),unity,游戏引擎因为平铺没显示完

Unity四部曲(核心),unity,游戏引擎

注意Cormer的设置只针对某个点,不是全局设置        然后给精灵形状加碰撞器

Unity四部曲(核心),unity,游戏引擎

如果不需要移动用Edge就够了。需要移动可以用第二种,因为复合碰撞器与刚体绑定

2D物理系统

2D刚体

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎当你这样让2D物体改变的时候,其实它是在绕z轴旋转

DYnamic  动态

一般设置材质就在碰撞器上面设置就好了,它的优先级最高。子物体不设置则会使用父物体的设置

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎选了自动质量就不能手动调质量了。  移动和旋转阻力不用多说

比如Gravity Scale为2则受到两倍重力,-1则反向重力,0则不受重力

Unity四部曲(核心),unity,游戏引擎

从不休眠。移动时唤醒静止时休眠。一直休眠,被碰撞时唤醒。  三种模式性能消耗依次i降低

如果物体移动可以选择第二种,如果物体本身就是静止的,可以选择第三种。极端情况会用第一种

Kinematic   运动学

Unity四部曲(核心),unity,游戏引擎

启用则可以和三种类型的刚体都发生碰撞,默认不启用,则只能和Dynamic类型的发生碰撞

Static

看上去有点类似碰撞器。区别是,碰撞器可以被任何刚体碰撞,而静态刚体则只能被Dynamic碰撞

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

如何选择

Unity四部曲(核心),unity,游戏引擎 相同的地方就不再赘述,关注一下不同的地方。  (加扭矩就是让它旋转Unity四部曲(核心),unity,游戏引擎

碰撞器

Unity四部曲(核心),unity,游戏引擎在其他碰撞器当中勾选“Used By Composite”再使用复合碰撞器

1.圆形

Unity四部曲(核心),unity,游戏引擎

如果要单独使用就不要勾选复合碰撞器

2.盒状

Unity四部曲(核心),unity,游戏引擎

3.多边形

Unity四部曲(核心),unity,游戏引擎→直接编辑Unity四部曲(核心),unity,游戏引擎

4.边界

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎 

Edge一般用来做不规则地形的碰撞。 和多边形一样,直接点击编辑功能,而不是去手动加点

5.胶囊

 Unity四部曲(核心),unity,游戏引擎一般是竖直,因为人基本是站着的

 6.复合

Unity四部曲(核心),unity,游戏引擎

GeometryType代表的是容器内部是空心的还是实心的。所以才会用边界碰撞来形容

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎给父对象添加复合

然后给子对象开启“Used By Composite”

未开启Unity四部曲(核心),unity,游戏引擎开启Unity四部曲(核心),unity,游戏引擎  所以能节省性能

Synchronous自动更新几何体Unity四部曲(核心),unity,游戏引擎Manual手动更新Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

使用API的注意点

Unity四部曲(核心),unity,游戏引擎

直接赋值速度时不需要乘以deltaTime,它不像translate那样每帧去移动

注意点2,这样仅仅赋值x轴,其实是把它的y轴速度给顶掉了,所以会出现一些问题。因为它本来是xy轴都有速度,这样赋值,相当于只给了一个x方向的力。  

Unity四部曲(核心),unity,游戏引擎

所以y方向应仍然保留重力给予的速度

Unity四部曲(核心),unity,游戏引擎如果场景中有其他力,还应该增加一个额外的条件。因为我们直接去赋值它的速度了,那么其他物体给玩家的力就等于不生效了

物理材质

Unity四部曲(核心),unity,游戏引擎

比如你上斜坡的时候就要考虑一下摩擦力的问题了

恒定力

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

一个是世界坐标系,一个是本地坐标系。第三个是旋转

2D效应器

Unity四部曲(核心),unity,游戏引擎

 需要先勾选碰撞器中“使用效应器”。Unity四部曲(核心),unity,游戏引擎

前三个还需要勾选“是触发器”,因为不是触发器会撞到

区域效应器

Area 会给进入的物体一个力或者旋转力。 如果需要旋转却没转,看rigidbody2D的z轴是否锁定

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

例如下图这种设置的含义

Unity四部曲(核心),unity,游戏引擎力的角度就是45了Unity四部曲(核心),unity,游戏引擎

并且力的大小为30,还会在30-35之间变化。  如果不想让某玩家受到影响,限制一下层级即可

浮力效应器

Buoyancy模拟流体,给的是浮力,模拟玩家处在水里

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Surface Level就是中间这条线

 最后Flow分别是浮力方向,大小,随机。和前面区域效应的参数是一样的

点效应器

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎类似一个磁铁,负数是往里吸。正数是往外排斥

ForceMode   忽略距离,越远呈线性下降,越远呈指数下降

平台效应器

  不需要勾选触发器。   可以从下往上跳,不能从上往下跳,用来做平台或墙壁 

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

注意SurfaceARc的角度定义的是不允许单向跳跃的部分

Sides设置的是平台两边的范围,摩擦力和弹力。没有摩擦力,就不会在按住键时贴在墙上

所以平台效应器对于2D游戏来说是非常好用的,能做成跳跃墙壁,还解决了摩擦力的问题

表面效应器

不需要勾选触发器。所以它和区域不一样,是一个类似地板的传送带,踩上去就会往前滑

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Friction 摩擦力  Bounce 弹力

TileMap

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎需要引入包,然后创建瓦片。有两种创建方式

Unity四部曲(核心),unity,游戏引擎第一种直接在资源面板下创建。

第二种需要先打开TilePalette面板,将资源拖入面板就会变成一个瓦片。Unity四部曲(核心),unity,游戏引擎可以在此处选择创建一个瓦片资源

第二种,打开调色面板的方式。 然后在面板中,还需要创建一个瓦片地图

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

然后拖入图片Unity四部曲(核心),unity,游戏引擎图片会自己变成瓦片

瓦片调色板窗口

1.创建新瓦片地图时的设置,它会让你选择保存位置

Unity四部曲(核心),unity,游戏引擎

根据游戏类型选择网格类型,比如SLG游戏可能用点朝顶部等

Unity四部曲(核心),unity,游戏引擎根据素材本身选择网格类型,比如图片是棱形的,就创建一个棱形的调色板

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

选择Edit是在调色版上作图,没有选择Edit则是在场景中作图

在画笔模式下按住Shift也可以快速擦除,和橡皮的效果是一样的

Unity四部曲(核心),unity,游戏引擎

使用框填或画笔工具时,需要先用选取器工具选取一张图

可以有多个瓦片地图,而每个瓦片地图又可以有很多层。

编辑瓦片地图

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎下面是其他类型的瓦片地图

这样就可以在地图当中进行绘制。Unity四部曲(核心),unity,游戏引擎如果在同一个Grid下又创建了一个TileMap,

那么相当于加了一个层级,在其面板中有一个对应的层级概念(同一个Grid的不同层)

层本身序号Unity四部曲(核心),unity,游戏引擎调色板中的设置Unity四部曲(核心),unity,游戏引擎

注意事项

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎如果图片没有贴合轴线,请检查sprite的轴心位置,然后修改轴心↑                      修改后↑

Unity四部曲(核心),unity,游戏引擎在等距瓦片中可能产生层级的渲染问题←

  注意z必须是-0.26,这个值是固定的Unity四部曲(核心),unity,游戏引擎中设置中改成自定义轴Unity四部曲(核心),unity,游戏引擎然后修改其中的渲染参数Unity四部曲(核心),unity,游戏引擎改为第二种模式Unity四部曲(核心),unity,游戏引擎渲染正常

推测:y轴正1意思是先渲染上面的再渲染下面的,z轴-0.26则是先渲染后面的再渲染前面的

Unity四部曲(核心),unity,游戏引擎这底下的z轴可以改变物体在场景中的高低Unity四部曲(核心),unity,游戏引擎

但一般不会直接在这改,而是直接使用快捷键 - + (大键盘上的)来控制

Unity四部曲(核心),unity,游戏引擎
瓦片地图的用途-注意点

瓦片地图关键脚本与碰撞器

Unity四部曲(核心),unity,游戏引擎Grid参数

Unity四部曲(核心),unity,游戏引擎出现这种情况,要么修改网格大小,要么修改图片每单位像素点

Tilemap上的参数,不太重要(只有标红的才重要Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

其中两个可能不会修改,但TilemapRenerer一定很重要。其中Mode和Layer是重中之重

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎图中斜坡应该设置成按Sprite生成,方块按Grid,下面的应该选择None。因为用不到的完全可以不设置碰撞器节省一些性能消耗。

Unity四部曲(核心),unity,游戏引擎如果完全不用这么多碰撞器,可以勾选添加的TilemapCollider2D中的使用复合碰撞器,虽然会额外生成刚体,但可以设置成静态刚体节省消耗

练习题一二

 如果我要结合平台效应器,就可以用同一张图片再做一个瓦片,将他的碰撞器属性改为None,然后在场景中做一个空物体,挂载碰撞器,再挂载平台效应器,调整位置和瓦片重合。也能达到效果

实战知识点(排序)

Unity四部曲(核心),unity,游戏引擎建议用普通的等距瓦片

 如果要把它设置在地面上,想象它的底部有一个四边形,把轴心设置在底部四边形的中心

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎这样就是站立在地面的Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎我们设置了人物的轴心点在最底下,所以应该按轴心点来渲染Unity四部曲(核心),unity,游戏引擎

还有一个注意的问题,Unity四部曲(核心),unity,游戏引擎

人物y轴大于图片y轴则会被覆盖,所以应该将图片轴心调至最上方,这样人物图片始终在前

但一般推荐直接用“排序层”排序,除非是树木这种需要为玩家去进行遮挡交互等

Unity四部曲(核心),unity,游戏引擎如果出现玩家浮现在墙壁上的问题,可以额外加一个层级

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎再建一个画墙壁的层级高的层

三:如果你希望加一些植物等物体,可以再加一个和玩家层级相同的层,这样会按轴心点排序

Unity四部曲(核心),unity,游戏引擎并且应该选择单张图片进行渲染,而不是整体渲染

Unity四部曲(核心),unity,游戏引擎此时玩家轴心点在最下角,树也是,花在中心

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎不做成瓦片一个格子可以无限放,做成瓦片一个格子就只能放一个,但可以批量绘制,两种方法各有千秋。Unity四部曲(核心),unity,游戏引擎

拓展包

 Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

代码控制瓦片地图

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎TileBase就是瓦片类

注意,SetTile和GetTile的参数格式是Vector3Int

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎设为空即删除Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

注意,替换瓦片实际是批量替换所有的。               可以将鼠标输入转世界,世界再转格子

动画和动画机

Animation

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎如果你提前选中物体再到动画窗口创建动画,Unity就会自动帮你完成以上四种操作,很方便。

哪怕在编辑模式下,也一定要选中物体再进行操作

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

 底部切换曲线模式,可以控制动画要如何播放。选中其中一个关键帧,右键菜单栏参数如下

Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎周期偏移是指动画从几秒开始播放,一般我们不会改它

Unity四部曲(核心),unity,游戏引擎
点击DeBug可以看到更多参数
Unity四部曲(核心),unity,游戏引擎
两个重要参数:帧率。和播放模式

 Unity四部曲(核心),unity,游戏引擎也可以在动画面板最右侧显示出来帧率,再改帧率

Unity四部曲(核心),unity,游戏引擎

老动画系统

Unity四部曲(核心),unity,游戏引擎

 一般来讲我们都会使用新系统Unity四部曲(核心),unity,游戏引擎

同样需要选中物体,然后添加Animation这个组件,再到动画面版里创建动画

 Unity四部曲(核心),unity,游戏引擎如果要用老系统,用过渡播放会比较好Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

老系统的动画事件: 允许带参数

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

 有限状态机

Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎

参数讲解:

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎实际上是根据权重,而不是层级覆盖

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

选中连线,则是设置过渡条件。选中灰色块,则是设置动作状态的一些参数

Unity四部曲(核心),unity,游戏引擎

动画原文件叫“动画1”,拖入后状态块默认与其同名,但是可以修改名字Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎可以把其他块设置成默认的橙块。橙块最先播放

2.条件设置:

Unity四部曲(核心),unity,游戏引擎int的条件比float多两种判断方法。有多个条件则需同时满足

如果条件为Trigger,则触发一次过后马上变回falseUnity四部曲(核心),unity,游戏引擎甚至自动返回

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎GET SET同理,GET做判断很好用

Unity四部曲(核心),unity,游戏引擎切换状态时,是否等待前一动画播放完才切换Unity四部曲(核心),unity,游戏引擎

 2D动画

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

序列帧动画

建议用方法一

Unity四部曲(核心),unity,游戏引擎如果要通过修改帧率来控制动画速度,最好先修改帧率再拖入。如果已经拖入,删除动画,改变帧率后重新拖入

 Unity四部曲(核心),unity,游戏引擎x为0,不为0.y为0,不为0分别是他们的切换条件Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

因为使用了GetAxisRaw所以x可以强转,但y有可能是小数,所以使用了Mathf中的向上取整

 一般来说,用y去判断其实不太准确,因为当下落1时候y是一个负数,取整就变成了0

所以开发当中多数是用碰撞检测去判断,用一个bool,接触地面和离开地面是它的条件

2D骨骼动画

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎如果想创建子对象,先点一下父骨骼根部Unity四部曲(核心),unity,游戏引擎

 想创建骨骼请确保先选中对象Unity四部曲(核心),unity,游戏引擎这个复位会经常用到

Unity四部曲(核心),unity,游戏引擎
蒙皮:主要决定了骨骼控制哪一部分

一般会先自动生成,再手动改细节Unity四部曲(核心),unity,游戏引擎骨骼动画等于是性能换内存

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎权重影响骨骼动时如何影响顶点和边。自动生成蒙皮时就有自动生成权重

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎使用骨骼动画需要导入这个脚本,然后绑定骨骼Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎创建动画的话,和之前是一样的

图集骨骼

如果骨骼原文件是图集,就设置成图集图片,然后给他切片

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

 既然是2D游戏,想要让人物看起来小一点,最好不要改原文件的大小,而是调整摄像机的视口

Psb图片骨骼

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎如果创建的本来就是2D项目,那么很多包其实会默认导入

Psb文件参数

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎如果想重新编辑骨骼就删了之前的骨骼文件

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎再次提醒,添加骨骼之前一定要先选中Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎细调。自动生成可能造成一些关联错误。可以减少也可以增加关联

如果拖入场景后不能编辑,可以先取消关联预设体,再移动子物体等

IK反向动力学

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎使用Psb资源请先创建一个父对象挂载在上面。给父对象添加一个Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎

在需要添加反向动力学的骨骼之下添加一个空对象,充当IK物体

一般四肢用Limb就行了

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎通过这个来反向控制物体

 Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

transform.position=  Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, Camera.main.WorldToScreenPoint(transform.position).z));

 举个例子,这里用自己的位置举例了。其实应该是题目中手臂的位置

换装

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎换装资源一般是隐藏的,需要导入隐藏图层

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎自带换装的组别

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎自己建立的同一组装备资源,名字也关联

Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎可以切换装备了。代码也就是切换它的Label

 Unity四部曲(核心),unity,游戏引擎

需要先引入命名空间; 然后调API设置Label的值(类名,图片类名)。sr是一个SpriteResolver

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
得到玩家下所有子物体身上的结算器,然后加入字典
Unity四部曲(核心),unity,游戏引擎
封装一个方法,如果字典当中有该类,进行换装

不同文件中换装: 可能有多个Psb文件都是同一个角色的装备,这时候就要复制骨骼信息了

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

点击右侧sprite面板,查看每个部位的骨骼蒙皮情况,擅用隐藏和显示功能

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

 可以在新建的换装资料库中建立自己的类别,和每个类别中的具体装备

Unity四部曲(核心),unity,游戏引擎以上是第一步完成了

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎后面两步

 视需求而定。有时两张资源少的图比一张资源多的图占内存更小Unity四部曲(核心),unity,游戏引擎

Spine骨骼

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
作为程序,学会用即可
Unity四部曲(核心),unity,游戏引擎
在官方网站下载运行库,会自动跳转GitHub

导入的时候下面那个是示例,也可以用它的美术资源,不用就可以删了或者不导入

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎直接把SkeletonData拖入场景中Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎

下面是SkeletonData的动画参数相关Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎这种则是用Animator来控制

 代码控制:

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
第一种一定要先设置循环。第二种参数为(索引,名字,loop)
Unity四部曲(核心),unity,游戏引擎
建议用第二种,而且还有排队播放的方法

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎动画特性可以快速的帮助我们定义动画名字Unity四部曲(核心),unity,游戏引擎一般用于复杂1骨骼动画

其他特性使用也差不多,快速得到骨骼名,插槽名,附件的名字

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

其实我更建议用Animator控制,而不是API

页签

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Model

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎下一个是网格,红色比较重要

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

如果需要用到其他的设置,可以去查看思维导图中的具体参数

Rig

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎标黑的一般不会去修改,红色的要记住        可以选择人形或非人形,从别的模型身上导入信息或创建自己的Avatar化身信息

化身设置:

Unity四部曲(核心),unity,游戏引擎

首先需要选择Create From This Model,就会看到替身设置信息

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎按done可以返回Unity四部曲(核心),unity,游戏引擎绑定时都建议用T姿势比较标准。

Unity四部曲(核心),unity,游戏引擎旁边的肌肉部分设置,一般不会经常设置Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

静态模型,选择None。人物模型,选择Humanoid。不规则模型,选择Generic

Animation

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

基础信息
Unity四部曲(核心),unity,游戏引擎
一般压缩建议使用Optimal
Unity四部曲(核心),unity,游戏引擎
也可以自己去增加剪辑片段,从哪一帧到哪一帧
剪辑基本设置

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
第一个选项不勾选会保留原有的旋转,勾选则不会再旋转。offset影响人物的旋转朝向
Unity四部曲(核心),unity,游戏引擎
第一个选项决定运动是否影响根节点随之移动。勾选则运动不影响根节点。人形建议用Feet

 

Unity四部曲(核心),unity,游戏引擎
一三选项的功能与之前相似,只不过是XZ平面

   以上功能Bake选项都决定了动画运动是否影响根运动。偏移也大同小异

 Unity四部曲(核心),unity,游戏引擎这里两个功能用的会比较少

剪辑其他设置

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎配合Animator使用,参数名应相同

Unity四部曲(核心),unity,游戏引擎
比起曲线,事件才是最常用的

Unity四部曲(核心),unity,游戏引擎函数名,下面是可以传递的参数

 

Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎

预览窗口

如果要切换预览的人物模型,直接拖入会比较常用。在面板上指定反而用的比较少

Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎可选

Materials

 调完设置之后一定要记住Apply

Unity四部曲(核心),unity,游戏引擎
一般会默认先用Unity的,再根据材质球来进行选择。线性空间则取消勾选sRGB

Unity四部曲(核心),unity,游戏引擎

可能会有提取材质和纹理的选项。命名规则根据个人需求。查找按第三种更容易找到但消耗也会大

3D动画

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎导入时注意底下有几个动画,只有一个可以直接导入。如果有很多个可以只导入单个动画文件

Unity四部曲(核心),unity,游戏引擎如果动画本身有位移,ApplyRootMotion决定要不要应用

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
比如动画和攻速有关,对应的float越大攻速越快,动画也越快

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎从任意状态都可以转到该状态,比如说死亡状态等

 Unity四部曲(核心),unity,游戏引擎

直接拖下方的滑块也可以更改过渡动画,但用值更准确。偏移则是过渡之后从下一个动画的切入点

在下一个,比如我的动作被打断了,那么可以选择是否排队,之后再次播放被打断的动画

 Unity四部曲(核心),unity,游戏引擎AnyState切换,参数基本相同Unity四部曲(核心),unity,游戏引擎多出来的参数。其中第一个一般取消勾选

Unity四部曲(核心),unity,游戏引擎

练习题,wasd控制人物动画Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

分层与遮罩
 Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎

在Layers新建动画层,点击齿轮,可以设置层级的参数

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

 每一层的动画是同时播放的,通过遮罩,可以让下层被覆盖的动画被显示出来

模型文件中的遮罩影响的只是单个模型本身,这里的Avatar可以影响一个层上的动画

Unity四部曲(核心),unity,游戏引擎
Timig建议可以勾选,除非勾选之后动画很奇怪,那就别勾选

一般覆盖模式用得比较多。可以复制其他层状态。默认第一层,可以手动选择。

动画资源默认为空,可以自己选择。后续就可以用代码改权重,来在两种状态之间进行切换。

思考:既然结合了遮罩和权重,那么一开始就会播放下层的动画和上层的动画。这不是我们想要的,我们只有在条件满足的时候才触发下层的动画显示。所以在下层动画中建立一个空动画,并且让null动画成为默认初始动画,再让null根据条件去切换到我们真正需要的动画。

API:

Unity四部曲(核心),unity,游戏引擎
第一个参数是层级索引,同样用API来获得。第二个是0-1之间的权重值

 想要播放一次又回来,就用Trigger

 

动画混合树

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎可以点进混合树,先介绍1D再讲2D

 1D:Parameter是它的条件,允许更改。   Unity四部曲(核心),unity,游戏引擎添加片段或是一个新混合树

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
自动设置阈值会均分数值,手动设置可能会更准确。另,最大值可以超过1,
如果速度为负数则会倒放。比如跑步可能会倒着跑

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎限制它的最大值只能是-0.5~0.5Unity四部曲(核心),unity,游戏引擎

这样就模拟了按住Shift奔跑的功能。  按下设置,松开关闭

2D混合:线性和平面的区别

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎根据美术出的资源来选择哪种模式Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

只有简单的前后左右。前后左右同时可以融合多个别的动作。运动不表示方向

Unity四部曲(核心),unity,游戏引擎

根据需要选择不同算法的2D模式

子状态机
Unity四部曲(核心),unity,游戏引擎
Unity四部曲(核心),unity,游戏引擎
把几段技能组合到一起,然后在外面播放时,就是组合包播放

 Unity四部曲(核心),unity,游戏引擎选择,连接到上一层的某个状态,还是状态机

 Unity四部曲(核心),unity,游戏引擎

 trigger是触发一次后又回来

IK控制

记住只能在指定函数里使用APIUnity四部曲(核心),unity,游戏引擎先开启层级的IK(反向动力学)通道

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎1则完全固定,0.5则只能动一半

Unity四部曲(核心),unity,游戏引擎像这样设置,身子不动,只有头部转动。可能更符合我们的要求

下一个是设置位置和相关。依旧是先设置权重再设置位置。如果只设置位置,那么参照物旋转时她不会跟着旋转,反过来也一样。也可以两个都设置,根据需要。进行取舍

Unity四部曲(核心),unity,游戏引擎
如果动画本身已经有移动,你还想再自己写移动,就可以用下面那个

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
鼠标滑动控制人物头部朝向。目标位置则×上鼠标相关的位移。

 上面是我写的(没有累加导致旋转角度太小),下面是老师做的↓   他给角度加了限制

Unity四部曲(核心),unity,游戏引擎
注意是绕世界坐标的y轴,也就是绕原点旋转

Unity四部曲(核心),unity,游戏引擎

目标匹配
Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

 这个方法不用写在IK函数里,因为Update里执行状态机,目标匹配基本是跟着状态执行的

Unity四部曲(核心),unity,游戏引擎参数五六会比较重要

Unity四部曲(核心),unity,游戏引擎比如这个动作就是在40%的时候开始起跳,可以看下方的参数

实际填参数填写0.4即可Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎 如果已经勾选,那么就是前两种问题。Unity四部曲(核心),unity,游戏引擎

 而且大部分错误,基本都是因为前两种。因此,可以添加动画事件,确保动画执行时才进行目标匹配Unity四部曲(核心),unity,游戏引擎控制好这个事件触发的时机(过渡阶段之后)

状态机行为与复用

Unity四部曲(核心),unity,游戏引擎在这里给某个状态添加脚本Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎必须继承该类,实现其中的虚方法Unity四部曲(核心),unity,游戏引擎只需要写一个override就能全部看到

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎其他部分和普通脚本没有区别,但使用逻辑不同

Unity四部曲(核心),unity,游戏引擎
比如我想在动画一开始执行一个逻辑,但是他有过渡状态,这时用脚本就会更准确

什么是状态复用:逻辑相同,仅动画不同 

 Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎指定要复刻哪个,然后选择动画即可Unity四部曲(核心),unity,游戏引擎

角色控制器

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎如果确定要使用角色控制器,就应该取消应用根运动

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎第一种方法虽然你没有输入y轴方向的力,但一直在调用这个方法,还是会受到重力的影响。    这里建议用自身的forward

Unity四部曲(核心),unity,游戏引擎其独有的碰撞函数

Unity四部曲(核心),unity,游戏引擎

导航网格

 Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

导航网格NavMesh

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

想要渲染为导航区域的地图必须勾选Navigation Static

Unity四部曲(核心),unity,游戏引擎
最下面的两个是Object当中比较重要的参数.

Unity四部曲(核心),unity,游戏引擎

前两个参数可以理解为,角色越大越高,可行走的区域就越小

如果打开了连接Links,就要设置它的跳跃高度和距离,否则不生效  并且跳跃是单向的

Unity四部曲(核心),unity,游戏引擎如果想要台阶不是这样的斜坡,而是真正的贴合楼梯,那么勾选最后一个选项

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

如果添加了自定义的区域,那么就可以在Object页签里选择它。寻路时会优先走Cost低的部分

寻路组件Agent

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎根据速度播放动画

Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

如果记不住就点进去看

它的速度是一个v3类型的变量,要判断是否等于0可以判断是否等于Vector.zero

Unity四部曲(核心),unity,游戏引擎新建一个路径

连接组件Link

Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎
下面三个标红的参数非常重要

Unity四部曲(核心),unity,游戏引擎

选择最近路径。除非你把消耗覆盖调高,他才可能考虑下面更远的路径

动态障碍物Obstacle

 Unity四部曲(核心),unity,游戏引擎Unity四部曲(核心),unity,游戏引擎

Unity四部曲(核心),unity,游戏引擎

如果静止不动的障碍物,可以勾选雕刻功能,可以理解为把导航网格挖掉了一块

Unity四部曲(核心),unity,游戏引擎

 Unity四部曲(核心),unity,游戏引擎静止物体开启雕刻系统,玩家就会在最近的断点处停下来。

不然就会一直寻路,因为网格还在延续.Unity四部曲(核心),unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-841319.html

到了这里,关于Unity四部曲(核心)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity DOTS物理引擎的核心分析与详解

    最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们来给大家分享和介绍一下这个物理引擎的使用。 Unity.Physics的设计哲学 Unity.Physics是基于DOTS设计思想的一个高性能C#物理引擎的实现, 包含了物理刚体的迭代计算与碰撞检测等查询。Unity.Phy

    2024年01月16日
    浏览(42)
  • 十八、Unity游戏引擎入门

    1、下载     首先需要下载Unity Hub,下载网址:https://unity.com/cn。     然后在其中下载Unity编辑器并安装,可选择最新版本。     接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件,例

    2024年02月16日
    浏览(79)
  • DOTS Unity.Physics物理引擎碰撞查询核心分析

      最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们给大家分享和介绍一下这个物理引擎的碰撞查询以及核心相关概念。 Unity.Physics碰撞查询概述   碰撞查询(Collison Qurey)是Unity.Physics物理引擎中的一个很重要的功能。很多游戏逻辑都需

    2024年04月25日
    浏览(48)
  • DOTS Unity.Physics物理引擎的核心分析与详解

    最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们来给大家分享和介绍一下这个物理引擎的使用。 Unity.Physics 的设计哲学 Unity.Physics是基于DOTS设计思想的一个高性能C#物理引擎的实现,  包含了物理刚体的迭代计算与碰撞检测等查询。Unity.

    2024年03月18日
    浏览(56)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(78)
  • Unity、UE、Cocos游戏开发引擎的区别

    Unity、Unreal Engine(UE)和Cocos引擎是三个常用的游戏开发引擎,它们在功能和特性上有一些区别。以下是它们之间的主要区别: 编程语言:Unity使用C#作为主要的编程语言,开发者可以使用C#脚本进行游戏逻辑编写。Unreal Engine主要使用C++作为编程语言,但也支持蓝图系统,允许

    2024年02月22日
    浏览(66)
  • Unity vs Godot :哪个游戏引擎更适合你?

    游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有各自的优势,没有绝对的好坏之分。Godot开源免费,上手简单,更适合2D和小型游戏

    2024年01月23日
    浏览(98)
  • 30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(74)
  • Unity Physics2D 2d物理引擎游戏 笔记

    2d 材质 里面可以设置 摩擦力 和 弹力 Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。 Kinematic 动力学刚体 动力学刚体不受重力和力的影响,而受用户的

    2023年04月24日
    浏览(124)
  • Unity和UE4两大游戏引擎,你该如何选择?

    目录 游戏引擎 2 —— 难易区别 编程语言 3 —— 游戏产品 UE4制作的游戏产品  Unity制作的游戏产品  产品类型 5 —— 资源商店 6 —— 人才需求 平均薪资 总结      Unity和UE4都是游戏引擎,所谓游戏引擎就是集成了复杂功能的游戏开发软件,他们帮我们实现了复杂的底层逻

    2023年04月08日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包