Unity横版动作游戏 -瓦片地形和动画瓦片

(规则瓦片)瓦片地形和动画瓦片

准备阶段

Tilemap中创建一个新的文件夹起名叫做Rule Tile,创建一个Rule Tile,用来设置瓦片地形,我们将用他来绘制地形图,类似于Godot中的瓦片地形。

image-20240728044157547

这里给他取名为了Ground 1,用于创建一个地面的瓦片集。在检查器中设置默认图像(没有实际作用,可以理解为它的“头像”后续可以随意更改),用于识别地形集。

image-20240728044348035

因为后续我们设置地形也需要反复这样的选择,那么久就需要快速寻找我们的精灵图像并且是通过名字来查找的。所以,我们回到地形精灵集的图像编辑界面,并修改每一个小图块的名字(右下角修改)。

image-20240728044712594

这个过程中小心不要拖动蓝色的锚点。

创建地形规则

单一地形

首先需要创建一个规则,这里创建规则的方法也类似于 Godot 中的地形集设置。回到刚才创建的瓦片规则,在其中添加规则。

image-20240728045012210

// 点击加号,我的朋友。

​ 然后点击Select选择这个规则瓦片的精灵集,例如,我们可以选择地图左上角的精灵图。

image-20240728045136716

然后设置它的规则可以看到,坐上角的这个地形方块它的左边和上面都没有方块,而它的右边和下面皆有方块。所以我们在掩码中就设置为对应的规则。

image-20240728045403694

image-20240728045528522

用同样的方法来继续添加其他方向和位置的地形。

随机地形

在地形中间的这块,我们其实希望它自由随机的生成,也就是每次创建时在几个中间的图片中随机选择一张。

image-20240728045649259

那么我们可以将他的Output属性设置为Random,然今将随机数量Size修改为你需要的数量,例如这里只有三张,所以设置为3,然后为每一种随机的可能设置对应的精灵图。

image-20240728045752867

image-20240728045911483

设置完成后将我们的规则地形拖入到调色盘Palettle中即可。

设置拐角的规则

你可以在调色盘中去选择这个地形掩码然后进行绘制,别忘记使用矩形工具来进行批量绘制。然后,你可能会发现,在地形拐角处,出现了奇怪的图像。

image-20240728050205457

很容易发现,地形拐角是一个上下左右都有方块的地形。但是在斜上方会有一个空的缺口,而且是必然的。所以,我们需要单独设置四个拐角的规则和图像。

image-20240728050453262

image-20240728050510440

这里只举了这样一个拐角作为例子。

因为正中心的方块也是四个方向都有邻居方块,如果它被放在了规则集的上面,就会优先被匹配从而轮不到这个拐角方块,所以我们需要将其拖动到规则集的最上方来提高优先级。对于其他的三个拐角也是同理。

对于其他的地形,我们可以直接使用Ctrl+D来将Ground 1地形集在文件中复制,然后修改名称创建,这样可以省去设置地形掩码的时间,只用集中于图像的选择即可。

可以看出,这样一个一个的设置地形集相比Godot有好也有坏,好处是可以让资源更加自由不需要美术师将同一个地形一定放在一个区域,坏处是效率稍低。

动态地形(瀑布)

在这个场景中,并没有动态的瓦片集,但是对于流水的精灵来说,它有多个精灵帧,组合在了一起就是一个动态的瓦片。我们只需要按照相同的原理来制作一个动画瓦片即可。

在文件夹中创建一个Animated Tiles的文件夹,并在里面创建一个动态的瓦爿。

image-20240728051159848

由于我们的瀑布有左中右三个瀑布,我们可以复制一下并创建三个动画瓦片。WaterFall Left, WaterFall Middle, WaterFall Right

image-20240728051223879

通过Number of Animated Sprites来设置动画的帧数也就是精灵数量,并选择相应的精灵图。

image-20240728051351256

在选择前,推荐去地图集的精灵编辑器设置一下瀑布的名字(name)。

如果需要修改动画的速度,可以修改Minimum SpeedMaximum Speed来修改动画速度的最大值和最小值。

image-20240728051547082

小作业

可以去实现一下草团的地形,并尽可能的创建更多的地形来丰富场景和自我练习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++——vector在使用过程中迭代器失效的几个常见情景

在使用vector的时候我们可以会遇到需要在已有对象的某个数据之前插入一个数据再对被插入的数据进行修改操作,情况如下: 这段代码在编译器的过程中并不会出现问题,可是一旦运行程序就会出现程序崩溃,这里就是迭代器失效的第一种情况…

如何使用 HTTPie 进行高效的 HTTP 请求

如何使用 HTTPie 进行高效的 HTTP 请求 引言 HTTPie 是一个命令行 HTTP 客户端,它以其简洁的语法和人性化的输出格式赢得了广大开发者的喜爱。与 curl 相比,HTTPie 提供了更加直观和用户友好的接口,使得执行 HTTP 请求变得轻松愉快。本文将…

PVE环境中调整虚拟机磁盘大小

我的希望将PVE中的虚拟机磁盘调整一下,增加20GB。在查询了一些资料后,做一下总结教程。 环境是 PVE8.2.2 版本,虚拟机系统是centos7.9.2009-minimal, 安装系统时划分磁盘分区方式是默认分区方式(不同分区方式下&#…

pinia安装及简介

pinia简介 基本特点 轻量级:Pinia相比于传统的Vuex,体积更小,性能更好,只有大约1KB左右。 简化API:Pinia简化了状态管理库的使用方法,抛弃了Vuex中的mutations,只保留了state、getters和actions…

WHAT - 一个 Github 仓库的 License 如何解读

目录 一、背景二、解读许可证说明的作用常见的开源许可证类型使用他人代码仓库时需要注意的事项结论 实践作为开发者1. 选择许可证类型2. 在 README 文件中编写许可证信息 作为使用者1. 确定权限2. 了解和遵守条款 总结 一、背景 我们经常在一些 Github 仓库里看到 License 部…

探索 `pyjwt`:Python 中的 JWT 处理专家

文章目录 探索 pyjwt:Python 中的 JWT 处理专家简介:为何选择 pyjwt?什么是 pyjwt?安装 pyjwtpyjwt 的基本使用1. 编码JWT2. 解码JWT3. 验证签名4. 过期时间5. 自定义头部 场景应用场景一:用户登录场景二:A…

使用标量函数实现 EF Core 的实用方法

一.介绍 在构建应用程序时,您可能使用标量函数在数据库端实现一些逻辑。在 SQL 中,标量函数是一种对单个值或少量输入值进行操作并始终返回单个值作为输出的函数。这些函数本质上是可重复使用的代码块,用于对数据执行计算或操作。 以下是标…

商品中心关于缓存热key的解决方案

缓存热key一旦被击穿,流量势必会打到数据库,如果数据库崩了,游戏直接结束。 从两点来讨论:如何监控、如何解决。 如何监控 通过业务评估:比如营销活动推出的商品或者热卖的商品。基于LRU的命令,redis-cl…

doccano安装与使用

1.安装 (1)创建虚拟环境 conda create -n doccano conda activate doccano (2)安装doccano pip install doccano (3)doccano初始化 doccano init doccano createuser --username admin --password pa…

Java整理20

1、数据校验 Validation数据校验(1)实现org.springframework.validation.Validator接口,在代码中调用这个类(2)按照BeanValidation方式来校验,通过注解方式(3)基于方法实现校验&…

chk是什么文件格式 chk文件怎么恢复正常 chkdsk文件损坏怎么修复

在使用电脑和移动存储设备时,有时我们会发现磁盘中出现了大量的chk文件。这些chk文件无法打开,也无法得知其原本内容。那么,这些chk文件是什么呢?又该如何将chk文件恢复正常呢? chk文件是什么? 在我们查看…

Cocos Creator2D游戏开发-(2)Cocos 常见名词

场景(Scene): 它一个容器,容纳游戏中的各个元素,如精灵,标签,节点对象。它负责着游戏的运行逻辑,以帧为单位渲染这些内容。就是你理解到的那个场景; 个人理解就是一个画面, 一个游戏不同的关卡,会有不同的…

【前端 12】js事件绑定

JavaScript 事件绑定 在Web开发中,事件绑定是实现用户与网页交互的重要机制。JavaScript 提供了多种方式来绑定和处理事件,使得开发者能够灵活地控制网页的行为。本文将详细介绍JavaScript中事件绑定的两种主要方式,并通过实例演示如何应用这…

Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab运行原理

PythonPytestAllureYamlPymysqlJenkinsGitLab运行原理逻辑及调用关系 GitLab代码仓: Jenkins工作空间: 代码: 测试报告展示:

<Python><paddle>基于python使用百度paddleocr实现车牌识别

前言 paddleocr是百度飞桨的一个文字识别库,准确度非常高,基于其文字识别的基础,将其用于车牌识别。这个识别的准确度是相当高的。 环境配置 系统:windows 平台:visual studio code 语言:python 库&#…

计算机网络知识点面试总结4

#来自ウルトラマンゼロ(赛罗) 1 传输层提供的服务 1.1 功能 传输层向它上面的应用层提供通信服务,它属于面向部分的最高层,同时也是用户功能中的最底层。 为运行在不同主机上的进程之间提供了逻辑通信。 传输层的功能&#xff1…

基于Gunicorn + Flask + Docker的高并发部署策略

标题:基于Gunicorn Flask Docker的高并发部署策略 引言 随着互联网用户数量的增长,网站和应用程序需要能够处理越来越多的并发请求。Gunicorn 是一个 Python WSGI HTTP 服务器,Flask 是一个轻量级的 Web 应用框架,Docker 是一…

react中如何避免父子组件同时渲染(memo的使用)

1.需求说明 react的渲染机制是父子组件同时渲染,不管子组件是否有变化只要父组件重新渲染了子组件就跟着重新渲染。为了避免不必要的消耗,我们可以使用memo钩子函数 2.使用memo前展示 import { memo,useState } from "react"function Son()…

20240728 每日AI必读资讯

Google Gemini 聊天机器人更新 可以免费使用Gemini 1.5 Flash 1. 引入Gemini 1.5 Flash模型: • 提供更快和更高质量的响应。 • 提升推理和图像理解能力。 • 上下文窗口扩大到 32Ktokens,允许进行更长的对话和处理更复杂的问题。 • 即将支持通过 Goo…

【数据结构】常用数据结构的介绍:理解与应用

文章目录 前言一、介绍二、使用场景三、总结 前言 在计算机科学中,数据结构是我们组织和存储数据的方式,它可以帮助我们高效地执行各种操作,如搜索、插入和删除。从数组和链表,到树和图,不同的数据结构有着不同的优点…