Unity教程(十)Tile Palette搭建平台关卡

Unity开发2D类银河恶魔城游戏学习笔记

Unity教程(零)Unity和VS的使用相关内容
Unity教程(一)开始学习状态机
Unity教程(二)角色移动的实现
Unity教程(三)角色跳跃的实现
Unity教程(四)碰撞检测
Unity教程(五)角色冲刺的实现
Unity教程(六)角色滑墙的实现
Unity教程(七)角色蹬墙跳的实现
Unity教程(八)角色攻击的基本实现
Unity教程(九)角色攻击的改进

Unity教程(十)Tile Palette搭建平台关卡
Unity教程(十一)相机


如果你更习惯用知乎
Unity开发2D类银河恶魔城游戏学习笔记目录


文章目录

  • Unity开发2D类银河恶魔城游戏学习笔记
  • 前言
  • 一、概述
  • 二、Tile Palette瓦片面板的使用
    • (1)创建Palette
    • (2)在Tile Palette中添加资产
    • (3)瓦片的编辑
  • 二、Tile Palette搭建地图
    • (1)创建Tilemap
    • (2)为地面添加碰撞
    • (3)搭建地图
  • 总结


前言

本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记,如有错误,欢迎指正。

本节使用Tile Palette瓦片面板制作Tilemap瓦片地图。
对应b站视频:
【Unity教程】从0编程制作类银河恶魔城游戏P42
【Unity教程】从0编程制作类银河恶魔城游戏P43


一、概述

Tilemap 组件是一个存储和处理瓦片资源以便创建 2D 关卡的系统。此组件将所需信息从放置在组件上的瓦片传输到其他相关组件,例如 Tilemap Renderer 和 Tilemap Collider 2D。
详细内容可见Unity官方手册Tilemap

我们需要使用Tile Palette将瓦片面板修改瓦片并将其放置到Tilemap瓦片地图上。在本节中会讲到Tile Palette的基本操作。
详细内容可见Unity官方手册Tile Palette

二、Tile Palette瓦片面板的使用

(1)创建Palette

布局添加Tile Palette面板
Window->2D->TilePalette
将瓦片面板拖到层次面板旁边
在这里插入图片描述
在这里插入图片描述
创建新的面板
下拉框->Create New Palette->重命名为TileSet->Create
在这里插入图片描述
在这里插入图片描述
创建文件夹Tile Palette存放
在这里插入图片描述

(2)在Tile Palette中添加资产

将下图部分拖大一些。

在这里插入图片描述
将素材拖拽到Tile Palette窗口
素材位置:Assets->Graphics->Surroundings->Medieval_Castle->Tiles
创建一个文件夹Tile Assets来存放素材(因为当时直接导入了教程工程的Graphics这一部分已经有了,可以直接把Tile Assets里的资产拖进来)
在这里插入图片描述
在这里插入图片描述
单个拖入比较麻烦可以,按Shift键选中多个要拖入的瓦片一起添加
在这里插入图片描述
可以看到瓦片的顺序不对,需要我们进行编辑

(3)瓦片的编辑

上面这一栏编辑工具可以用来瓦片地图,也可以编辑瓦片面板本身。
在这里插入图片描述
如果编辑没有开启,点击下面按钮
在这里插入图片描述
这些工具的功能

工具快捷键介绍
图片描述选择工具S单击选择一个瓦片;按住选择多个瓦片
图片描述移动工具M先用选择工具选择,按住将选中的瓦片拖到其他位置
图片描述画笔工具B在瓦片面板中选择瓦片,单击瓦片地图进行绘制;
注意:可以按住Shift键切换擦除工具
图片描述框填工具U在瓦片面板中选择瓦片,在瓦片地图上框选绘制
图片描述选取器工具I类似取色器,可以瓦片面板或者瓦片地图中选择瓦片,
使用选中瓦片在瓦片地图上绘制
图片描述橡皮擦工具D单击选中瓦片删除;按住拖动删除多个瓦片
图片描述填充工具G使用选定的瓦片填充连续的空单元格或相同瓦片区域,
不能选择多个样式的瓦片填充

使用这些工具编辑瓦片面板将素材准备好

二、Tile Palette搭建地图

(1)创建Tilemap

删除之前创建的Platform
在层次面板中创建Tilemap
右键->2D Object->TileMap->Rectangular->重命名为Ground
在这里插入图片描述

选项功能
Hexagonal - Flat - Top六边形瓦片地图,边在上
Hexagonal - Pointed - Top六边形瓦片地图,顶点在上
Isometric等距瓦片地图,默认值
Isometric Z as Y等距瓦片地图,Z 位置值转换为沿 Y 轴的偏移,并且以不同 Z 位置绘制的瓦片在瓦片地图上看起来具有不同的高度。
Rectangular矩形瓦片地图

右击Grid再创建一个Tilemap命名为Background
在这里插入图片描述
将Background的渲染层级调为-1,这样他就会在地面的后面
在这里插入图片描述

(2)为地面添加碰撞

为Ground添加碰撞盒Tilemap Collider 2D 和 Composite Collider 2D
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


将刚体改为静态的
在这里插入图片描述
Tilemap Collider 2D中勾选Used By Composite
在这里插入图片描述
注意:不要忘记修改Ground的层次,不然无法进行碰撞检测
在这里插入图片描述

(3)搭建地图

在瓦片面板中选择要绘制瓦片的组件
在这里插入图片描述

在这里插入图片描述
这是我们平台的效果
在这里插入图片描述
平台和背景的效果是不同的,地面有碰撞,背景没有添加碰撞,在绘制时要选择好绘制的层级。
下面是二者对比
绘制在Ground中
在这里插入图片描述
绘制在Background中
在这里插入图片描述

总结

现在可以用Tile Palette来搭建一个你喜欢的地图啦
但不要在上面耗费太多时间,因为这个教程后面还有很多要学习的内容

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

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

相关文章

IDEA 创建类时自动生成注释

一、背景 在开发的过程中,公司都会要求开发针对自己创建的类进行一些描述说明,为了便于程序员在创建类时快速生成注释。 二、如何配置? 打开File -> Settings -> Editor -> File and Code Templates -> Includes,在File Header…

Unity新输入系统结构概览

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 在学习新输入系统之前,我们需要对其构成有个印象 1.输入动作(Inputaction) 是定义输…

一次caffeine引起的CPU飙升问题

背景 背景是上游服务接入了博主团队提供的sdk,已经长达3年,运行稳定无异常,随着最近冲业绩,流量越来越大,直至某一天,其中一个接入方(流量很大)告知CPU在慢慢上升且没有回落的迹象&…

2分钟搭建一个简单的WebSocket服务器

你好同学,我是沐爸,欢迎点赞、收藏和关注。个人知乎 如何用2分钟在本地搭建一个简单的 WebSocket 服务器?其实使用 Node.js,加上一些流行的库,是很容易实现的。前端同学通过自己搭建 WebSocket 服务器,对于…

百问网全志系列开发板音频ALSA配置步骤详解

8 ALSA 8.1 音频相关概念 ​ 音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。 ​ 数字音频系…

系统重装简记

写在文章开头 因为固态损毁而更换固态,所以需要进行系统重装,由于系统重装都是固定的繁琐的步骤,所以就以这篇文章来记录一下系统重装的一些日常步骤,希望对你有帮助。 Hi,我是 sharkChili ,是个不断在硬核…

《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署etcd 3.5.15容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、部署背景 由于业务系统的特殊性,我们需要面对不同的客户部署业务系统&#xff0…

【网编】——UDP编程

宏观操作 服务器:socket创套接字—bind绑定连接—recvfrom接收数据/sendto发送数据 客户端:socket创套接字—sendto发送数/recvfrom接收数据—close关闭套接字 函数 recv ssize_t recvfrom ( int sockfd , void * buf , size_t len , int flags , str…

链接Mysql 报错connection errors; unblock with ‘mysqladmin flush-hosts‘错误的解决方法!亲测有效!

文章目录 前言一、使用 mysqladmin flush-hosts 命令解锁 IP 地址二、增加 max_connect_errors 参数三、检查连接错误的原因 前言 今天正常的对各大的测试服进行重启的时候发现每台服务器都启动失败!查看日志发现每台服务器都报一下的错误 java.sql.SQLException:…

【学习笔记】Day 13

一、进度概述 1、《地震勘探原理》第六章 二、详情 个人感觉第五,六,八章的解释更倾向于地质学那边负责的,但是多了解相关原理,肯定是有利于 DL-FWI 的相关研究的,所以这里只是做一个粗略的归纳,相关内容详…

android车载手机互联投屏新专题-实战作业布置

背景: 学习了马哥的投屏实战开发课程后,大家都可以实现如下图一样的手机车机多端互联的投屏场景。 即已经实现了手机和车机投屏互动,车机上手机画面屏幕可以与手机实体屏幕一样就是常见的Mirror模式,如果不一样就是课程里面讲的扩…

【策略模式】设计模式系列:在Java中实现灵活的行为选择(实战指南)

文章目录 策略模式:在Java中实现灵活的行为选择引言1. 策略模式的组成1.1 抽象策略 (Strategy)1.2 具体策略 (Concrete Strategy)1.3 上下文 (Context)1.4 UML类图和时序图 2. 策略模式在Java中的实现步骤一:定义抽象策略接口步骤二:创建具体…

波涛汹涌的海面:适用于恶劣环境的水冷电阻器

电阻器液体冷却可提升 3.3kV 中压负载,并大幅减少工业和船舶应用中的电阻器占用空间。在起重机、升降机、升降机和输送机等电机驱动应用中,风冷电阻器很常见,但在中压、高功率应用中,液体冷却胜出。 使用 3.3kV 电源运行以转动 5…

vue前端可以完整的显示编辑子级部门,用户管理可以为用户分配角色和部门?

用户和角色是一对多的关系用户和部门是多对多得关系<template><div class="s"><!-- 操作按钮 --><div class="shang"><el-input v-model="searchText" placeholder="请输入搜索关键词" style="width:…

MySQL的InnoDB的页里面存了些什么 --InnoDB存储梳理(三)

文章目录 创建新表页的信息新增一条数据根据页号找数据信息脚本代码py_innodb_page_info根据地址计算页号根据页号计算起始地址 主要介绍表空间索引页里面有哪些内容&#xff0c;数据在表空间文件里面是怎么组织的 创建新表页的信息 CREATE TABLE test8 (id bigint(20) NOT N…

跟着iMeta学做图|ggplot2绘制多个饼图展示菌群物种组成

原始教程链接&#xff1a;https://github.com/iMetaScience/iMetaPlot/tree/main/221017multi-pieplot 写在前面 饼图 (Pie Plot) 在微生物组研究中可以用来展示菌群物种组成&#xff0c;可以起到与堆叠柱状图相同的展示效果。本期我们挑选2022年4月5日刊登在iMeta上的The imp…

服务器安装哪吒面板详细教程

本文长期更新地址&#xff1a; 服务器安装哪吒面板详细教程-星零岁的博客https://blog.0xwl.com/13568.html 注&#xff1a;本文中部分内容源自网络&#xff0c;第四步中部分来自本人曾经文章&#xff1a;云服务器安装配置宝塔面板并安装基础运行环境教程-星零岁的博客 今天来讲…

VGMShield:揭秘视频生成模型滥用的检测与追踪技术

人工智能咨询培训老师叶梓 转载标明出处 视频生成模型&#xff0c;如 Stable Video Diffusion 和 Videocrafter&#xff0c;已经能够生成合理且高分辨率的视频。但这些技术进步也带来了被恶意利用的风险&#xff0c;比如用于制造假新闻或进行政治宣传。因此&#xff0c;来自弗…

前端学习大纲 | 主流前端技术 | 学习路线

需要完整的学习路线的宝子可以点击获取&#xff1a;点击即可获取完整的学习路线 第一阶段&#xff08;页面还原能力&#xff09; HTML5、CSS3、Git 第二阶段&#xff08;专攻 JS 逻辑能力&#xff09; JavaScript 基础、JavaScript 进阶、JavaScript 高级、ES6 第三阶段&a…

Leetcode面试经典150题-125.验证回文串

解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {/**这题目感觉不是算法题&#xff0c;应该是考coding的细节点&#xff0c;比如如何判断两个字符是否equals&#xff08;大小写要equals&#xff09;空格要忽略&#xff0c;感觉就是纯coding&#xff0c;难道是为…