自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity Shader 解决 invalid output semantic ‘SV_POSITION‘ 报错

今天在看Unity Shader入门精要这本书,照着书上打代码练习的时候出现了invalid output semantic 'SV_POSITION'这个报错。本文为这个报错的解决方法。

2023-04-05 19:49:30 591 3

原创 解决在VS Code中编写Unity Shader代码高亮显示、代码补全、自动缩进

在使用过程中个人感觉VS的代码高亮不是很合理,所以后面用了VS Code,本文就是对解决在VS Code中编写Unity Shader代码高亮显示、代码补全、自动缩进的教程。

2023-03-29 10:08:28 4343 6

原创 Unity3D粒子系统之子弹命中特效

本文将介绍如何使用Unity3D中的粒子效果,制作子弹命中物体后的火花特效。

2023-03-04 13:34:14 1004

原创 Unity3D通过代码修改RGB值来控制UI与物体的Color颜色

在实际应用过程中,经常有需要将某一物体颜色修改成特定颜色的情况,此时Color中自带的颜色就不够用了,此时我们就需要通过用代码修改RGB值来控制颜色。

2023-02-20 10:02:58 5967 1

原创 Unity3D粒子系统之基础属性介绍(二)

本篇主要针对粒子系统中的发射器形状Shape模块进行介绍

2023-02-18 15:35:07 916

原创 Unity寻路系统之Navigation介绍

Unity中的寻路算法有很多种,为了方便开发者,Unity中内置了一套自动寻路系统。本文将主要介绍Navigation中的各种基础属性。

2023-02-14 10:40:47 1028 1

原创 Unity3D粒子系统之制作火焰特效

本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。

2023-02-08 10:57:26 4342 1

原创 Unity3D粒子系统之制作烟雾特效

本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。

2023-02-07 15:47:01 4253

原创 Unity3D粒子系统之基础属性介绍(一)

下文将介绍如何用Unity3D的粒子系统中的基础属性。解释一些基础属性的含义以及应用后的效果。

2023-02-07 14:26:29 2415

原创 Unity中解决碰撞无法检测问题

解决Unity中碰撞无法检测问题

2022-12-12 11:39:56 2255

原创 Unity Shader渐变纹理(3D动漫风格纹理)

一开始,我们在渲染中使用纹理是为了定义一个物体的颜色,但后来人们发现,纹理其实可以用于存储任何表面属性。一种常见的用法就是使用渐变纹理来控制漫反射光照的结果。在之前计算漫反射光照是,我们都是使用表面法线和光照方向的点积结果与材质的反射率相乘来得到表面漫反射效果。...

2022-04-17 16:15:37 3516

原创 Unity Shader凹凸映射

纹理的另一种常见的应用就是凹凸映射。凹凸映射的目的是使用一张纹理来修改模型表面的法线,以便为模型提供更多细节。这种方法不会真的改变模型的顶点位置,只是让模型看起来是“凹凸不平”的,但可以从模型的轮廓处看出破绽。...

2022-04-15 21:00:12 2647

原创 Unity Shader基础纹理及纹理属性

单张纹理我们通常会使用一张纹理来代替漫反射颜色。在本节中,我们讲学习如何在Unity Shader中使用单张纹理来作为模拟的颜色。实践本实践中文吗任然使用Blinn-Phong光照模型来计算光照。我们先在新建的场景里去掉天空盒,去掉天空盒的方法在这:去掉天空盒的方法在这在此文章最底下再新建有个材质,最后在新建有个Shader,把这个Shader赋给刚刚建好的材质...

2022-04-08 14:48:06 3310

原创 UnityCG.cginc中一些常用的帮助函数

在计算光照模型的时候,我们往往需要得到光源方向、视角方向这两个基本信息。在之前,我们都是自行在代码里计算的,例如normaize(_WorldSpaceLightPos.xyz)来得到视角方向(这种方法实际只适用平行光),使用normalize(_WorldSpaceLightPos.xyz - i.worldPosition.xyz)来得到视角方向。当如果需要处理复杂的光照模型。如点光源和聚光灯,我们计算光源方向的方法就是错误的。这需要我们在代码中先判断光源类型,再计算光源信息。手动计算相对比较麻烦(但

2022-04-06 14:50:15 1413

原创 在Untiy Shader中实现高光反射光照模型(逐顶点光照、逐像素光照、Blinn—Phong光照模型)

我们知道基本光照模型中反射部分的计算公式:在公式可以看出,要计算高光反射需要4个参数:入射光线的颜色和强度clight,材质的高光反射系数mspecular,视角方向v以及反射方向r。其中,反射方向r可以有表面法线n和光源方向l计算而得...

2022-04-03 21:22:14 732

原创 在Unity Shader中实现漫反射光照模型(逐顶点漫反射光照、逐像素漫反射光照、半兰伯特光照)

Unity中的环境光和自发光在标准光照模型中,环境光和自发光的计算是最简单的,我们先打开Lighting窗口我们可以在这设置环境光的颜色目前环境光的强度已经改成了Intensity Multiplier,可以在这设置大多数物体是没有自发光特性的,在本书中绝大部分Shader中都没有计算自发光部分。如果要计算也非常简单我们只需要在片元着色器输出最后颜色之前,把材质的自发光颜色添加到输出颜色上即可...

2022-03-31 20:20:24 2246

原创 Unity Shader中的基础光照与标准光照模型(自发光、环境光、高光反射、漫反射)、BRDF光照模型

我们是如何看到这个世界的从宏观上来说,渲染包含了两大部分决定一个像素的可见性决定这个像素上的关照计算而光照模型就是用于决定一个像素上进行怎样的光照计算通常来讲,我们要模拟真实的光照环境来生成一张图片,需要考虑以下3种物理现象光线从光源中被发射出来光线和场景中的一些物体相交:一些管线被物体吸收了,二另一些被散射到其他方向摄像机吸收了一些光,产生了一张图像下面我们会针对每个部分进行解释光源在光学里,我使用辐照度来量化光。对于平行光来说,它的辐照度课通过计算在垂直于l的单位面积上单位

2022-03-29 20:09:58 4678

原创 Unity Shader中的CG/HLSL语义与Shader整洁之道

语义实际上就是一个赋给Shader输入和输出的字符串,这个字符串表达了这个参数的含义Unity支持的语义从应用阶段传递模型数据给顶点着色器时Unity支持的常用语义从顶点着色器传递数据给片元着色器时Unity使用的常用语义...

2022-03-28 13:54:52 1633

原创 Unity Shader内置的文件和变量

在我们编程的过程中,会使用到很多内置文件,内置文件里会包含很多函数、变量、宏等等Unity Shader中也有这些东西比如在CGIncludes文件夹中,就包含了许多Unity内置文件,里面就包含了一些常用的东西UnityCG.cginc里面包含了最常使用的帮助函数、宏、结构体UnityCG.cginc中一些常用的结构体...

2022-03-27 14:20:16 856

原创 Unity Shader中的顶点/片元着色器

顶点/片元着色器的基本结构模型数据从哪里来Struct a2v{ float4 vertex:POSITION; float4 NORMAL:NORMAL; float4 texcoord:TEXCOORD0;}Unity支持的语义有:POSITION,TANGENT,NORMAL,TEXCOORD0,TEXCOORD1,TEXCOOD2,TEXCOORD3,COLOR等。包含了顶点着色器的数据a表示应用(application),v表示顶点着色器(vertex shader),a

2022-03-25 16:29:23 1572

原创 解决在VS中编写Unity Shader代码高亮显示、代码补全、自动缩进

此教程为安装VS编写Unity Shader工具插件安装教程本人刚开始学习Unity Shader,发现得安装了VS上的插件才可以拥有一个比较好的写Shader代码的体验,所以把自己的方法分享出来,希望可以帮到个位先点击扩展中的管理扩展在联机右上角搜索栏中搜索Shader,然后下载ShaderLabVS此插件有代码补全和高亮显示功能,但当我们换行的时候,新的一行没有自动缩进,我们需要再安装另一个插件在搜索栏搜索SubLime,然后点击下载两个插件下载完毕后我们点击关闭,然后在关闭VS窗口

2022-03-24 19:39:36 10455 7

原创 Unity Shader的结构(续)

Shader"MyShader"{ Properties { //所需的各种属性 } SubShader { //真正意义上的Shader代码会出现在这里 //表面着色器(Surface Shader) //顶点/片元着色器(Vertex/Fragment Shader) //固定函数着色器(Fixed Function Shader) } SubShader { //和上一个SubShader类似 }}表面着色器表面着色器...

2022-03-24 09:00:00 76

原创 Unity Shader的结构

材质和Unity Shader在unity中,需要配合使用材质Material和Unity Shader才能达到需要的效果流程创建一个材质→创建一个Unity Shader,并把它赋给上一步中创建的材质→把材质赋给要渲染的对象→在材质面板中调整Unity Shader的属性,以得到满意的效果Unity中的材质Unity中的材质需要配合一个GameObject的Mesh或者Particle Systen组件来工作,它决定了我们的游戏对象看起来是什么样子的Unity中的Shader为了和前面通用的

2022-03-22 15:27:56 1337 1

原创 Unity Shader 渲染流水线

什么是渲染流水线渲染流水线的工作任务是由一个三维的场景出发、生成(渲染)一张二维图像。此过程分为三个阶段:应用阶段、几何阶段、光栅化阶段应用阶段:(1)输出渲染图元——点、线、三角面等(2)开发者准备好场景数据:摄像机的位置、视椎体、场景中包含的模型、使用了哪些光源。(3)开发者做一个粗粒度剔除工作,把不可见的物体剔除,不交给几何阶段处理(4)设置好每个模型的渲染状态(使用的材质(漫反射颜色、高光反射颜色)、使用的纹理、使用shader)几何阶段:(1)输出屏幕的顶点信息(2)处理所

2022-03-09 15:11:36 1998

Unity开发的2.5D飞机大战游戏

敌人一共有三种,每次随机刷新一种敌人,敌人位置为窗口顶部随机位置 玩家可以控制飞船上下左右移动,飞船在横向移动时有倾斜效果 玩家每一点五秒发射一枚子弹,子弹击中敌人飞船后会击毁敌人飞船 玩家初始HP值为100,玩家飞船碰到敌人飞船发射的子弹,损失20点HP值,玩家的HP值在屏幕右上角显示。 玩家攻击时会播放攻击音效 压缩包内文件为unitypackage,直接拖入Unity中即可

2022-12-10

Unity粒子瀑布效果,水从高处落下效果

此资源为水从高处落下的效果,可以用于液体倾倒,瀑布等场景 水分为水流,雾气,涟漪,溅射四种效果,每种效果可以单独拆分 此效果使用粒子效果制作 包内有项目源码,相关资源,演示场景 压缩包内文件为unitypackage,直接拖入Unity中即可

2022-12-10

Unity3D开发的俯视角动作游戏(武士风格)

玩家角色可以近战和远程攻击,拥有两个技能(加速移动,剑气) 敌人分为远程敌人和近战敌人,远程敌人为魔法师,近战敌人为山岭巨人 玩家释放技能和攻击时有音效播放,敌人攻击时也有音效播放 玩家血量在屏幕左上角显示,敌人血量在敌人头顶显示 有开始界面、暂停界面、结束界面 压缩包内文件为unitypackage,拖入Unity中即可编辑运行,附带安装包APK

2022-12-10

Unity液体效果,将材质赋给物体即可使用(Shader)

模拟液体效果,液体会跟着物体移动,收到惯性和重力作用进行晃动 液体上部(表面)为浅色,下部为深色,边缘部分为体现晶莹度的高光 新建一个物体,直接把材质多上去即可使用,参数调整简单,在材质界面直接修改即可 压缩文件内为unitypackage文本,直接拖入Unity中即可使用 内涵源码,材质,演示场景

2022-12-10

空空如也

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

TA关注的人

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