前言 场效应器用于模拟一些特殊物理区域或者表面 区域效应器(Area Effector 2D) 当2D碰撞器和效应器区域接触时,可以根据设定给物体增加不同方向的力。 属性: 功能: Use Collider Mask 选中此选项可启用 Collider Mask 属性。如果未启用此选项,则所有 2D 碰撞体都将默认采用全局碰撞矩阵 (Global Collision Matrix)。 Collider Mask 此遮罩用于选择允许与 2D 区域效应器进行交互的特定层。 Use Global Angle 选中此选项可…

2022年5月5日 0条评论 1081点热度 0人点赞 大脸猫 阅读全文

前言 Unity 物理引擎中有几种关节可以使用,主要用于实现类似绳索、弹簧、车轴等效果。 关节类型 2D 关节包括不同类型。请参阅每个关节参考页面以了解有关各自属性的详细信息: 2D 距离关节 (Distance Joint 2D) - 连接由刚体物理组件控制的两个游戏对象,使这两个对象保持一定距离。 2D 固定关节 (Fixed Joint 2D) - 将两个对象保持在相对于彼此的位置,确保对象始终以给定位置和角度偏移。例如,对象好像是采用刚性连接方式相连一样:对象不能彼此远离,不能相互靠近,也不能相对于彼此旋转…

2022年5月5日 2条评论 1976点热度 1人点赞 大脸猫 阅读全文

前言 游戏地图上会有障碍物和地图边界这种设置,它们需要与游戏角色产生碰撞。跟精灵一样,需要添加collide和Rigidbody组件。 地图分层 在设置障碍物的时候,最好是将地图背景放到一个单独的Tilemap中,然后在将障碍物单独放入一个Tilemap。因为在添加collide组件时是为整个Tilemap添加。 当Tilemap有多层时,需要注意它们的渲染顺序,最好是通过调整Tilemap Renderer 中的order in Layer 属性,来决定地图的渲染顺序,值越小即越先被渲染,即值越小的地图会被后面渲…

2022年5月5日 0条评论 1883点热度 2人点赞 大脸猫 阅读全文

前言 等距瓦片地图为六边形瓦片,但是它将瓦片分为了两部分,一部分用于表示地面,一部分用于表示高度。 像是上图这种形式的瓦片,白色部分用于表示地面,而棕色部分则是代表高度,并且这些瓦片的高度可以进行堆叠,实现类似2.5d的效果。 这是Unity给出的示例,实际上是用这种瓦片构造的。 我觉得是相当炫酷了,项目地址:2D_IsoTilemaps 新建等距瓦片地图 在菜单栏中,GameObeject->2D Object->Tilemap->Isometric Z as Y 这样新建一个瓦片地图。 其中I…

2022年5月5日 0条评论 1746点热度 7人点赞 大脸猫 阅读全文

前言 在Unity 2D游戏开发中,Tile Map(瓦片地图)用于建立游戏场景,一般来说游戏中除了角色精灵,还需要复杂的场景作为精灵的背景。像是关卡中的地图,游戏背景,都可以使用瓦片地图来实现,而且十分方便。 什么是瓦片地图 顾名思义,瓦片地图就是瓦片拼接而成的地图,因为游戏中的场景,会有大量的重复元素,将这些元素分解为一个个相同大小的瓦片,然后再使用时在按照需求拼接成不同的场景。这样使用同一批瓦片素材就可以拼接处很多不同的场景,十分方便。 比如这是《星露谷物语》的一个海滩的场景: 这是它的瓦片素材: 将素材切割…

2022年4月26日 0条评论 2107点热度 2人点赞 大脸猫 阅读全文

前言 Unity 引擎中十分重要的两个类,GameObject 与Component。 游戏场景中的几乎所有的东西都可以使用GameObject来表示,而GameObject可以看作是一个Component的容器,大部分功能都由Component来实现。GameObejct需要某个功能时就将对应的Component添加,不需要时就移除,十分的方便。 需要注意的是,C#脚本在添加进GameObject中,也是被一个Component调用的。 游戏对象 GameObject 是 Unity 中场景的构建块,可充当用于确…

2022年4月25日 0条评论 4295点热度 7人点赞 大脸猫 阅读全文

前言 脚本中可以通过预制件创建游戏对象,这样做法相比于直接在Hierarchy Window 中创建更加灵活。 如在游戏角色发射子弹时,这种情况需要游戏角色响应用户输入的同时创建子弹的游戏对象,如果不使用脚本我想不到能怎么去实现这样的需求。 预制件 之前博客中所用到的,在资源文件夹中创建的精灵,动画,游戏对象都是预制件。 也可以通过拖拽Hierarchy Window中的游戏对象到资源文件,这样也会自动生成一个预制件。 个人理解,预制件有点像是高级语言中类的概念,把预制件放到游戏游戏场景中就是实例化一个类对象。 用…

2022年4月24日 0条评论 1447点热度 3人点赞 大脸猫 阅读全文

前言 Unity 引擎使用C#语言作为脚本语言,所以在学习Unity之前应该先了解C#的基本语法,如果你是老道的java或者C++程序员,那么相信你大致了解一下C#的语言,就可以达到基本可使用的状态了。 Unity虽然提供了相当多的游戏组件供用户使用,但是要开发一个完整的游戏,仅仅使用组件又是不够的。 游戏脚本可以触发游戏事件,随时修改组件的属性,并以所需的任何方式响应用户的输入。 创建最简单的C#脚本 在资源窗口右键,create-> C# scrite 可以直接创建一个脚本。也可以通过从主菜单选择 Ass…

2022年4月24日 0条评论 1314点热度 5人点赞 大脸猫 阅读全文

前言 对于同一个精灵,会有多种状态,在不同的状态下呈现不同的动画效果,这是动画状态机的作用。 简单来说比如角色移动,上下左右四个方向的的移动动画一般是不一样的(有的会是一样的,但那关我什么事?),要在角色朝不同方向移动的时候播放不同的动画。 Animator Controller 在之前的博文 [从零开始的Unity 2D——Animation(帧动画)]() 中有提到如何简单的创建 Animation文件,创建时会自动的创建Animator Controller 文件,并且会自动与精灵做绑定。 如果需要手动的创建…

2022年4月24日 0条评论 1707点热度 5人点赞 大脸猫 阅读全文

前言 游戏中精灵在执行移动、跳跃、攻击等动作的时候,都需要播放一些动画使得精灵更像是一个活物。unity为开发者提供了Animation、Animator、AnimationControler三个组件用于实现动画,这篇博文会记录一些简单的使用方法。 处理动画素材 这里首先需要找个地方白嫖一个素材,比如: 这是一个小萝莉奔跑的帧动画,每个动画4帧,然后4个动画分别对应4个奔跑方向。 将素材导入到项目中后,在inspector window中可以看到素材的一些信息,这里需要先将素材中的每一帧切割出来。 切割素材之前需要…

2022年4月24日 0条评论 3647点热度 12人点赞 大脸猫 阅读全文
123456