- 2024-10-23Unity3D教程:次表面散射的简单实现
次表面散射指的是光线射入半透明材质,在内部发生散射后再透射出来的光线传播过程,考虑到有些项目会需要使用次表面散射,下面就给大家介绍下在Unity3D中次表面散射的简单实现,希望可以帮到大家。 一、前言本文旨在与大家一起探讨学习新知识,如有疏漏或者谬误,请大家不吝指出。以下内
- 2024-10-23卡通渲染(描边方案)
法线外扩Pass{Name"OutLine"CullFrontZWriteOnCGPROGRAM#pragmavertexvert#pragmafragmentfrag#include"UnityCG.cginc"structappdata{float
- 2024-10-23unity贴花实现
Shader"Decal"{Properties{_MainTex("Texture",2D)="white"{} _MixedColor("MixedColor",Color)=(1,1,1,1)//颜色混合 _Alpha("Alpha",Range(0,1.0))=1//透明度}SubShader{
- 2024-08-20TA实践分享:材质与渲染——植物与风(Unity+UE)
【USparkle专栏】如果你深怀绝技,爱“搞点研究”,乐于分享也博采众长,我们期待你的加入,让智慧的火花碰撞交织,让知识的传递生生不息!一、美术分析下面是风格化和写实两种风格的草地效果,看上去是两种不搭边的美术表现形式,但拆解其背后的美术特征和实现原理二者在我们的眼中应该是一
- 2024-07-02一个能让渲染性能提高100倍的办法
GPU光线追踪是当今的热门话题,所以让我们来谈谈它!今天我们将光线追踪一个单个球体。使用片段着色器。是的,我知道。并不特别花哨。你可以在 Shadertoy上搜索并获得数百个示例(https://www.shadertoy.com/results?query=sphere)。甚至已经有一些很棒的教程教你如何做 球体Im
- 2024-04-04Unity的Forward+ FPTL光照剔除解析(二)
序言这一节主要解析BigTile的流程,BigTile主要的作用是:在进行更细粒度的剔除之前,建立起来屏幕空间上的LightList(BigTile)。在建立更细粒度的TileLightList的时候,可以通过屏幕坐标映射找到对应的BigTile,只需对BigTile内的Light做剔除计算,从而减少剔除时的运算量。BigTileLig
- 2024-03-02【Filament】材质系统
1前言本文主要介绍Filament的材质系统,官方介绍详见→FilamentMaterialsGuide。材质系统中会涉及到一些空间和变换的知识点,可以参考:【Unity3D】空间和变换、【Unity3D】Shader常量、变量、结构体、函数、【OpenGLES】MVP矩阵变换、【OpenGLES】透视变换原理。
- 2024-02-19PBR
简介PBR全称PhysicallyBasedRendering即基于物理的渲染它包含很多技术,折射、反射、GI、PBS等其中的重点就是PBS PBSPBS全称PhysicallyBasedShadering即基于物理的着色这是PBR的核心而PBS的核心有1.物质的光学特性主要根据反射率去分为金属和非金属金属1.具有很
- 2024-01-26标准光照Shader
思路《Shader入门精要》看到第九章,试着结合前面的知识实现一个标准光照模型,采用Blin-Phong模型,分为三大部分环境光,漫反射,高光反射。实现过程中加入凹凸效果,阴影效果。注释部分是透明效果,采用透明度测试的方法实现。具体细节见代码代码//UpgradeNOTE:replaced'mul(UNITY_MAT
- 2024-01-23实时光线追踪降噪
1单帧降噪在这个部分,你需要对有噪声的输入图像eC,使用联合双边滤波核J进行降噪,最终得到降噪后的图像C(J),我们的联合双边滤波核定义如下:\[J(i,j)=exp(−\frac{||i−j||^2}{2σ_p^2}−\frac{||C[i]−C[j]||^2}{2σ_c^2}−\frac{D_{normal}(i,j)^2}{2σ_n^2}−\fra
- 2024-01-17Unity3D 在游戏引擎中常用的光照模型有哪些现详解
Unity3D是一款强大的游戏引擎,其在游戏开发中广泛应用于各种类型的游戏。光照模型是游戏引擎中一个重要的组成部分,它决定了游戏中的光照效果和物体的视觉效果。在Unity3D中,常用的光照模型有Lambert光照模型、Blinn-Phong光照模型和PBR(PhysicallyBasedRendering)光照模型。对啦!这
- 2023-11-22Unity 低功耗玉石
前言曾使用过UE5的substrate系统基于BSDF实现过玉石材质,效果雀氏nice但消耗太高了!因此本篇基于Unity介绍如何模拟透射来实现一个低功耗的玉石材质效果如下本篇同步发布于http://chenglixue.top/index.php/unity/90/总体框架模拟透射光思路因为透射现象是一种光打在物
- 2023-11-01【MME编写入门】光照模型
float4x4WorldViewMatrix:WORLDVIEW;float4x4WorldViewProjMatrix:WORLDVIEWPROJECTION;float4x4WorldMatrix:WORLD;//需要用到的矩阵//需要用到光的位置、相机位置float3LightDirection:DIRECTION<stringObject="Light";>;fl
- 2023-10-15UE4 VectorParameter float3 nor float
问题在UE4.27的版本中,VectorParameter的类型是float3而不是float4,这就导致在实例化函数时会少一个float,十分麻烦解决运用"append"即可referencehttps://forums.unrealengine.com/t/vectorparameter-incorrectly-converted-to-materialfloat3-in-custom-node/334226/6
- 2023-10-15【Unity3D】花瓣特效
1花瓣绘制原理如下图是实现的花瓣特效效果,为方便描述,我们将每个红色的扁状长条称为花瓣,每个花瓣中心的绿点称为花蕊,花朵的正中心称为花心。我们在xOz平面上绘制花朵,假设花心为O点,其世界坐标为_Center,花瓣个数为_PetalNum,花瓣半长度和半宽度分别为_PetalLe
- 2023-10-05UE5 substrate flake normal map 亚克力
前言本篇将运用UE5的substrate系统制作一个亚克力圆盘效果如下FlakeNormalMap上图中圆盘内的彩色小点是通过噪声函数flake(个人翻译为薄片)normalmap生成的,该函数基于[CellularNoise]https://www.cnblogs.com/chenglixue/p/17742395.html用途:汽车喷漆,及各种细小的
- 2023-09-17Unity URP 仿原神渲染解析
OutlinePass用于渲染轮廓。这个Pass看起来比较简单,就是对模型正面剔除后,将背面沿法线偏移线宽的距离,然后直接用轮廓线的颜色渲染背面。ShaderLabPass{Name"Outline"Tags{"LightMode"="SRPDefaultUnlit"}CullFront//进行了正面剔除
- 2023-08-09【Unity3D】广告牌特效
1前言广告牌特效是指:空间中的一个2D对象始终(或尽可能)面向相机,使得用户能够尽可能看清楚该2D物体。广告牌特效一共有以下3种:正视广告牌:广告牌始终以正视图姿态面向相机,即广告牌的x、y、z轴正方向始终指向相机的x、y、z轴正方向;血条广告牌:游戏中的血条效果广告
- 2023-08-05【更新中】【Unity/UE】基础仿原神渲染
前言【本文持续更新中】终于把一直想做一做的仿原神渲染做了一下。原神出来也有段时间了,各路大佬的逆向早就做完了,所以最近做的其实复刻大佬们的工程,难度并不大。废话不多说,先看效果。Unity UE (UE的边缘光老是闪就关了) 两个版本都没有加上雾效,泛光之间的后处理效果,
- 2023-05-07DX12 实战 法线贴图
前言本篇将展示如何使用DX12实现normalmap源代码chenglixue/D3D12atnormalmap要点定义:法线贴图基于凹凸贴图衍生出来的。纹理贴图中的纹素是RGB颜色值,而法线贴图中的纹素是法向量的坐标用途:计算光照,在纹理图中存储法向量,再将其带入光照计算。在避免高模建模的情况下
- 2023-04-27DX12 实战 BlinnPhong & 纹理贴图
前言本篇将展示如何实现BlinnPhong光照,以及为人物模型贴上纹理对于理论不清楚的小伙伴可以看这图形学理论局部光照,[图形学理论纹理贴图](https://www.cnblogs.com/chenglixue/p/17109214.html)具体代码看这github.com材质由于漫反射率和镜面反射率我们都是从纹理图中提取,因
- 2023-04-20噪音及其在shader中的应用
噪声的发明起初是为了解决“非纯色不规则”纹理占用内存太大的问题。噪声可以实现“局部细微渐变,全局差别很大”的效果。随机数无法达到这样的效果,但用随机数可以生产白噪声,再用高斯模糊达到类似的效果。在图形学api中,噪声可以看出是一个函数,用于模糊在网格上生成的随机数。所有
- 2023-04-16【笔记】PBR初见
尝试在unity中实现类似标准材质的PBR材质 本篇纯粹作为学习笔记记录,基本都是大佬现成的思路以及直接套的公式PBR辐射率公式想必大家都有所耳闻\(L_{0}\left(p,w_{0}\right)=\int_{Ω}^{}\\left(k_{d}\cdot\frac{c}{\pi}+\frac{D\cdotG\cdotF}{4\cdot\left(w_{0}\cdotn
- 2023-04-15unity中实现地球与大气层的特效渲染(非物理向)
在很多太空科幻类的电影、游戏中、我们常常看到在太空中的星球的场景,在这些场景中我们可以看到真实的行星地表光影效果和云层、以及非常炫酷的大气层效果。在unity中我们也可以创建类似的效果。本文我将介绍如何在unityshader中编写地球特效渲染。 上图是最终的
- 2023-03-24Unity Shader 实现 Lambert Phong BlinnPhong
1.Lambert模型基于Lambert余弦定理构造出的模型,只计算了漫反射部分代码部分解析可以看到Lambert模型中只返回了漫反射(diffuse) 再看一下di