前言 Unity 除了可以使用帧动画外,还提供了制作骨骼动画的工具,工具包应该是2018左右的版本加入的,目前我使用的2020.3版本已经可以直接使用了,老一点的版本需要在package manager 中下载相应的包才行。 本文参考:https://www.bilibili.com/video/BV1vt411i7p3 准备 在建立骨骼动画之前,最好先准备一张资源图片。 如上图,我将一个火柴人肢解了,这样将四肢分解之后做骨骼动画效果相对会好一些。当然直接使用一整张图也是可以的,但是经过测试,像是手臂和大腿这种需要…

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

前言 Unity 提供了 Input 类作为获取用户输入的一个工具,它可以直接获取键鼠以及一些移动设备的输入信号,包括陀螺仪、加速度传感器之类的,当然触摸信号也是支持的。 还有一种方式是通过虚拟标识来获取信号,可以由开发者将虚拟标识映射到输入涉设备上。 注意:本文只记录关于键鼠信号的输入 Input Input类提供了一些函数来获取按钮的状态: GetAccelerationEvent 返回上一帧期间进行的特定加速度测量。(不分配临时变量)。 GetAxis 返回由 axisName 标识的虚拟轴的值。 GetAx…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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