【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.pswp.cn/bicheng/93127.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93127.shtml

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

相关文章

Python自定义异常类的写法与使用场景

在软件开发的生命周期中&#xff0c;异常处理是保障程序健壮性与可维护性的关键环节。Python作为一门高级编程语言&#xff0c;内置了丰富的异常机制&#xff0c;能够高效、优雅地应对运行时的各种错误。然而&#xff0c;面对复杂业务场景和多层架构时&#xff0c;内置异常往往…

为 Promethus 配置https访问

一、序言 本篇将介绍如何使用数字证书为Promethus 访问提供加密功能&#xff0c;由于是实验环境证书由openssl生成&#xff0c;操作指南来自官网手册&#xff1a;https://prometheus.io/docs/guides/tls-encryption/在生产环境中prometheus可能会放在后端&#xff0c;证书一般配…

摆脱例行 SQL 报表的隐性成本:用 n8n 构建四节点自动化报告流程

例行 SQL 报表的隐藏成本 各类组织的数据团队都面临同样的反复难题:利益相关方需要定期报告,但手工 SQL 报表占用了本可用于分析的宝贵时间。无论公司规模如何,流程几乎一致——连接数据库、执行查询、格式化结果,并将结论分发给决策者。 数据从业者经常要处理并不需要高…

HCIP——OSPF综合实验

一、实验拓扑二、实验要求1、R4为ISP&#xff0c;其上只配置IP地址&#xff1b;R4与其他所直连设备间均使用公有IP&#xff1b; 2、R3-R5、R6、R7为MGRE环境&#xff0c;R3为中心站点&#xff1b; 3、整个OSPF环境IP基于172.16.0.0/16划分&#xff1b;除了R12有两个环回&#x…

GitHub 趋势日报 (2025年08月12日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图1397gpt4all442system-prompts-and-models-of-ai-tools331umami307full-stack-fast…

Linux网络性能调优终极指南:深度解析与实践

Linux网络性能调优终极指南&#xff1a;深度解析与实践 一、性能调优核心原理体系 1.1 数据包生命周期与性能瓶颈 #mermaid-svg-TsvnmiGx1WeTerK2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-TsvnmiGx1WeTerK2 .…

串口超时参数深度解析:ReadTotalTimeoutMultiplier、ReadIntervalTimeout等

一、参数定义与作用 1.1 ReadIntervalTimeout&#xff08;字符间隔超时&#xff09; 定义&#xff1a;指定两个连续字符到达之间的最大允许时间&#xff08;毫秒&#xff09;作用&#xff1a;当接收两个字符的时间间隔超过该值时&#xff0c;ReadFile操作立即返回已缓冲的数据特…

ubuntu20.04下C++实现点云的多边形区域过滤(2种实现:1、pcl的CropHull滤波器;2、CUDA上实现射线法)

在点云目标检测中&#xff0c;经常会有一系列的误识别&#xff0c;为了减小误识别的概率&#xff0c;可以通过区域过滤来删除不需要的点云&#xff0c;如下图所示 本例中点云的场景为路口交通场景&#xff0c;已经把雷达坐标系的xoy面转换至点云中的地平面&#xff0c;具体原理…

Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用(389)

Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用(389) 引言: 正文: 一、传统智能家居的 “剧本困境”:按流程走,不管人需 1.1 设备与用户的 “理解差” 1.1.1 场景联动 “太机械” 1.1.2 行为识别 “太粗糙” 1.1.3 技术落地的 “体验坑” 二、…

7 ABP Framework 支持的 UI 框架

ABP Framework 支持的 UI 框架 该页面详细介绍了 ABP Framework 支持的三种 UI 框架&#xff08;Angular、Blazor、MVC/Razor Pages&#xff09;&#xff0c;以及它们的架构、依赖、项目结构和共享基础设施。 框架概述 ABP 提供三种独立又可组合使用的 UI 框架&#xff0c;它们…

C++中的`if`语句多操作条件执行及顺序保证技术指南

C中的if语句多操作条件执行及顺序保证技术指南 1. 引言 在C编程中&#xff0c;if语句是控制程序流程的基本结构。随着C17引入if语句的初始化部分&#xff0c;开发者获得了在条件判断前执行初始化操作的能力。然而&#xff0c;实际开发中常遇到更复杂的场景&#xff1a;​在条件…

基于SpringBoot+Uniapp的非遗文化宣传小程序(AI问答、协同过滤算法、Echarts图形化分析)

“ &#x1f388;系统亮点&#xff1a;AI问答、协同过滤算法、Echarts图形化分析”01系统开发工具与环境搭建前后端分离架构项目架构&#xff1a;B/S架构运行环境&#xff1a;win10/win11、jdk17小程序端&#xff1a;技术&#xff1a;Uniapp&#xff1b;UI库&#xff1a;colorU…

[TG开发]简单的回声机器人

你好! 如果你想了解如何在Java上编写Telegram机器人&#xff0c;你来对地方了!准备启动机器人API基于HTTP请求&#xff0c;但在本书中我将使用Rubenlagus的Java库安装库你可以使用不同的方法安装TelegramBots库, 我这里使用Maven<dependency><groupId>org.telegram…

Ubuntu下快速安装Tomcat教程

Apache Tomcat 是一个开源的软件服务器,用于部署和运行 Java Servlet 和 JSP(JavaServer Pages)。本文将详细介绍如何在 Ubuntu 系统上安装并配置 Apache Tomcat。无论你是要开发企业级应用还是学习 Java Web 开发,Tomcat 都是一个不可或缺的工具。 Tomcat 基础功能 Tomca…

并发编程(八股)

概述并行:同一个时间点,多个线程同时执行 并发:同一个时间段,多个线程交替执行,微观上是一个一个的执行,宏观上感觉是同时执行 核心问题: 多线程访问共享数据存在资源竞用问题 不可见性 java内存模型(jmm) 变量数据都存在于主内存里,每个线程还有自己的工作内存(本地内存),规定…

如何在 Spring Boot 中设计和返回树形结构的组织和部门信息

如何在 Spring Boot 中设计和返回树形结构的组织和部门信息 文章目录如何在 Spring Boot 中设计和返回树形结构的组织和部门信息1. 需求分析一、数据库表设计1.1 organization 表设计1.2 department 表设计1.3 模拟数据二、后端设计2.1 实体类设计Organization 实体类Departmen…

Java毕业设计选题推荐 |基于SpringBoot的水产养殖管理系统 智能水产养殖监测系统 水产养殖小程序

&#x1f525;作者&#xff1a;it毕设实战小研&#x1f525; &#x1f496;简介&#xff1a;java、微信小程序、安卓&#xff1b;定制开发&#xff0c;远程调试 代码讲解&#xff0c;文档指导&#xff0c;ppt制作&#x1f496; 精彩专栏推荐订阅&#xff1a;在下方专栏&#x1…

排序概念、插入排序及希尔排序

一、排序基本概念1.就地排序&#xff1a;使用恒定的额外空间来产生输出就地排序只是在原数组空间进行排序处理&#xff0c;也就是输入的数组和得到的数组是同一个2.内部排序和外部排序&#xff1a;待排序数据可以一次性载入到内存中为内部排序&#xff0c;反之数据量过大就是外…

【排序算法】④堆排序

系列文章目录 第一篇&#xff1a;【排序算法】①直接插入排序-CSDN博客 第二篇&#xff1a;【排序算法】②希尔排序-CSDN博客 第三篇&#xff1a;【排序算法】③直接选择排序-CSDN博客 第四篇&#xff1a;【排序算法】④堆排序-CSDN博客 第五篇&#xff1a;【排序算法】⑤冒…

Android领域驱动设计与分层架构实践

引言在Android应用开发中&#xff0c;随着业务逻辑日益复杂&#xff0c;传统的MVC或简单MVP架构往往难以应对。领域驱动设计(Domain-Driven Design, DDD)结合分层架构&#xff0c;为我们提供了一种更系统化的解决方案。本文将探讨如何在Android项目中应用DDD原则与分层架构&…