【零基础入门unity游戏开发——通用篇】图片相关设置
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了
C#篇、unity通用篇、unity3D篇、unity2D篇。
- 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
- 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
- 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
- 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。
这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。
文章目录
- 一、Unity支持的图片格式
- 二、图片参数相关
- 1、Texture Type(纹理类型)
- 1.1 Default(默认)
- (1) sRGB(ColorTexture) (sRGB颜色纹理)
- (2) Alpha Source (Alpha源)
- (3) Alpha Is Transparency (Alpha是透明的)
- 1.2 Normal map 法线贴图
- (1) Create From Grayscale (从灰度创建)
- (2) Flip Green Channel (翻转绿色通道)
- 1.3 Editor GUI and Legacy(GUI编辑器GUI和旧功能GUI)
- 1.4 Sprite(2D and UI)(精灵2D和UI)
- (1) Sprite Mode (Sprite模式)
- (2) Pixels Per Unit 每单位像素数
- (3) MeshType 网格类型
- (4) Extrude Edges 挤出边缘
- (5) Generate Physics Shape 生成物理形状
- (6) Sprite Editor Sprite编辑器
- 1.5 Cursor 光标
- 1.6 Cookie 剪影/遮罩
- (1) Light Type 光照类型
- 1.7 Lightmap 光照贴图
- 1.8 Directional Lightmap 定向光照贴图
- 1.9 Shadowmask 阴影遮罩
- 1.10 Single Channel 单通道
- (1) Channel 通道
- 2、Texture Shape 纹理形状
- 2.1 2D
- 2.2 Cube 立方体
- (1) Mapping 贴图
- (2) Convolution Type 卷积型
- (3) Fixup Edge Seams 固定边缘对接处
- 2.3 2D数组
- 2.4 3D
- 3、高级设置
- 3.1 Non-Power of 2 非2次幂
- 3.2 Read/Write Enabled 读/写已开启
- 3.3 Virtual Texture Only 仅虚拟纹理
- 3.4 Generate Mipmap 生成Mipmap贴图
- (1) Mipmap Filtering Mipmap贴图过滤
- (2) Preserve Coverage 保留覆盖范围
- (3) Replicate Border 复制边框
- (4) Fadeout to Gray 淡出到灰色
- (5) Mipmap Limit Mipmap限制
- (6) Stream Mipmap Levels (流式 Mipmap 层级)
- 3.5 Ignore PNG Gamma 忽略 PNG 伽马值
- 3.6 Swizzle 重排
- 4、平铺拉伸
- 4.1 Wrap Mode 贴图间拼接模式
- (1) Repeat 重复
- (2) Clamp 钳制
- (4) Mirror 镜像
- (4) Mirror Once 镜像一次
- (5) Per-axis 每轴
- 4.2 Filter Mode 过滤模式
- 4.3 Aniso Level
- 5、平台设置
- 5.1 Max Size 最大尺寸
- 5.2 Resize Algorithm 重设大小算法
- 5.3 Format 格式
- 5.4 Compression 压缩
- 5.5 Use Crunch Compression 使用 Crunch 压缩
- 5.6 Override ETC2 fallback 覆盖 ETC2 回退
- 6、预览窗口
- 专栏推荐
- 完结
一、Unity支持的图片格式
- BMP:是Windows操作系统的标准图像文件格式,特点是几乎不进行压缩,占磁盘空间大。
- TIF:基本不损失图片信息的图片格式,缺点是体积大。
- JPG:一般指JPEG格式,属于有损压缩格式,能够让图像压缩在很小的存储空间,一定程度上会损失图片数据,无透明通道。
- PNG:无损压缩算法的位图格式,压缩比高,生成文件小,有透明通道。
- TGA:支持压缩,使用不失真的压缩算法,还支持编码压缩。体积小,效果清晰,兼备BMP的图像质量和JPG的体积优势,有透明通道。
- PSD:是PhotoShop(PS)图形处理软件专用的格式,通过一些第三方工具或自制工具可以直接将PSD界面转为UI界面。
此外,Unity还支持EXR、GIF、HDR、IFF、PICT等格式。其中,在Unity中最常用的图片格式是JPG、PNG和TGA三种。
二、图片参数相关

1、Texture Type(纹理类型)
设置纹理类型主要是为了让纹理图片有不同的主要用途
指明其是用于哪项工作的纹理

1.1 Default(默认)
默认纹理,这是所有 Textures(纹理)最常用的设置。它提供对 Texture 导入的大多数属性的访问。

(1) sRGB(ColorTexture) (sRGB颜色纹理)
启用可以将纹理存储在伽马空间中(对每一个像素做一次幂函数运算)一般勾选

总结:就是人眼看线性渐变的图片会感觉不是线性的,要用伽马控件校正。这样人眼看校正的后的图片会感觉是线性渐变的。
(2) Alpha Source (Alpha源)
指定如何生成纹理的Alpha通道。一般和下面Alpha是透明的按钮配合使用

-
None 无:无论输入纹理是否有Alpha通道,导入的纹理都没有Alpha通道

-
Input Texture Alpha 输入纹理Alpha:输入纹理中的Alpha

-
From Gray Scale 从灰度:从输入纹理RGB值的平均值生成Alpha,一般不用

(3) Alpha Is Transparency (Alpha是透明的)
启用可以避免边缘上的过滤瑕疵,一般启用

1.2 Normal map 法线贴图
法线贴图就是在原物体的凹凸表面的每个点上均作法线,法线就是垂直于某个点的切线的方向向量。

法线贴图可以理解为画出来带3d效果的图片,其实是2d。

游戏中有时不会使用很高精度很多三角面片的模型,否则可能会造成性能问题,特别是移动端。记录高精度模型的各个点的法线做成法线贴图。这样在低精度模型中,通过法线贴图和一些着色器算法。在三角面片更少的低精度模型里能得到效果更好,看起来跟高精度的效果。
比如下面模型的头盔其实并没有很多凹凸面。是通过法线贴图配合着色器光照等等计算得到的效果。

(1) Create From Grayscale (从灰度创建)
启用此属性可以从灰度高度贴图创建法线贴图
(2) Flip Green Channel (翻转绿色通道)
指示是否反转法线贴图的绿色(Y)通道值。当法线贴图采用的约定与 Unity 预期不同时,此选项可能有用。
1.3 Editor GUI and Legacy(GUI编辑器GUI和旧功能GUI)
一般在编辑器中或者GUI上使用的纹理

1.4 Sprite(2D and UI)(精灵2D和UI)
2D游戏或者UGUI中使用的格式

(1) Sprite Mode (Sprite模式)
指定如何从图像中提取精灵图形。

-
Single 单一
按原样使用精灵图像,图片是一张图,不是图集就选这个选项

-
Multiple 多个
瓦片模式,如果是图集,使用该选项,可以在Sprite Editor编辑窗口自定义图片

-
Polygon 多边形
网格精灵模式,如果图片或者图集是多边形可以选择这种模式
(2) Pixels Per Unit 每单位像素数
世界空间中的一个距离单位对应多少像素。Unity中
相关文章:
【零基础入门unity游戏开发——通用篇】图片相关设置
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…...
解决关于原生gmssl无法直接输出sm2私钥明文的问题
解决关于原生gmssl无法直接输出sm2私钥明文的问题 问题描述解决方法解决方法一解决方法二 问题描述 通过gmssl生成sm2公私钥对时,输出的是加密的sm2私钥,无法获取到SM2私钥明文。 解决方法 解决方法一 手动解密: 解决方法二 修改源码&…...
齐次线性方程组及python求解
齐次线性方程组的概念 齐次线性方程组是指所有常数项都为零的线性方程组,其一般形式为: a 11 x 1 a 12 x 2 ⋯ a 1 n x n 0 a_{11}x_1 a_{12}x_2 \cdots a_{1n}x_n 0 a11x1a12x2⋯a1nxn0 a 21 x 1 a 22 x 2 ⋯ a 2 n x n 0 a_…...
基于 Qt / HTTP/JSON 的智能天气预报系统测试报告
目录 一、项目概述 1.1项目背景 1.2项目目标 二、功能需求 2.1 用户界面功能 2.2 后台功能 三、技术选择 3.1 开发框架与工具 3.2 第三方 API 四、UI设计 4.1界面展示 4.2stylesheet样式 五、代码实现 1.构造函数 2.网络请求响应处理函数 3.处理json数据 4.更新…...
基于Real-Sim-Real循环框架的机器人策略迁移方法
编辑:陈萍萍的公主一点人工一点智能 基于Real-Sim-Real循环框架的机器人策略迁移方法本文通过严谨的理论推导和系统的实验验证,构建了一个具有普适性的sim-to-real迁移框架。https://mp.weixin.qq.com/s/cRRI2VYHYQUUhHhP3bw4lA 01 摘要 本文提出的Rea…...
Spring Boot 集成实战:AI 工具如何自动生成完整微服务模块
在数字化转型的浪潮中,开发效率和质量是企业竞争力的关键要素。飞算 JavaAI 作为一款创新的 AI 工具,能在 Spring Boot 开发中,自动生成完整微服务模块,极大提升开发效率。下面,我们就详细介绍如何借助飞算 JavaAI&…...
Vue React
Vue 的源码主要分为以下几个部分: 主要涉及 响应式、虚拟 DOM、组件系统、编译器、运行时。 ├── packages/ │ ├── compiler-core/ # 编译器核心 │ ├── compiler-sfc/ # 处理 .vue 单文件组件 │ ├── compiler-dom/ # 处理 DOM 相关…...
Java高频面试之并发编程-01
hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:并行跟并发有什么区别? 并发 vs 并行:核心区别与场景 1. 定义对比 维度并发(Concu…...
(Kotlin)Android 高效底部导航方案:基于预定义 Menu 和 ViewPager2 的 Fragment 动态绑定实现
支持预定义 Menu 并绑定 Fragment,同时保留动态添加 Tab 的能力 BottomTabHelper.kt package smartconnection.com.smartconnect.home.utilimport android.content.Context import android.util.SparseArray import androidx.annotation.IdRes import androidx.fra…...
2024年零知识证明(ZK)研究进展
Sumcheck 整个领域正在转向更多地依赖于 Sumcheck Protocol Sumcheck是用于验证多项式承诺的协议,常用于零知识证明(ZKP)中,尤其是在可验证计算和扩展性上。它的主要目的是通过对多项式进行分段检查,从而保证某个多项…...
AI 驱动的安全分析的价值是什么?
作者:来自 Elastic Riya Juneja, Alyssa VanNice 与 Enterprise Strategy Group 一起量化经济影响 安全行业十分复杂,变化速度极快。攻击面、利益相关者需求、对手战术以及你使用的工具都在不断演变,导致许多安全团队不确定自己是否已做好准备…...
目标检测YOLO实战应用案例100讲-基于孤立森林算法的高光谱遥感图像异常目标检测(续)
目录 3.4 实验结果与分析 3.4.1 数据集介绍 3.4.2 实验参数分析 3.4.3 实验结果评价与讨论 基于高维孤立森林算法的高光谱图像异常检测 4.1 引言 4.2 基于高维孤立森林算法的异常检测模型 4.2.1 面向高维数据的改进策略 4.2.2 基于光谱有效信息率和目标-背景分离…...
flutter框架中文文档,android智能手机编程答案
RecyclerView优化全攻略:从数据处理到性能提升 字节跳动四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。 数据处理和视图加载分离 我们知道,从远端拉取数据肯定是要放在异步的࿰…...
AWE 2025:当AI科技遇见智能家居
3月20日,以“AI科技、AI生活”为主题的AWE2025(中国家电及消费电子博览会)在上海新国际博览中心开幕。作为全球家电行业风向标,本届展会最大的亮点莫过于健康理念在家电领域的全面渗透。从食材保鲜到空气净化,从衣物清…...
Laraver SQL日志 服务开发
Laravel 项目运行中,有时候需要查看sql语句,分析sql运行的耗时,sql语句的复杂程度分析等等 总之,sql的执行在项目中,非常关键,接下来将说明在laravel 中 配置一个sql日志记录服务。 开发思路:…...
NG-ZORRO中tree组件的getCheckedNodeList怎么使用
在 NG-ZORRO(Ant Design for Angular) 的 Tree 组件 中,getCheckedNodeList 方法用于获取当前选中的节点列表(包括半选状态节点)。以下是具体用法和示例: 基本用法 首先,确保你已通过 ViewChil…...
win10之mysql server 8.0.41安装
一 mysql server 下载 官网下载地址页面 https://dev.mysql.com/downloads/mysql/二 免装版使用步骤 1 解压 下载完成后,解压文件夹,如下所示: 2 执行安装命令 D:\soft\mysql\mysql-8.0.41-winx64\mysql-8.0.41-winx64\bin>mysqld --install Service successfully in…...
蓝桥杯专项复习——二分
目录 二分查找、二分答案基础知识 二分查找模版 【模版题】数的范围 借教室 二分查找、二分答案基础知识 二分查找模版 【模版题】数的范围 输入样例 6 3 1 2 2 3 3 4 3 4 5输出样例 3 4 5 5 -1 -1 思路: 对应两个模版,起始位置是对应第一个模版…...
oracle中java类的使用
方式一: 编写一个简单的java类 vi OracleJavaDemo.java public class OracleJavaDemo { public static String processData(String input) { return "Processed: " input; } } 编译 javac OracleJavaDemo.java 生成OracleJavaDemo…...
高并发内存池(一):项目介绍和Thread Cache实现
前言:本文将要介绍的高并发内存池,它的原型是Google的⼀个开源项⽬tcmalloc,全称Thread-Caching Malloc,近一个月我将以学习为目的来模拟实现一个精简版的高并发内存池,并对核心技术分块进行精细剖析,分享在…...
MySQL与Redis数据一致性保障方案详解
前言 在现代分布式系统中,MySQL和Redis的结合使用非常普遍。MySQL作为关系型数据库负责持久化存储,而Redis则作为高性能缓存层提升系统的响应速度。然而,在这种架构下,如何保证MySQL与Redis之间的数据一致性是一个重要的挑战。本…...
“钉耙编程”2025春季联赛(2)题解(更新中)
1001 学位运算导致的 1002 学历史导致的 // Problem: 学历史导致的 // Contest: HDOJ // URL: https://acm.hdu.edu.cn/contest/problem?cid1151&pid1002 // Memory Limit: 524288 MB // Time Limit: 1000 ms // // Powered by CP Editor (https://cpeditor.org)#include …...
C#高级:启动、中止一个指定路径的exe程序
一、启动一个exe class Program {static void Main(string[] args){string exePath "D:\测试\Test.exe";// 修改为你要运行的exe路径StartProcess(exePath);}private static bool StartProcess(string exePath){// 创建一个 ProcessStartInfo 对象来配置进程启动参…...
【NumPy】1. 前言安装
0.前言 需要具备[[Python]]基础 定义: NumPy 通常与 [[SciPy]](Scientific Python)和 [[Matplotlib]](绘图库)一起使用, 这种组合广泛用于替代 [[MatLab]],是一个强大的科学计算环境,有助于我…...
双向链表的理解
背景 代码中经常会出现双向链表,对于双向链表的插入和删除有对应的API函数接口,但直观的图表更容易理解,所以本文会对rt-thread内核代码中提供的双向链表的一些API函数操作进行绘图,方便后续随时查看。 代码块 rt-thread中提供…...
基于Spring Boot的家庭理财系统app的设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
【测试】每日3道面试题 3/31
长期更新,建议关注收藏点赞。 单元测试策略有哪些,主要内容。 白盒测试黑盒测试基于异常和边界的测试 主要内容:测试用例设计、执行、结果分析、自动化beta测试和alpha测试主要区别 主要区别:测试环境测试者 alphabeta时间先后测…...
Go 语言常见错误
代码及工程组织 1、意外的变量隐藏 示例代码: package mainimport ("fmt" )var FunTester "全局变量 FunTester"func main() {FunTester : "局部变量 FunTester"fmt.Println(FunTester) }func showGlobal() {fmt.Println(FunTest…...
216. 组合总和 III 回溯
目录 问题描述 解决思路 关键点 代码实现 代码解析 1. 初始化结果和路径 2. 深度优先搜索(DFS) 3. 遍历候选数字 4. 递归与回溯 示例分析 复杂度与优化 回溯算法三部曲 1. 路径选择:记录当前路径 2. 递归探索:进入下…...
【Python 算法】动态规划
本博客笔记内容来源于灵神,视频链接如下:https://www.bilibili.com/video/BV16Y411v7Y6?vd_source7414087e971fef9431117e44d8ba61a7&spm_id_from333.788.player.switch 01背包 计算了f[i1],f[i]就没用了,相当于每时每刻只有…...
