Unity学习之Unity核心(一)2D相关

news2024/12/27 14:06:53

文章目录

  • 1. 前言
  • 2 图片导入概述
  • 3 图片设置的六大部分
    • 3.1 纹理类型
      • 3.1.1 Default
      • 3.1.2 Normal Map 法线贴图格式
      • 3.1.3 Editor GUI and Legacy GUI
      • 3.1.4 Sprite
      • 3.1.5 Cursor 自定义光标
      • 3.1.6 Cookie 光源剪影格式
      • 3.1.7 LightMap光照贴图格式
      • 3.1.8 Single Channel 纹理只需要单通道的格式
    • 3.2 纹理形状设置
      • 3.2.1 参数
    • 3.3 纹理高级设置
      • 3.3.1 Non-Power of 2 纹理尺寸非2的幂如何处理
      • 3.3.2 read/write enable 可以通过API修改图片
      • 3.3.3 MipMap
      • 3.3.4 Streaming MipMaps 启用纹理串流
      • 3.3.5 Generate MipMap 允许生成MipMap
    • 3.4 纹理平铺拉伸设置
      • 3.4.1 Wrap Mode 平铺纹理时的方法
      • 3.4.2 Filter Mode 纹理在通过3d变化拉伸时的如何过渡
      • 3.4.3 Aniso Level
    • 3.5 纹理平台打包相关设置
      • 3.5.1 MaxSize 导入最大尺寸
      • 3.5.2 Resize Alogorithm 当纹理尺寸大于maxSize时,使用的缩小算法
      • 3.5.3 Format 纹理格式
      • 3.5.4 Compressioin 选择纹理的压缩类型
      • 3.5.5 use Crunch Compression 启用后压缩时间长,解压速度快
      • 3.5.6 Split Alpha Channel 通道分离
  • 4 Sprite
    • 4.1 Sprite Editor—Single图片编辑
      • 4.1.1 设置图片为精灵图片
      • 4.1.2 安装2D Sprite包
      • 4.1.3 single图片编辑功能
      • 4.1.4 Custom outline决定渲染区域
      • 4.1.5 custom physics shape 决定碰撞判断的区域
      • 4.1.6 Secondary Texture 为图片添加特殊效果
    • 4.2 Sprite Editor—Multiple图片编辑
      • 4.2.1 自动分隔
      • 4.2.2 按单元格大小分割
      • 4.2.3 按行列数分割
    • 4.3 Sprite Editor—Polygon
    • 4.4 SpriteRenderer 精灵渲染器
      • 4.4.1 参数
      • 4.4.2 代码创建
      • 4.4.3 练习题
    • 4.5 SpriteCreator 精灵创造者
      • 4.5.1 练习题
    • 4.6 SpriteMask 精灵遮罩
      • 4.6.1 设置Sprite属性
      • 4.6.2 参数
      • 4.6.3 练习题
    • 4.7 SortingGroup 排序分组
    • 4.6 SpriteAtlas 精灵图集
      • 4.6.1 创建图集
      • 4.6.2 参数
      • 4.6.3 代码控制
      • 4.6.4 练习题
  • 5 2D物理
    • 5.1 刚体
      • 5.1.1 Dynamic模式
      • 5.1.2 Kinematic 运动学类型
      • 5.1.3 static
      • 5.1.4 如何选择
      • 5.1.5 API
      • 5.2 碰撞器
      • 5.2.1 碰撞检测函数
      • 5.2.2 练习题
    • 5.3 物理材质
    • 5.4 恒定力
    • 5.5 效应器
      • 5.5.1 区域效应器
      • 5.5.2 浮力效应器
      • 5.5.3 点效应器
      • 5.5.4 平台效应器
      • 5.5.5 表面效应器
      • 5.5.6 总结
    • 5.6 SpriteShape
      • 5.6.1 导入
      • 5.6.2 参数
      • 5.6.3 使用精灵形状概括资源
    • 5.7 SpriteShapeRenderer和Controller 知识点
      • 5.7.1 sprite shape renderer
      • 5.7.2 Sprite shape controller
      • 5.7.3 生成碰撞器
  • 6 Tilemap
    • 6.1 创建瓦片资源
    • 6.2 瓦片调色板窗口
      • 6.2.1 各瓦片的样子
      • 6.2.2 操作技巧
      • 6.2.3 各工具
      • 6.2.4 编辑瓦片地图
      • 6.2.5 有Z轴的瓦片
    • 6.3 瓦片地图关键脚本和碰撞器
      • 6.3.1 Grid
      • 6.3.2 TileMap
      • 6.3.3 TileMap Renderer
      • 6.3.4 瓦片碰撞器


1. 前言

unity核心部分
本系列笔记基于 清华大学出版社的《数据结构:用面向对象方法与C++语言描述》第二版进行学习。

2 图片导入概述

在这里插入图片描述

3 图片设置的六大部分

在这里插入图片描述
在这里插入图片描述

3.1 纹理类型

在这里插入图片描述
在这里插入图片描述

3.1.1 Default

在这里插入图片描述
在这里插入图片描述

3.1.2 Normal Map 法线贴图格式

在这里插入图片描述

3.1.3 Editor GUI and Legacy GUI

在这里插入图片描述

3.1.4 Sprite

在这里插入图片描述
在这里插入图片描述

3.1.5 Cursor 自定义光标

在这里插入图片描述

3.1.6 Cookie 光源剪影格式

在这里插入图片描述

3.1.7 LightMap光照贴图格式

在这里插入图片描述

3.1.8 Single Channel 纹理只需要单通道的格式

在这里插入图片描述

3.2 纹理形状设置

在这里插入图片描述

3.2.1 参数

在这里插入图片描述

3.3 纹理高级设置

在这里插入图片描述

3.3.1 Non-Power of 2 纹理尺寸非2的幂如何处理

在这里插入图片描述

3.3.2 read/write enable 可以通过API修改图片

在这里插入图片描述

3.3.3 MipMap

在这里插入图片描述

3.3.4 Streaming MipMaps 启用纹理串流

在这里插入图片描述

3.3.5 Generate MipMap 允许生成MipMap

在这里插入图片描述

3.4 纹理平铺拉伸设置

3.4.1 Wrap Mode 平铺纹理时的方法

在这里插入图片描述

3.4.2 Filter Mode 纹理在通过3d变化拉伸时的如何过渡

在这里插入图片描述

3.4.3 Aniso Level

在这里插入图片描述

3.5 纹理平台打包相关设置

在这里插入图片描述
在这里插入图片描述

3.5.1 MaxSize 导入最大尺寸

一般设置为2048即可

3.5.2 Resize Alogorithm 当纹理尺寸大于maxSize时,使用的缩小算法

在这里插入图片描述

3.5.3 Format 纹理格式

在这里插入图片描述
都支持的格式
在这里插入图片描述
移动端
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5.4 Compressioin 选择纹理的压缩类型

在这里插入图片描述

3.5.5 use Crunch Compression 启用后压缩时间长,解压速度快

在这里插入图片描述

3.5.6 Split Alpha Channel 通道分离

在这里插入图片描述

4 Sprite

在这里插入图片描述

4.1 Sprite Editor—Single图片编辑

在这里插入图片描述

4.1.1 设置图片为精灵图片

在这里插入图片描述

4.1.2 安装2D Sprite包

在这里插入图片描述
在这里插入图片描述

4.1.3 single图片编辑功能

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.1.4 Custom outline决定渲染区域

在这里插入图片描述
在这里插入图片描述

4.1.5 custom physics shape 决定碰撞判断的区域

在这里插入图片描述

4.1.6 Secondary Texture 为图片添加特殊效果

在这里插入图片描述
在shader中讲解

4.2 Sprite Editor—Multiple图片编辑

在这里插入图片描述
切换成multiple 变成图集模式
在这里插入图片描述
在这里插入图片描述

4.2.1 自动分隔

在这里插入图片描述

4.2.2 按单元格大小分割

在这里插入图片描述

4.2.3 按行列数分割

在这里插入图片描述

4.3 Sprite Editor—Polygon

在这里插入图片描述
在这里插入图片描述

4.4 SpriteRenderer 精灵渲染器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4.1 参数

在这里插入图片描述
在这里插入图片描述

4.4.2 代码创建

在这里插入图片描述

4.4.3 练习题

在这里插入图片描述
题1)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
题2)
在这里插入图片描述

4.5 SpriteCreator 精灵创造者

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5.1 练习题

在这里插入图片描述
创建一个空物体 记录位置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

4.6 SpriteMask 精灵遮罩

在这里插入图片描述

4.6.1 设置Sprite属性

在这里插入图片描述

在这里插入图片描述
做头像

4.6.2 参数

在这里插入图片描述
Custom Range
大于back 小于 front的sprite才能被遮罩

4.6.3 练习题

在这里插入图片描述
创建两个Sprite,第二个缩放大小改为2
把放大的图层级改为1
并设置为

在这里插入图片描述

给放大镜增加遮罩
在这里插入图片描述

在这里插入图片描述

4.7 SortingGroup 排序分组

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4.6 SpriteAtlas 精灵图集

在这里插入图片描述
在这里插入图片描述

4.6.1 创建图集

在这里插入图片描述

4.6.2 参数

在这里插入图片描述
在这里插入图片描述
在这里添加图片 还可以拖文件夹
在这里插入图片描述

在这里插入图片描述
Batches 可以当作DrawCall

4.6.3 代码控制

在这里插入图片描述

4.6.4 练习题

在这里插入图片描述

5 2D物理

5.1 刚体

在这里插入图片描述

5.1.1 Dynamic模式

在这里插入图片描述
在这里插入图片描述

5.1.2 Kinematic 运动学类型

在这里插入图片描述

5.1.3 static

在这里插入图片描述

5.1.4 如何选择

在这里插入图片描述

5.1.5 API

在这里插入图片描述

5.2 碰撞器

在这里插入图片描述
这部分和3D碰撞器差不多,就跳过了
在这里插入图片描述

5.2.1 碰撞检测函数

在这里插入图片描述
在这里插入图片描述

5.2.2 练习题

在这里插入图片描述
给机器人和添加刚体和碰撞器
在这里插入图片描述

创建平台
更改player脚本
在这里插入图片描述
在这里插入图片描述
关闭Z轴旋转
在这里插入图片描述
跳跃
在这里插入图片描述

5.3 物理材质

在这里插入图片描述

创建物理材质。

在这里插入图片描述

在这里插入图片描述

5.4 恒定力

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.5 效应器

在这里插入图片描述
在这里插入图片描述

5.5.1 区域效应器

在这里插入图片描述
添加碰撞器并开启效应器和触发器

在这里插入图片描述
做传送带之类的

5.5.2 浮力效应器

在这里插入图片描述
在这里插入图片描述

5.5.3 点效应器

在这里插入图片描述

在这里插入图片描述
相当于黑洞

5.5.4 平台效应器

在这里插入图片描述
平台效应器不是触发器
在这里插入图片描述
可以提供跳跃的平台
就是可以从下面跳上去的平台,但是可以踩的平台
在这里插入图片描述
在这里插入图片描述

5.5.5 表面效应器

在这里插入图片描述

5.5.6 总结

在这里插入图片描述

5.6 SpriteShape

在这里插入图片描述

5.6.1 导入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.6.2 参数

在这里插入图片描述

5.6.3 使用精灵形状概括资源

在这里插入图片描述

点击一个点,可以选择在精灵形状中添加的图
在这里插入图片描述
在这里插入图片描述
处理夹角
添加后会自动处理夹角内容
在这里插入图片描述

在这里插入图片描述
如果是不封闭图形
在这里插入图片描述
需要自己创建 ,从start 到 end。设置不同角度的
在这里插入图片描述

在这里插入图片描述

5.7 SpriteShapeRenderer和Controller 知识点

在这里插入图片描述

在这里插入图片描述

5.7.1 sprite shape renderer

在这里插入图片描述

5.7.2 Sprite shape controller

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.7.3 生成碰撞器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果选择混合碰撞器,建议把刚体选择成static

6 Tilemap

在这里插入图片描述

在这里插入图片描述

6.1 创建瓦片资源

在这里插入图片描述

6.2 瓦片调色板窗口

在这里插入图片描述

6.2.1 各瓦片的样子

Rectangle
在这里插入图片描述
Hexagon
在这里插入图片描述

isometic
在这里插入图片描述

6.2.2 操作技巧

在这里插入图片描述

6.2.3 各工具

在这里插入图片描述

6.2.4 编辑瓦片地图

在这里插入图片描述
存放在瓦片地图
在这里插入图片描述
直接在场景内创建 tileMap
在这里插入图片描述
在这里插入图片描述

6.2.5 有Z轴的瓦片

在这里插入图片描述
在这里插入图片描述
调整轴心
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
默认情况下 用Z轴排深度
在这里插入图片描述
调整层级

在这里插入图片描述
官方定义

在这里插入图片描述
更改渲染模式

在这里插入图片描述
选中后可以更改Z轴

在这里插入图片描述
然后按加减号可以向上抬和向下抬

6.3 瓦片地图关键脚本和碰撞器

6.3.1 Grid

在这里插入图片描述

在这里插入图片描述

6.3.2 TileMap

在这里插入图片描述
在这里插入图片描述

6.3.3 TileMap Renderer

在这里插入图片描述
在这里插入图片描述

6.3.4 瓦片碰撞器

在这里插入图片描述

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

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

相关文章

【Python 元类探秘】之四:深入检查类定义✨

【Python 元类探秘】之四:深入检查类定义 🔍 前言 🎉 在 Python 的编程艺术中,元类(Metaclass)犹如幕后的导演🎬,悄然塑造着类的本质和行为。这个概念,虽然对于初学者来…

存内计算技术—解决冯·诺依曼瓶颈的AI算力引擎

文章目录 存内计算技术背景CSDN首个存内计算开发者社区硅基光电子技术存内计算提升AI算力知存科技存算一体芯片技术基于存内计算的语音芯片的实现挑战 参考文献 存内计算技术背景 存内计算技术是一种革新性的计算架构,旨在克服传统冯诺依曼架构的瓶颈,并…

家居设计软件的开发框架

家居设计软件的开发框架可以涵盖多个方面,包括图形渲染、用户界面、数据库管理等。以下是一些常用的开发框架和技术,可以用于家居设计软件的开发,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

linux解决访问/下载github连接超时或下载慢的问题

问题 我这里是树莓派从github下载资源出现无法连接,连接超时的问题,如下所示解决方式 修改/etc/hosts文件 例: sudo nano /etc/hosts #添加如下 192.30.255.112 github.com git 185.31.16.184 github.global.ssl.fastly.net这里以树莓派为…

element中calendar组件自定义显示(例如:日期上面显示工作负责人)vue+element自定义日历

目录 1. 属性了解&#xff08;[更多](https://element.eleme.cn/#/zh-CN/component/calendar)&#xff09;2. 代码实现3. 效果图 1. 属性了解&#xff08;更多&#xff09; 2. 代码实现 <template><div class"CalendarPage"><!-- 按年月筛选&#xf…

全链路压测的关键点是什么?

全链路压测是一种重要的性能测试方法&#xff0c;用于评估应用程序或系统在真实生产环境下的性能表现。通过模拟真实用户行为和流量&#xff0c;全链路压测能够全面评估系统在不同负载下的稳定性和性能表现。本文将介绍全链路压测的关键点&#xff0c;以帮助企业更好地理解和应…

QSqlRelationalTableModel 关系表格模型

一、 1.1 QSqlRelationalTableModel继承自QSqlTableModel&#xff0c;并且对其进行了扩展&#xff0c;提供了对外键的支持。一个外键就是一个表中的一个字段 和 其他表中的主键字段之间的一对一的映射。例如&#xff0c;“studInfo”表中的departID字段对应的是“departments…

linux环境安装git、maven、jenkins等

重启 jenkins的命令&#xff1a; systemctl start jenkins 如果没有vim 命令 可以使用 yum install vim 安装 vim git 下载包地址 https://www.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz 1.安装依赖环境&#xff1a; yum install -y curl-devel expat-devel ge…

RK3588平台开发系列讲解(视频篇)RKMedia的VDEC模块

文章目录 一、 VDEC模块支持的编码标准介绍二、VDEC API的调用三、VDEC解码流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢RKMedia是RK提供的一种多媒体处理方案,可实现音视频捕获、音视频输出、音视频编解码等功能。 一、 VDEC模块支持的编码标准介绍 RK3688 V…

【C/C++ 04】归并排序

归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用&#xff0c;也是用空间换时间思维的体现。 将已有序的子序列合并&#xff0c;得到完全有…

洁净室环境监测轮转系统lighthouse多路切换采样系统 中邦兴业

顺序多路切换采样系统在监测颗粒趋势方面发挥着至关重要的作用&#xff0c;特别是在注重产品产量的应用。虽然GMP法规没有强制要求使用这样的系统&#xff0c;但这样的系统在半导体和磁盘驱动器等行业中得到了广泛应用。半导体行业依靠顺序多路切换采样系统来确保颗粒物水平保持…

QT5.14+VS2017安装踩过的一些坑

1.在QT中使用MSVC只能用VS2017&#xff0c;相应的调试器的版本只能用15.9&#xff0c;高于15.9的亲测都不行。完整的安装除了需要QT5.15和VS2017&#xff0c;还需要Windows SDK (10.0.22621) 下载地址&#xff1a;https://developer.microsoft.com/zh-cn/windows/downloads/win…

2023年06月CCF-GESP编程能力等级认证Python编程四级真题解析

一、单选题(共15题,共30分) 第1题 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。 A:编辑 B:保存 C:调试 D:编译 答案:D 第2题 排序算法是稳定的(Stable Sorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关…

网络协议 TCP协议

网络协议 TCP协议 文章目录 网络协议 TCP协议1. TCP协议段格式2. 可靠传输保障机制2.1 确认应答2.2 超时重传 3. 连接保障机制3.1 三次握手&#xff08;建立连接&#xff09;3.2 四次挥手&#xff08;断开连接&#xff09;3.3 TCP状态转换过程 4. 传输效率保障机制4.1 滑动窗口…

fastreport 控件 修改codebar的默认条码定界符

Codebar又称NW7条码&#xff0c;包括abcd0123456789:$/.共20个符号&#xff0c;类似code39码一样前后*号定界符&#xff0c;codebar只能以abcd四个字母为定界符&#xff0c;但fastreport默认的定界符不符合要求&#xff0c;经过反编译&#xff0c;发定它默认加上了A开头&#x…

【开源】基于Qt5的ROS1/ROS2人机交互软件(支持地图编辑/多点导航)

本项目基于Qt5开发&#xff0c;基于CMake进行构建&#xff0c;可以实现一套代码同时在ROS1/ROS2系统中使用(本项目已接入CI,保证多ROS版本/系统版本可用性) 项目地址&#xff1a; https://github.com/chengyangkj/Ros_Qt5_Gui_App 软件在编译时会自动识别环境变量中的ROS1/ROS…

Halcon 22.11语言修改

[编辑]> [设定偏好] [使用者界面]> [语言] 修改为zh_CN 重启程序, 修改为中文简体

C# .Net Framework Swagger

1.安装 Swagger 在NuGet程序包中安装以下文件 Swashbuckle: Swagger&#xff1a; Swagger.Net: 2.在项目APP_Start 文件夹下面找到 SwaggerNet.cs文件 1.注释掉这两行代码 2.将PreStart方法的内容修改为以下 public static void PreStart() {RouteTable.Routes.MapHttpRoute(…

web项目部署,一篇就搞定!

web部署的方式有很多&#xff0c;根据开发方式不同&#xff0c;部署方式也不同。最通用是docker部署&#xff0c;这个想必大家都熟悉。我们今天说另外一种。 部署过程 1、验证Jdk是否安装成功 2、验证Tomcat是否安装成功 3、验证Navicat 是否能连上数据库 4、创建数据库并导入…

C语言进阶之自定义类型

一、结构体 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1&#xff09;结构体的声明 struct tag {member - list; }variable - list;//变量列表 //例如描述一个学生 struct Stu {char name[20];//名字int age;//年龄char sex[5…