IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> unity 笔记 -> 正文阅读

[游戏开发]unity 笔记

今日笔记
用FrameDebug看渲染
https://docs.unity3d.com/cn/2021.1/Manual/FrameDebugger.html

Edit > Project Settings > Graphics 管线设置

SRP (Scriptable Render Pipeline) 可编程渲染管线
URP (Universal Render Pipeline) 通用渲染管线 旧版本叫 Lightweight Render Pipeline (LWRP) 是由 Unity 制作的预构建可编程渲染管线 (Scriptable Render Pipeline)。
URP的官方使用文档
http://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/manual/index.html#top
URP 和 HDRP 建立在 SRP 之上。还可以在 SRP 之上创建自己的自定义渲染管线。

HDRP 官方使用文档
http://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/manual/index.html
SRP
渲染管线实例,它是继承自 RenderPipeline 的类。它的 Render 方法是 SRP 的主要入口点。

Active
可以使用 GameObject.activeSelf 读取当前活动状态。
还使用 GameObject.activeInHierarchy 读取 GameObject 是否在场景中实际处于活动状态。GameObject 是否实际处于活动状态取决于其自身的活动状态,以及其所有父项的活动状态。如果其所有父项都不处于活动状态,则尽管它自己设置为活动状态,它也不会处于活动状态。

添加组件
使用 GameObjectUtility.SetStaticEditorFlags 控制哪些 Unity 系统将 GameObject 视为静态。
在运行时添加组件的最佳方法是使用 AddComponent(在显示的尖括号中指定组件类型)。
若要移除组件,必须对组件本身使用 Object.Destroy 方法。

访问组件
最简单的情况是 GameObject 上的脚本需要访问附加到同一个 GameObject 的另一个组件(请记住,附加到 GameObject 的其他脚本本身也是组件)。为此,第一步是获取对要使用的组件实例的引用。这通过 GetComponent 方法来完成。通常要将组件对象分配给变量,而此操作使用以下代码实现。在此示例中,脚本获取对同一个 GameObject 上的 Rigidbody 组件的引用:
Rigidbody rb = GetComponent();

可以将多个自定义脚本附加到同一个 GameObject。如果需要从一个脚本访问另一个脚本,可以像往常一样使用 GetComponent,只需使用脚本类的名称(或文件名)来指定所需的组件类型。

在这里插入图片描述

Unity 支持以下类型的约束组件:
Aim:旋转受约束的游戏对象以朝向关联的游戏对象。
Look At:将受约束的游戏对象旋转到关联的游戏对象(简化的 Aim Constraint)。
Parent:使受约束的游戏对象跟随关联的游戏对象移动和旋转。
Position:像关联的游戏对象一样移动受约束的游戏对象。
Rotation:像关联的游戏对象一样旋转受约束的游戏对象。
Scale:像关联的游戏对象一样缩放受约束的游戏对象。

FixedUpdate:调用 FixedUpdate 的频度常常超过 Update。如果帧率很低,可以每帧调用该函数多次;如果帧率很高,可能在帧之间完全不调用该函数。在 FixedUpdate 之后将立即进行所有物理计算和更新。在 FixedUpdate 内应用运动计算时,无需将值乘以 Time.deltaTime。这是因为 FixedUpdate 的调用基于可靠的计时器(独立于帧率)。

Update:每帧调用一次 Update。这是用于帧更新的主要函数。

LateUpdate:每帧调用一次 LateUpdate__(在 Update__ 完成后)。LateUpdate 开始时,在 Update 中执行的所有计算便已完成。LateUpdate 的常见用途是跟随第三人称摄像机。如果在 Update 内让角色移动和转向,可以在 LateUpdate 中执行所有摄像机移动和旋转计算。这样可以确保角色在摄像机跟踪其位置之前已完全移动。
物理引擎也采用与帧渲染类似的方式以离散时间步骤进行更新。在每次物理更新之前都会调用一个称为 FixedUpdate 的单独事件函数。由于物理更新和帧更新不会以相同频率进行,所以如果将物理代码放在 FixedUpdate 函数而不是 Update 中,此代码将产生更准确的结果。

GameObject:表示可以存在于场景中的对象的类型。
MonoBehaviour:基类,默认情况下,所有 Unity 脚本都派生自该类。
Object:Unity 可以在编辑器中引用的所有对象的基类。
Transform:提供多种方式来通过脚本处理游戏对象的位置、旋转和缩放,以及与父和子游戏对象的层级关系。
Vectors:用于表达和操作 2D、3D 和 4D 点、线和方向的类。
Quaternion:表示绝对或相对旋转的类,并提供创建和操作它们的方法。
ScriptableObject:可用于保存大量数据的数据容器。
Time(以及帧率管理):Time 类用于测量和控制时间,并管理项目的帧率。
Mathf:一组常见的数学函数,包括三角函数、对数函数以及游戏和应用开发中常用的其他函数。
Random:提供简便的方法来生成各种常用类型的随机值。
Debug:用于可视化编辑器中的信息,这些信息可以帮助您了解或调查项目运行时发生的情况。
Gizmos 和 Handles:用于在 Scene 视图和 Game 视图绘制线条和形状以及交互式手柄和控件。

一个标准的shader结构

Shader "Examples/ShaderSyntax"
{
    CustomEditor = "ExampleCustomEditor"

    Properties
    {
        // Material property declarations go here
    }
    SubShader
    {
        // The code that defines the rest of the SubShader goes here

        Pass
        {
           // The code that defines the Pass goes here
        }
    }

    Fallback "ExampleFallbackShader"
}

Properties标签可以用的内容:
在这里插入图片描述

Fallback
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
着色器在属性块中声明材质属性。如果要访问着色器程序中的某些属性,则需要声明具有相同名称和匹配类型的Cg/HLSL变量。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
unity 开始使用hlsl了
https://docs.microsoft.com/zh-cn/windows/win32/direct3dhlsl/dx-graphics-hlsl
这是学习文档地址。
https://docs.microsoft.com/zh-cn/windows/win32/direct3dhlsl/dx-graphics-hlsl-flow-control
这是语法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 11:09:28  更:2021-07-23 11:09:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 10:45:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码