标签: Unity
使用JobSystem优化阶梯地形生成算法
发布时间: 2022年07月24日
缘由 几年前玩过的一款游戏 ,其中的实时可交互的地形算法让我印象十分深刻, 恰巧前一段时间看到了 介绍该算法的博客 . 然后根据文章中的算法实现了一波,效果如下:  原理 原始算法大概流程: 基于Height...
Shader效果 - 鱼鳞纹生成
发布时间: 2022年07月09日
效果 实现思路 确定A系列的圆的圆心距离,使用 _DEBUG_DISTANCE_A 显示如下图 同理,所有圆偏移坐标 float2(0.5,0.5) 得 B系列的圆心距离 基于圆心距离和给定半径确定出系列圆A和B,使用 _DEBUG_RANGE_A 显示如下 根据鱼鳞层次优先级,确定A和B系列圆的显示访问,使用 _DEBUG_SCALE_A 显示如下 给A和B系列圆上色并混合,使用...
Unity 音效可视化
发布时间: 2022年06月25日
效果展示 实现过程 核心API是 AudioSource.GetSpectrumData , 使用这个API获取到当前播放音频的频谱数据,在做一系列转换 这次的可视化是基于Shader的,由GPU驱动。性能比使用GameObeject的缩放动画要高一些。 将音效数据传入Shader中使用了Float...
Unity URP RenderFeature分享
发布时间: 2022年06月19日
概述 分享三个我在项目里面用到的RenderFeature 自定义后处理RenderFeature 雾效RenderFeature ShaderToy RenderFeature, 用来运行转换的ShaderToy Shader 详细说明: 视频版本 注意 自定义后处理,使用Opaque Texture作为Source 再画到屏幕上,如果有其他渲染批次需求,则需要修改...
URP Shader 创建模板
发布时间: 2022年06月12日
Shader "Unlit/Template" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag...
在2D游戏中实现地球仪的旋转
发布时间: 2022年06月04日
代码和说明 1. 固定地轴Shader 主要逻辑在Fragment Shader中,具体如下: real4 frag(v2f i) : SV_Target { // 将UV原点换到图片中央 float2 uv = i.uv - 0.5; // 根据勾股定理计算 z = sqrt( r*r - (x*x + y*y )) float3 pos = float3(uv.x, uv.y,...
Unity实现ShaderToy Dry Ice 2的效果
发布时间: 2022年05月29日
原始效果: https://www.shadertoy.com/view/WlVyRV 文件结构 代码路径: https://github.com/LazyunGame/ShaderToyRenderFeature/tree/master/Runtime/ShaderToyAssets/DryIce2 代码说明: TODO:
Unity URP - ShaderToy RenderFeature
发布时间: 2022年05月29日
在Unity中使用ShaderToy网站上的shader方式: 1. 之前的文章中提到的ShaderToy Renderer : ShaderToy shader快速移植实现 最终的渲染结果是一张RenderTexture,可以直接使用; 也可以使用提供的对应的Material. 2. 这篇文章中会介绍如何在URP RenderFeature中使用ShaerToy Shader - 大概说明...
在URP中实现自定义PostProcess
发布时间: 2022年05月22日
1. OnRenderImage 不能用了,需要用RenderFeature自定义Pass,或者使用 BeginCameraRendering 2. 这里只分享使用RenderFeature的方式实现后处理,该方式在 在URP中实现高度雾和远景雾 中有使用过。 class CustomPostProcessRenderFeature 作为一个 ScriptableObject ,...
Unity 插件学习 - SPCRJointDynamics
发布时间: 2022年05月21日
最近发现一款效果特别好的布料物理骨骼模拟插件,具体效果如下: 地址在此: https://github.com/SPARK-inc/SPCRJointDynamics 既然别人写的这么优秀,当然要 抄一下 借鉴学习看看怎么实现的。 - 目录结构 从插件目录可以看出,该插件使用了JobSystem来加速模拟过程,那么想了解具体怎么模拟的,则直接先查看对应的Job Class内容 - 代码内容
ShaderToy shader快速移植实现
发布时间: 2022年05月21日
如何将ShaderToy Shader转换成Unity可用的Shader 做图形开发的同学没有不知道 ShaderToy 网站的,它是由大神 iq - Inigo Quilez 创建的。 ShaderToy网站包含了大量效果精彩绝伦的shader,但是这些shader是用WebGL Shader语言编写的,不适用于Unity ShaderToy。...
在URP中实现高度雾和远景雾
发布时间: 2022年05月21日
使用RenderFeature分别实现了透视相机和正交相机的高度雾和远景雾 如图: 透视相机 正交相机 如何RenderFeature在渲染管线中插入一个Pass用于渲染雾 1. 使用CommondBuffer.DrawMesh 在 RenderPassEvent . AfterRenderingSkybox 这个事件之后画一个全屏幕大小的Mesh片...
Unity Shader之流光效果
发布时间: 2022年05月09日
流光效果,支持控制流光 宽度 , 颜色 , 角度 URP版本 Shader "Unlit/LightFlow" { Properties { _MainTex ("Texture", 2D) = "white" {} _LightColor ("Light", Color) = (1,1,1,1) _LightWidth ("Light width", float) = 0.2...
使用Unity JobSystem模拟SplineMesh
发布时间: 2022年05月09日
概述 在数学学科数值分析中,样条(Spline)是一种特殊的函数,由多项式分段定义。样条的英语单词spline来源于可变形的样条工具,那是一种在造船和工程制图时用来画出光滑形状的工具。 在计算机科学的计算机辅助设计和计算机图形学中,样条通常是指分段定义的多项式参数曲线。由于样条构造简单,使用方便,拟合准确,并能近似曲线拟合和交互式曲线设计中复杂的形状,样条是这些领域中曲线的常用表示方法。...