自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [方法] 为Cinemachine添加碰撞器

之后在添加的碰撞器组件中选择要与之碰撞的层(选中场景中的Cinemachine物体,在。

2024-07-02 20:06:15 200

原创 [方法] Unity 3D模型与骨骼动画

3dsmax的贴图格式为tga,我们需要在中将其转换为Unity可识别的png格式。

2024-06-29 22:32:01 544

原创 [方法] 《鸣潮》/《原神》呼出与锁定光标的功能细节

本方法适用于Cinemachine - FreeLook。

2024-06-09 22:52:15 997

原创 [入门] 计算机图形学概论

是一门使用数学算法将二维或者三维图形转化为计算机显示器的栅格形式的学科。上图展示了计算机图形学将结构特征转换到了图形信号。

2024-05-20 23:46:11 445

原创 [实例] Unity Shader 逐像素漫反射与半兰伯特光照

漫反射光照是Unity中最基本最简单的光照模型,本篇将会介绍在片元着色器中实现反射效果,并会采用半兰伯特光照技术对其进行改进。

2024-05-19 16:20:41 533

原创 [基础] Unity Shader:法向量与光照

在现实世界中,太阳照射在物体的那一面较亮,而物体背朝太阳的那一面较暗,这就是我们要讨论的问题:如何计算一个物体各个表面的阴暗程度。

2024-05-18 16:01:30 505

原创 [框架] Unity 公共执行器

本篇我们通过使用单例模式来创建一个公共执行器,使得原本应该在Update()、FixedUpdate()中的指令都可以统一放在一个对象中执行,且可进行添加和移除操作。

2024-05-11 22:19:50 359

原创 [入门] Unity Shader前置知识(5) —— 向量的运算

在Unity中,向量无处不在,我想很多人都使用过向量类的内置方法 normalized() 吧,我们都知道该方法是将其向量归一化从而作为一个方向与速度相乘,以达到角色朝任一方向移动时速度都相等的效果,但内部具体是如何将该向量进行归一化的呢,本篇我们就来揭晓这个答案。

2024-05-04 20:06:50 963

原创 [实例] Unity Shader 利用顶点着色器模拟简单水波

我们都知道顶点着色器可以用来改变模型各个顶点的位置,那么本篇我们就利用顶点着色器来做一个模拟简单水波的应用。

2024-05-02 22:12:16 1045 1

原创 [基础] Unity Shader:顶点着色器(vert)函数

顶点着色器(Vertex Shader)是图形渲染的第一个阶段,它的输入来自于CPU。顶点着色器的处理单位是顶点,CPU输入进来的每个顶点都会调用一次顶点着色器函数,也就是我们在Shader代码里所定义的vert函数。本篇我们将会通过顶点的颜色变换、顶点位移、顶点扭曲来介绍顶点着色器(vert)函数。

2024-05-02 18:31:14 1067 1

原创 [方法] Unity 解决类《原神》角色移动方向问题

第三人称视角类的游戏有很多,比如《原神》、《崩坏:星穹铁道》、《剑星》、《绝地求生》等。这些游戏中,角色的移动方向取决于玩家的输入和相机的方向,例如玩家在键盘上按下D键,则角色会相对于相机方向向右移动,本篇文章就来揭晓这背后的实现方式。

2024-05-02 00:16:28 925

原创 [方法] Unity 实现仿《原神》第三人称跟随相机 v1.1

在Unity游戏引擎中,实现类似《原神》的第三人称跟随相机并非易事,但幸运的是,Unity为我们提供了强大的工具集,其中Cinemachine插件便是实现这一目标的重要工具。Cinemachine是一款专为Unity设计的相机控制插件,它提供了丰富的预设和灵活的相机控制选项,本篇我们会利用Cinemachine中的FreeLook Camera来作为第三人称跟随相机,它允许玩家从角色的背后观察游戏世界,增加了游戏的视野和代入感。

2024-04-29 00:46:25 1662

原创 [实例] C# 结合 Shader 实现Unity底层三维渲染

3D图形在Unity中究竟是如何得到的。本篇我们会使用C#结合Shader来自制一个类似于UnityObjectToClipPos ​​​​​函数功能来帮助我们对底层的3D图形实现有一个更深刻的理解。

2024-04-27 00:27:07 710 1

原创 [基础] Unity Shader:应用程序与Cg之间的数据传递

在Unity编辑器中,我们可以直接在Inspector面板里对C#脚本的公开成员变量进行赋值,那么Cg代码怎样才能做到像C#脚本一样让我们能够在代码文件外对变量进行赋值呢?本篇将会介绍使用Properties语义块和uniform关键字来实现应用程序对Cg的数据传递。

2024-04-24 21:20:05 476 1

原创 [基础] Unity Shader:规范的数据组织方式

在实践中,我们往往希望在顶点着色器中得到更多模型数据,比如每个顶点的纹理坐标和法线方向,又或者想从顶点着色器输出一些数据到片元着色器中进行处理,这些需求都是很常见的,所以本篇将会介绍更加规范的Cg代码框架,即数据的组织方式。

2024-04-23 22:07:30 402

原创 [实例] 3D数学应用 —— C# 矩阵变换与三维图形

本篇我们将通过使用C#编写一个窗口程序,来演示矩阵变换在3D图形上的一个应用,包括图形的平移、缩放及旋转,这将会让我们熟练地将矩阵变换与三维渲染结合起来。

2024-04-22 22:26:36 936

原创 [基础] Unity Shader:自定义cginc文件与内置cginc文件

包含文件(include file)是类似于C++中头文件的一种文件,在Unity中,这种包含文件的后缀是.cginc,我们可以通过创建包含文件来保存我们的自定义函数,这样可以非常有利于我们的代码管理,同时,Unity也提供了很多内置的包含文件,了解这些文件中常用的函数对我们编写shader是非常有必要的。

2024-04-21 16:15:11 905

原创 [基础] Unity Shader:类C函数的定义

Cg语言是一种类C的语言,它沿用了大量C语言的特性,本篇会专门介绍Cg语言与函数相关的基础知识,让你对Cg语言的函数有一个深刻的认识。

2024-04-20 23:22:17 343

原创 [基础] Unity Shader:Cg语言常用数据类型

在Unity Shader中我们一般都使用Cg语言来编写代码,且它的数据类型比其他编程语言的数据类型更为丰富,所以,了解Cg语言的常用数据类型是非常重要的。

2024-04-20 17:57:03 423

原创 [基础] Unity Shader:顶点/片元着色器代码框架

我们在此篇正式开始学习如何编写Unity Shader,更准确地说,是学习如何利用Cg语言编写顶点/片元着色器。

2024-04-19 22:28:15 367

原创 [基础] Unity Shader的文件结构

Shader文件可包含多个SubShader语义块,但最少要有一个。在运行Shader文件时Unity会扫描该文件下所有SubShader语义块,然后选择第一个能够在目标平台上运行的SubShader,如果都不支持,则会使用Fallback语义指定的Unity Shader。// 标签 (可选)Tags {"[标签名]" = "[值]"...// 状态 (可选)[状态名称] [指令]// 渲染管线Pass {PropertiesSubShaderPass。

2024-04-18 23:10:20 535

原创 [入门] Unity Shader前置知识(4) —— 矩阵变换

在Unity或其它三维软件中,一个物体常常能被旋转、缩放和平移,然而这些操作,就是通过矩阵变换来解决的。

2024-04-17 23:00:27 482

原创 [入门] Unity Shader前置知识(3) —— 特殊矩阵

在Unity Shader中我们常常会遇到一些特殊的矩阵,这些特殊的矩阵往往具有一些重要的概念和性质,我们很有必要去了解它们。

2024-04-16 22:30:39 478

原创 [入门] Unity Shader前置知识(2) —— 矩阵的运算

在编写Shader的过程中,我们常常要面对矩阵的一些运算,因此,了解矩阵的有关运算是非常重要的。

2024-04-15 19:35:09 559

原创 [入门] Unity Shader前置知识(1) —— 矩阵基础

GPU编程是一件非常复杂的事情,在没有一定数学基础的情况下,学习起来十分困难,故本文将会从最基本的矩阵(matrix)开始介绍。

2024-04-14 19:15:23 412

原创 [步骤] 启用Unity全新输入系统

使用Unity全新输入系统可以方便地让我们的项目进行跨平台。本文会介绍Unity全新输入系统的相关配置以及其使用方法。

2024-04-13 20:11:55 756

空空如也

空空如也

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

TA关注的人

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