自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Unity-关于颜色空间的简单理解

颜色空间

2022-10-24 17:42:05 838 1

原创 Unity手册-渲染元素注意事项

一些总结,如有不对之处还请指正小型物体静态物体尽量合并图集,使用同一个材质。注意,大批量的小型物体静态批处理的时候会造成内存的浪费动态物体也应该合并图集,使用同一种材质,严格控制顶点数量(因为动态批处理顶点上限是900)可以使用遮挡剔除对小型物体进行优化,小型物体不建议使用LODGroup,应使用层距离剔除进行处理中大型物体使用视椎体剔除和遮挡剔除进行优化,同时配合LODGroup。另外从遮挡剔除的角度来说,物体被分割成小块有利于增加遮挡剔除的效率。模型软边: 指相邻的三角面共享同一个顶

2020-12-09 00:20:27 270 1

原创 Unity手册-优化一(图形性能)

找出影响图形性能的主要因素游戏的图形部分主要影响计算机的两个系统:CPU 和 GPU。找到性能问题所在是一切优化的首要法则,因为 GPU 与 CPU 的优化策略大不相同(甚至相反;例如,通常在优化 CPU 时让 GPU 做更多工作,反之亦然)。常见瓶颈及检查方法:GPU 通常受填充率或内存带宽制约。降低显示分辨率并运行游戏。如果显示分辨率降低后游戏运行更快,表明 GPU 填充率可能是限制因素。CPU 通常受到需要渲染的批次数的限制。检查 Rendering Statistics 窗口中的“ba

2020-12-04 11:55:41 439

原创 Unity手册-标准着色器和内置着色器

标准着色器Unity 标准着色器是一个包含一整套功能的内置着色器。此着色器可用于渲染“真实世界”的对象,如石头、木头、玻璃、塑料和金属,并支持各种着色器类型和组合。只需在材质编辑器中使用或不使用各种纹理字段和参数即可启用或禁用此着色器的功能。标准着色器还包含一种称为__基于物理着色 (Physically Based Shading)__ 的高级光照模型。基于物理着色 (PBS) 以一种模仿现实的方式模拟材质和光照之间的相互作用。PBS 最近才在实时图形中成为可能。在光照和材质需要以直观而逼真的状态共存

2020-11-26 16:45:10 423

原创 Unity手册-网格、材质和纹理

本篇只是相关知识点的整理网格尽可能将网格合并在一起。这些网格应该尽可能共享材质和纹理。这种做法可大幅提升性能。如果需要在 Unity 中进一步设置游戏对象(添加物理设置、脚本或其他组件),请确保在 3D 应用程序中妥善命名游戏对象。使用 pCube17 或 Box42 之类的名称可能会很费力。使网格在 3D 建模应用程序中的世界原点居中。这样可以使网格更容易在 Unity 中定位。如果网格没有顶点颜色,Unity 会在第一次渲染网格时自动将全白色顶点颜色数组添加到网格。Unity Editor

2020-11-26 15:37:00 2156

原创 Unity手册-光照相关

全局光照(GI)是对直接和间接光照进行建模以提供逼真光照效果的一组技术。Unity 有两个全局光照系统,结合了直接光照和间接光照。烘焙全局光照系统包括光照贴图、光照探针和反射探针。所有渲染管线均支持烘焙全局光照 (Baked Global Illumination) 系统。光源模式Realtime实时光源投射不超过__阴影距离 (Shadow Distance)__ 的阴影。默认情况下,实时光源仅为场景提供实时直接光照。为实时光源执行运行时计算可能成本很高,尤其是在复杂场景中或低端硬件上。由

2020-11-24 14:47:04 197

原创 Unity手册-渲染管线

渲染管线(Rendering Pipeline)可以指很多东西,但是在现在的语境下,我们将渲染管线形容为CPU为了渲染一帧所需要的全部渲染相关的代码。游戏中图像的渲染需要CPU和GPU共同完成,其中CPU负责处理一些“全局”的任务,比如决定每一个绘制指令(Drawcall)中需要提供给GPU的物体、灯光,设置显卡的渲染流水线(这是另一个东西,用来表示一个Drawcall中绘制的整个流程,不要弄混了~),然后同时显卡去进行渲染。而显卡负责“细节”任务,我们可以使用着色器(Shader)代码来给显卡编程,指定如

2020-11-19 17:45:33 659

转载 Unity手册-Graphics -Tier

Graphics.activeTier当前设备的图形档位更改此值会影响所有随后加载的着色器此值一开始是根据当前的硬件,自动检测得到的,也可以修改它;GraphicsTier.Tier1 – 低档【垃圾手机】对应在Shader中定义:UNITY_HARDWARE_TIER1此档位适用于:– 不支持OpenGL ES3的Android设备– iPhone 5, 5C 及其更早的设备– iPod Touch 第5代及其更早的设备– iPad 第4代及其更早的设备– iPad Mini 1代

2020-11-19 16:05:07 765

原创 Unity手册-外部创建资源准则

角色建模的性能优化使用单个带蒙皮的网格渲染器对于每个角色,仅应使用单个带蒙皮的网格渲染器。Unity 使用可见性剔除和包围体更新来优化动画,这些优化仅在您将单个动画组件和单个带蒙皮的网格渲染器组合使用时才会生效。如果使用两个蒙皮网格代替单个网格,模型的渲染时间大概会是单个网格的两倍,并且这样做很少能带来实际的意义。使用尽可能少的材质尽可能减少每个网格上的材质数量。只有在需要为角色的不同部分使用不同着色器(例如,眼睛的特殊着色器)时,才应对一个角色使用多种材质。其余大多数情况下,每个角色有两到三种材

2020-11-18 18:07:43 220

原创 Unity手册-资源工作流

资源数据库对于大多数类型的资源,Unity 需要将资源的源文件中的数据转换为可用于游戏或实时应用程序的格式。这些转换后的文件及其关联的数据会存储在资源数据库 (Asset Database) 中。由于大多数文件格式都经过优化来节省存储空间,所以需要执行转换过程,而在游戏或实时应用程序中,资源数据需要采用可用于硬件(例如 CPU、显卡或音频硬件)的格式才能立即使用。例如,Unity 将 .png 图像文件导入为纹理时,在运行时不会使用原始的 .png 格式数据。而在导入纹理时,Unity 将以另一种格式创

2020-11-12 12:30:52 482

原创 unity学习笔记-C#协程

unity3D是单线程,因此需要协程机制来实现一些类似于多线程的功能,但要明确协程不是进程或线程,其执行过程类似于子例程,或者说不带返回值的函数调用。开启协程StartCoroutine方法是Mono中定义的一个静态方法,有两个重载版本:Coroutine StartCoroutine(IEnumerator routine);Coroutine StartCoroutine(string methonName, Object obj = null);下面来看简单的例子:public cl

2020-11-09 23:54:41 812

原创 unity学习笔记-C#委托

认识委托委托其实是C#中一种类型安全的回调函数机制,委托要确定一个回调方法签名,包括参数以及返回值类型等。下面介绍委托的特点1、方法组转换机制,支持从方法到兼容的委托类型的隐式转换(重载)using UnityEngine;using System.Collections;public class DelegateScript: MonoBehaviour{ //声明两个委托类型,它的实例引用一个方法 delegate void MyDelegate1(int num); delegat

2020-11-02 23:22:34 157

转载 unity学习笔记-C#泛型

什么是泛型泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。为什么要用泛型它有助于您最大限度地重用代码、保护类型的安全以及提高性能。您可以创建泛型集合类。.NET 框架类库在 System.Collections.Generic 命名空间中包含了一些新的泛型集合类。您可以使用这些泛型集合类来替代 System.Collections 中的集合类。您可以创建自己的泛型接口、泛型类

2020-10-29 12:41:40 755 1

原创 unity学习笔记-C#常用数据结构

C#常用数据结构Array-在内存中是连续的,查找速度快。但是类型必须是固定的,长度是必须固定的(会造成内存浪费和溢出),插入删除不方便int[] arr = new int[10];arr[0] = 1;arr[1] = 3;for ( int i = 0; i < 10; i++ ){ Debug.Log(arr[i]);}/* 输出每个数组元素的值 */foreach (int j in n ){ Debug.Log(j);}ArrayList-和

2020-10-29 11:14:58 208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除