当前位置: 首页 > news >正文

【Unity开发】Unity核心学习(一)

一、2D相关

在这里插入图片描述

1、图片导入相关设置

(1)Unity支持的图片格式

支持BMP、TIF、JPG、PNG、TGA、PSD
常用格式具体介绍:
JPG:指JPGE格式,属于有损压缩格式,无透明通道
PNG:无损压缩格式,有透明通道
TGA:支持压缩,使用不失真的压缩算法,体积小、效果清晰,有透明通道

(2)图片设置的6大部分

在这里插入图片描述
①纹理类型
在这里插入图片描述
Default:默认纹理,大部分导入的模型贴图都是该类型
在这里插入图片描述
Normal map:法线贴图格式
在这里插入图片描述Editor GUI and Legacy GUI:一般在编辑器中或者GUI上使用的纹理
Sprite(2D and UI):2D游戏或者UGUI中使用的格式
在这里插入图片描述
Cursor:自定义光标
Cookie:光源剪影格式
在这里插入图片描述Lightmap:光照贴图格式
Single Channel:纹理只需要单通道的格式
在这里插入图片描述
②纹理形状
在这里插入图片描述
③高级设置
在这里插入图片描述
MipMap:开启MipMap功能后,Unity会帮助我们根据图片信息生成n张不同分辨率的图片,在场景中会根据我们离该模型的距离选择合适尺寸的图片用于渲染,提升渲染效率。
④平铺拉伸
在这里插入图片描述
⑤平台设置
在这里插入图片描述
Max Size:设置导入的纹理的最大尺寸,即使美术出的很大的图,也可以通过这里把它们限制在一定范围内
Resize Algorithm:当纹理尺寸大于指定的Max Size时,使用的缩小算法
在这里插入图片描述
Format:纹理格式,各平台支持的格式有所不同,如果选择Automatic,会根据平台使用默认设置
Compression:选择纹理的压缩类型,帮助Unity正确选择压缩格式会根据平台和压缩格式的可用性进行压缩
在这里插入图片描述
Use Crunch Compression:启用后,使用Crunch压缩。Crunch是一种基于DXT或ETC纹理压缩的有损压缩格式。压缩时间长,解压速度快。
在这里插入图片描述
在这里插入图片描述
Split Alpha Channel:Alpha通道分离,节约内存。会把一张图分成两张纹理。一张包含RGB数据,一张包含Alpha数据,在渲染时再合并渲染。
Override ETC2 fallback:不支持ETC2压缩的设备上,使用的格式
⑥图片预览窗口

2、Sprite

(1)SpriteEditor

(i)Single图片编辑

在这里插入图片描述

(ii)Multiple图集元素分割

在这里插入图片描述

(iii)Polygon多边形编辑

用于多边形的图片,较少使用

(2)SpriteRender

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

(3)Sprite Creator

介绍:Sprite Creator主要的作用是创造出各种多边形,替代暂未完成的美术资源,先做好功能逻辑,等美术资源完成后直接进行替代即可。
使用:直接在Assets右键选择Sprites进行不同多边形的创建。

(4)Sprite Mask(只显示图片的部分内容)

在这里插入图片描述

(5)Sorting Group

介绍:SortingGroup是排序分组的意思,主要作用是对多个精灵图片进行分组排序,Unity会将同一个排序组中的精灵图片一起排序,类似于单个游戏对象,主要作用是对于需要分层的2D游戏用于整体排序。
使用:直接添加对应组件
在这里插入图片描述

(6)Sprite Atlas 精灵图集制作

(i)开启打图集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码加载打图集后中的某个sprite

        GameObject gameObject = new GameObject();SpriteRenderer sprite = gameObject.AddComponent<SpriteRenderer>();//加载图集SpriteAtlas spriteAtlas = Resources.Load<SpriteAtlas>("MySpriteAtlas");//加载图集中的图片sprite.sprite = spriteAtlas.GetSprite("sprite1");

注意点:通过图集中的图片如果穿插使用,可能会增加drawcall次数

3、2D物理系统

(1)刚体

(i)组件参数介绍

在这里插入图片描述

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

(ii)刚体类型选择

Dynamic:受力的作用,要动要碰撞的对象
Kinematic:通过刚体api移动的对象,不受力的作用,但是要进行碰撞检测
Static:不动不受力的作用,但是要进行碰撞检测

(iii)刚体api调用
Rigidbody2D rigid=this.GetComponent<Rigidbody2D>();
//加力
rigid.AddForce(new Vector2(0,100));
//速度
rigid.velocity=new Vect2(1,0);

(2)碰撞器

(i)六大碰撞器类型

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

(3)物理材质

(i)介绍

物理材质是用于决定在物体产生碰撞时这些物体之间的摩擦和弹性表现的,通过物理材质我们可以做出类似斜坡不滑落,小球反弹等效果

(ii)相关参数

在这里插入图片描述

(4)恒定力

(i)介绍

恒定力是一个特殊的脚本,可以给一个2D刚体持续添加一个力,在做一些随着时间推移而加速的对象时很适用,例如火箭发射效果等,恒定力脚本会线性的为对象添加力和扭矩力 让其移动和旋转。

(ii)相关参数

在这里插入图片描述

(5)效应器

(i)介绍

2D效应器是配合2D碰撞器一起使用
可以让游戏对象在相互接触时产生一些特殊的物理作用
通过2D效应器可以快捷实现:传送 互斥 吸引 漂浮 单项碰撞等效果

(ii)不同种类2D效应器的使用

区域效应器:
在这里插入图片描述
浮力效应器:
在这里插入图片描述
点效应器:
在这里插入图片描述
平台效应器:
在这里插入图片描述
表面效应器:
在这里插入图片描述

4、SpriteShape

(1)作用

以节约美术资源为前提,制作2D游戏场景地形或背景
在PackageManger中可以导入包以及一些示例

(2)Sprite Shape Profile概述文件参数

在这里插入图片描述

(3)Sprite Shape Renderer 精灵形状渲染器

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

(4)Sprite Shape Controller 精灵形状控制器

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

(5)生成碰撞器

(i)使用边界碰撞器,根据形状自动生成(推荐)

在这里插入图片描述

(ii)使用多边形碰撞器配合复合碰撞器

在这里插入图片描述

5、Tilemap 瓦片地图

(1)介绍

作用:用于快速编辑2D游戏中的场景,复用资源提升地图多样性
工作原理:用小图排列组合为一张大地图
与SpriteShape的异同:
共同点:用于制作2D场景或地图
不同点:SpriteShape可以让地图有弧度,Tilemap不行;Tilemap可以快捷制作有伪“z”轴的地图,SpriteShape不行
使用方式:通过Package Manger安装使用

(2)创建瓦片资源

在这里插入图片描述

(3)瓦片调色板窗口使用

(i)创建相关参数

在这里插入图片描述

(ii)操作技巧

在这里插入图片描述

(iii)面板相关

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

(iv)不同类型瓦片使用总结

矩形瓦片:适用于横版游戏地图
六边形瓦片:适用于策略游戏地图
等距瓦片:适用于做有“z”轴的2D游戏(理解不够完全)

(4)瓦片地图关键脚本介绍和碰撞器了解

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

(5)官方扩展包使用

(i)介绍

扩展包下载地址:https://github.com/Unity-Technologies/2d-extras
扩展包作用:添加新的瓦片类型和笔刷类型,更加方便编辑2D场景

(ii)新增瓦片类型

规则瓦片:
在这里插入图片描述
动画瓦片:
在这里插入图片描述
管道瓦片:
在这里插入图片描述
随机瓦片:
在这里插入图片描述
地形瓦片:
在这里插入图片描述

(iii)新增笔刷类型

新建自定义预设笔刷
在这里插入图片描述
扩展画笔
在这里插入图片描述

(6)代码控制相关

(i)获取Tilemap和TileBase和Grid

在这里插入图片描述

(ii)重要api

在这里插入图片描述

http://www.lryc.cn/news/619722.html

相关文章:

  • 简单了解:CS5803芯片技术解析:HDMI到V-by-One的信号转换
  • BGP特性笔记
  • Cursor替代品:亚马逊出品,Kiro免费使用Claude Sonnet4.0一款更注重流程感的 AI IDE
  • PG靶机 - PayDay
  • lowbit函数
  • 打靶日常-文件上传
  • 《Power Voronoi图的数学原理》
  • latex 中将新的一个section重新从1开始排序,而不是和前面的section继续排序
  • PHP Word 批注处理工程设计方案(基于 `docx` 模板 + 批注驱动)
  • 【Word VBA Zotero 引用宏错误分析与改正指南】【解决[21–23]参考文献格式插入超链接问题】
  • [AI React Web] E2B沙箱 | WebGPU | 组件树 | 智能重构 | 架构异味检测
  • Navicat 询问 AI | 优化 SQL 查询
  • 打造专属 React 脚手架:从 0 到 1 开发 CLI 工具
  • Redis中灵活结合SET和SETEX的方法及多语言工具库实现
  • C#自定义日期时间选择器
  • 用python可视化分析海南自贸港封关运作:动因、影响
  • velero 资源备份测试
  • 达梦数据库常见漏洞及处理方案
  • 计算机网络---用户数据报协议User Datagram Protocol(UDP)
  • Unity新手制作跑酷小游戏详细教程攻略
  • CMake笔记:配置(Configure)、生成(Generate)和构建(Build)
  • B站 韩顺平 笔记 (Day 17)
  • c++编程题-笔记
  • 电商双11美妆数据分析
  • 《Foundations and Recent Trends in Multimodal Mobile Agents: A Survey》论文精读笔记
  • 2025年手游防护终极指南:四维防御体系破解DDoS、外挂与协议篡改
  • 从人机协作到情感共鸣:智能销售机器人如何重塑零售体验
  • 织构表面MATLAB仿真
  • 来伊份×养馋记:社区零售4.0模式加速渗透上海市场
  • 10.反射获取静态类的属性 C#例子 WPF例子