• 2024-07-05Unity Shader技巧:实现带投影机效果,有效避免边缘拉伸问题
    这个是原始的projector投影组件,边缘会有拉伸经过修改shader后边缘就没有拉伸了(实现代码在文章最后)这个着色器通过检查每个像素的UV坐标是否在定义的边界内,来确定是否应用黑色边框。如果UV坐标处于边缘区域,那么像素颜色会被强制设为黑色,从而在投影图像周围形成一个黑色
  • 2024-07-03CesiumJS【Basic】- #054 绘制渐变填充多边形(Entity方式)-使用shader
    文章目录绘制渐变填充多边形(Entity方式)-使用shader1目标2代码2.1main.ts绘制渐变填充多边形(Entity方式)-使用shader1目标使用Entity方式绘制绘制渐变填充多边形-使用shader2代码2.1main.tsimport*asCesiumfrom'cesium';constviewer
  • 2024-06-22mach(zig):从webGPU api了解渲染通道&shader
    学opengl3.3教程,你将了解通用图形渲染api。学vulkan,你将用1000+行代码画一个三角形。学webGPUapi,你将获得跨平台的图形api设计规范。reddit上有人说:OpenGL只是与3D硬件连接的几个应用程序接口之一。所有这些应用程序接口的基本概念都是一样的,即使应用程序本身的方式略有不
  • 2024-06-18如何基于项目人力和管线方案选择FGUI和UGUI
    1)如何基于项目人力和管线方案选择FGUI和UGUI2)TMP字体出包丢失字体描边3)如何将一张贴图经过Shader处理后的结果输出给另外一个Shader使用4)为什么我的水这么干净,和UE教程里的有差别这是第390篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助
  • 2024-06-11Unity Text Mesh 穿透问题
    0.问题在3D场景中使用TextMesh的时候,字体无法被遮挡,永远在最上层。虽然目前在场景中可以直接使用TextMeshPro,但是实际开发的时候总会有各种各样的情况,可能是兼容老项目,也可能是想保持项目足够简单,不想引入TextMeshPro。这里就只记录如何解决这一问题的方案。1.原因主
  • 2024-06-07移动游戏的性能优化 | 材质优化篇
     材质是什么虚幻引擎是以hlsl着色语言为基础,来实现vs、ps、cs等,引擎底层提供了一套翻译系统,将hlsl翻译成gpu可执行的代码。 本篇文章限制下两个名词的定义: ● 材质:特指在虚幻引擎材质编辑界面通过连线等方式,生成的材质资源,它是蓝图系统的产物。材质资源会被转成hlsl代码
  • 2024-06-05Unity通过shader实现图像转像素画
    新建一个无光照shader(我选择了Create->Shader->UnlitShader),命名为:PixelateShader,双击打开它,粘贴以下内容Shader"Custom/PixelateShader"{Properties{_MainTex("Texture",2D)="white"{}_PixelSize("PixelSize
  • 2024-05-31Shader作画
    代码运行网站:http://editor.thebookofshaders.com///Author@CuriosityWang//https://www.cnblogs.com/curiositywang#ifdefGL_ESprecisionmediumpfloat;#endiffloatColA=0.028;floatRowA=0.033;uniformvec2u_resolution;uniformvec2u_mouse;uniform
  • 2024-05-30使用Shader画常见的数学函数
    使用Shader画常见的数学函数本篇博文的灵感来自于ShaderBooks这一小节:https://thebookofshaders.com/05/?lan=ch代码运行网站:http://editor.thebookofshaders.com/一次函数\[y=x+0.5\]#ifdefGL_ESprecisionmediumpfloat;#endifuniformvec2u_resolution;unifor
  • 2024-05-27使用 Unity Barracuda 和 Compute Shader,Yolov2 进行高效物体识别
    前言通过整合UnityBarracuda和TinyYOLOv2模型,开发者可以在Unity中实现高效的实时物体识别功能。这种技术不仅可以增强游戏和应用的交互性,还可以应用于虚拟现实(VR)和增强现实(AR)等创新项目中,为用户创造更加沉浸和动态的体验。TinyYOLOv2模型概述TinyYOLOv2是YOLO(You
  • 2024-05-24Unity Shader介绍
    1.Shader的基本概念什么是Shader?Shader是小型程序,用于在GPU上运行,处理顶点、像素或其他图形处理单元。Unity主要使用以下两种Shader:顶点Shader(VertexShader):处理每个顶点的数据,如位置、颜色和纹理坐标。片段Shader(FragmentShader):决定每个像素的颜色。Unity中的Shader类型
  • 2024-05-23shader 代码 分享:粒子的 缩放 和 位移(贝塞尔曲线控制不同粒子的位置) -- shader 绳索效果
    原始代码:shader_typeparticles;uniformintamount:hint_range(1,1000)=8;uniformfloatmax_rope_distance:hint_range(1.0,1000.0)=20.0;uniformfloatscale:hint_range(0.0,10.0)=1.0;uniformvec3start=vec3(-5.0,5.0,0.0);uniformvec3end
  • 2024-05-23shader 学习的好助手 --- chatgpt4-o
    其实要看懂godot官方或者第三方写的复杂效果的shader的代码,是比较难的第一:资料比较少,塔尖上的功能,分享的人少第二:大神也是慢慢熬成的第三:这类需求,在一个项目种少,大部分都是类似CURD 第四:shader的知识方向浩瀚如海,各种理论,各种高大上的公式,就考验的定力和耐心,就单单一
  • 2024-05-08三维API sheder 基础
    这个shader是靠三维数学影响二维像素导致像素颜色改变它是每个像素走一遍脚本算法写的时候注意语言格式写错了shader脚本是不能用的,根本就不好使这个可以用区域用xyzy为0没第三坐标,Y是三维的高度xz才是地面用数字限制出是椭圆啊,还是正方形长方形啥的全影响就不锁
  • 2024-04-24godot shader 升级
    WORLD_MATRIXrenametoMODEL_MATRIXWORLD_MATRIX重命名为MODEL_MATRIXWORLD_NORMAL_MATRIXrenametoMODEL_NORMAL_MATRIXWORLD_NORMAL_MATRIX重命名为MODEL_NORMAL_MATRIXCAMERA_MATRIXrenametoINV_VIEW_MATRIXCAMERA_MATRIX重命名为INV_VIEW_MATRIXINV_CAMERA_MATRIXrena
  • 2024-04-08Unity编辑器中运行正常,发布后报shader为null异常问题解决方案
    在Unity中,Shader是从代码中进行加载的,编辑器中并没有引用。在编辑器中运行项目没有问题,但当项目发布到移动平台,如ios、android、UWP之后,游戏中并不能找到对应的shader。因为Shader在场景中并未被引用,所以没有被打包。解决办法1在ProjectSettings里面的Graphics,添加上修改的打包
  • 2024-04-05第三个OpenGL程序,shaders _ 后续 之 封装着色器类
    着色器类:头文件h:#ifndefSHADER_H#defineSHADER_H#include<GLAD/glad.h>#include<glfw3.h>#include<string>#include<fstream>#include<sstream>#include<iostream>classShader{public://程序IDunsignedint
  • 2024-04-02手撸逐像素着色器,每行都有注释,史上最强注释讲解
    逐像素着色器效果最好,但是性能开销较大,目前运用的也比较多,包括移动端,下一篇讲解逐顶点着色器,效果相对较差(PS:其实diffuse贴图做好)效果也不怎么看的出来差距,但是性能开销较小,更适合移动端甚至移动端性能低下的产品。   注意,此shader是标准的逐像素着色器,光照是在片源里面实
  • 2024-03-28后处理 - 均值模糊
    原理就是取自身以及该像素周围的8个像素的颜色值相加,然后除9取个平均值,得到最终颜色值 效果因为模糊后会出现一些方形的像素效果,模糊效果不是很平均,所以均值模糊也叫做盒状模糊。 c#代码usingUnityEngine;publicclassBoxBlurEff:MonoBehaviour{publicSha
  • 2024-03-28CommandBuffer使用 - 分屏
    原理先抓取整个屏幕画面到RenderTexture1上,然后把左边一半复制到RenderTexture2,右边一半复制到RenderTexture3 效果 c#代码usingUnityEngine;usingUnityEngine.Rendering;[RequireComponent(typeof(Camera))]publicclassSplitScreen:MonoBehaviour{publ
  • 2024-03-28Unity Shader中的Dot点乘解惑篇(转)
    光照中的点乘应用漫反色中的核心函数fixed4diff=albedo*_LightColor0*max(0,dot(i.worldNormal,worldLight));当worldLight为float3(0,1,0),时,主要分析该函数dot(float3(0,1,0),i.normal);点乘两个向量,我们知道向量归一化以后向量点乘的值是向量的夹角的Cos
  • 2024-03-27后处理 - 色调映射
    就是将颜色值通过映射公式得到另一种颜色值,比如:将颜色值*0.8也算是映射公式但这边介绍的映射公式可以得到一种电影校色的效果,至于原理,一般都是经验公式。 效果 c#代码usingUnityEngine;publicclassTonemappingEff:MonoBehaviour{publicShaderm_Shader;
  • 2024-03-27后处理 - 亮度,饱和度,对比度
    效果 c#代码usingUnityEngine;publicclassMyBrightnessSaturationAndContrast:MonoBehaviour{publicShaderm_Shader;publicMaterialm_Material;[Range(0.0f,3.0f)]publicfloatm_brightness=1.0f;[Range(0.0f,3.0f)]publ
  • 2024-03-27Unity中如何实现草的LOD
    1)Unity中如何实现草的LOD2)用ComputeShader处理图像数据后在安卓机上不能正常显示渲染纹理3)关于进游戏程序集加载的问题4)预制件编辑模式一直在触发自动保存这是第379篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和
  • 2024-03-26MaterialEditor GUI重写的歪门邪道
    MaterialEditorGUI重写的歪门邪道序言以前有人在群里问过怎么过滤掉unity里面的其他没有用的Shader,或者重新将工程里面的Shader列表重新排序。反编译这个经过反编译代码,我找到了欺骗世界的方法。(其实也比较简单,找到绘制下拉窗口的GUI函数调用位置。然后修改过滤方法就行了