shader案例-LOGO 闪光

LOGO 闪光

image

//Logo 闪光shader
Shader "Practice/FlashTestMat"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        //间隔
        _Interval("Interval",float) = 5.0
        _BrightNess("BrightNess",float)=10000000
        _BrightWidth("BrightWidth",Range(0,0.5))=0.1
    }
    SubShader
    {
        // No culling or depth
        Cull Off ZWrite Off
       // Blend SrcAlpha OneMinusSrcAlpha
        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"
            sampler2D _MainTex;
            float4 _MainTex_ST;
            float _Interval;
            float _BrightNess;
            float _BrightWidth;
            struct appdata
            {
                float4 vertex : POSITION;
                float4 texcoord : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.texcoord.xy*_MainTex_ST.xy+_MainTex_ST.zw;
                return o;
            }
            //闪光
            //可以在这里丰富闪光的形状,其他逻辑等
            fixed4 blinn(float2 uv)
            {
                //当前时间段
                fixed delta = fmod(_Time.y,_Interval);
                float dis =saturate(_BrightWidth- abs(uv.x+0.5-delta));
                float cur_brightness=_BrightNess*dis;
                fixed3 rgb = fixed3(1,1,1)*cur_brightness;
                return fixed4(rgb,1);
            }

            fixed4 frag (v2f i) : SV_Target
            {
                fixed4 col = tex2D(_MainTex, i.uv);
                //透明不闪光
                clip(col.a-0.1);
                fixed4 brighness = blinn(i.uv);
                col = col+brighness;
                return col;
            }
            ENDCG
        }
    }
    Fallback "UI/Default"
}

增加调试参数

为了策划方便调试,这里丰富下 shader 的参数,让光柱进行一定的偏移,给定闪光频率。
image

//Logo 闪光shader
Shader "Practice/FlashTestMat"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        //冷却
        _Cold("Cold",Range(0,3.0)) = 1.0
        //完成闪烁时间
        _FinishTime("FinishTime",Range(1.0,4.0))=2.0
        //光亮度
        _BrightNess("BrightNess",float)=100
        //光柱宽度
        _BrightWidth("BrightWidth",Range(0,0.5))=0.1
        //偏移速率
        _Rad("Rad",Range(0,3.14))=1.0 //偏移弧度
    }
    SubShader
    {
        // No culling or depth
        Cull Off ZWrite Off
       // Blend SrcAlpha OneMinusSrcAlpha
        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"
            sampler2D _MainTex;
            float4 _MainTex_ST;
            float _FinishTime;
            float _BrightNess;
            float _BrightWidth;
            float _Rad;
            float _Cold;
            struct appdata
            {
                float4 vertex : POSITION;
                float4 texcoord : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.texcoord.xy*_MainTex_ST.xy+_MainTex_ST.zw;
                return o;
            }
            //闪光
            fixed4 blinn(float2 uv)
            {
                //当前时间段
                fixed delta = _Time.y/(_FinishTime+_Cold);
                delta =delta - floor(delta);
                delta = delta*(_FinishTime+_Cold)/_FinishTime;
                //根据y轴做一定的偏移s
                fixed _offset_x=uv.y*tan(_Rad);
                float dis =saturate(_BrightWidth- abs(uv.x+0.5+_offset_x-delta));
                float cur_brightness=_BrightNess*dis;
                fixed3 rgb = fixed3(1,1,1)*cur_brightness;
                return fixed4(rgb,1);
            }

            fixed4 frag (v2f i) : SV_Target
            {
                fixed4 col = tex2D(_MainTex, i.uv);
                //透明不闪光
                clip(col.a-0.1);
                fixed4 brighness = blinn(i.uv);
                col = col+brighness;
                return col;
            }
            ENDCG
        }
    }
    Fallback "UI/Default"
}

本 PPT 介绍了制药厂房中供配电系统的总体概念与设计要点,内容包括: 洁净厂房的特点及其对供配电系统的特殊要求; 供配电设计的一般原则与依据的国家/行业标准; 从上级电网到工厂变电所、终端配电的总体结构与模块化设计思路; 供配电范围:动力配电、照明、通讯、接地、防雷与消防等; 动力配电中电压等级、接地系统形式(如 TN-S)、负荷等级与可靠性、UPS 配置等; 照明的电源方式、光源选择、安装方式、应急与备用照明要求; 通讯系统、监控系统在生产管理与消防中的作用; 接地与等电位连接、防雷等级与防雷措施; 消防设施及其专用供电(消防泵、排烟风机、消防控制室、应急照明等); 常见高压柜、动力柜、照明箱等配电设备案例及部分设计图纸示意; 公司已完成的典型项目案例。 1. 工程背景与总体框架 所属领域:制药厂房工程的公用工程系统,其中本 PPT 聚焦于供配电系统。 放在整个公用工程中的位置:与给排水、纯化水/注射用水、气体与热力、暖通空调、自动化控制等系统并列。 2. Part 01 供配电概述 2.1 洁净厂房的特点 空间密闭,结构复杂、走向曲折; 单相设备、仪器种类多,工艺设备昂贵、精密; 装修材料与工艺材料种类多,对尘埃、静电等更敏感。 这些特点决定了:供配电系统要安全可靠、减少积尘、便于清洁和维护。 2.2 供配电总则 供配电设计应满足: 可靠、经济、适用; 保障人身与财产安全; 便于安装与维护; 采用技术先进的设备与方案。 2.3 设计依据与规范 引用了大量俄语标准(ГОСТ、СНиП、SanPiN 等)以及国家、行业和地方规范,作为设计的法规基础文件,包括: 电气设备、接线、接地、电气安全; 建筑物电气装置、照明标准; 卫生与安全相关规范等。 3. Part 02 供配电总览 从电源系统整体结构进行总览: 上级:地方电网; 工厂变电所(10kV 配电装置、变压
效果展示:https://pan.quark.cn/s/fd43e443a535 AutoHS 目前已经恢复了对狂野模式暗牧的支持,不过整体胜率并不是很乐观,只能说未来可期。 本项目适用于以下目标: python编程实战 概率论与数理统计学习 程序化博弈练手 切勿将本项目用于违反用户许可协议的任何行为。 欢迎加入QQ群1012629918讨论交流。 主要新特性 已支持回归后的新版炉石,包括新版定位等 鉴于经典模式被删除,目前已面向狂野模式进行开发,并新增了对地标等新卡的识别 支持2560x1440分辨率 全新的日志模块,看着像模像样 GUI启动与配置界面 支持使用地标 基于日志文本信息的状态识别,相比于像素点判断更加稳定 在热心网友的帮助下支持了系统 如何运行 安装。 安装所需依赖: 启动命令行并在项目目录下运行。 运行正常的话应该能看到如下图所示的GUI界面: GUI 同时命令行中会开始打印日志信息如下: LOG 更新脚本配置,必须更新GUI界面中的和两项配置。 脚本需要使用前者来定位炉石传说游戏的位置,使用后者来在对局中识别哪一方是玩家。 玩家名的格式为,不过可以只输入部分名字,脚本会进行字符串匹配。 中记录了对战过程中每一个对象(Entity)的每一项属性(tag)的变化。 这个对象包括玩家、英雄、英雄技能、卡牌(无论在牌库里、手牌中、战场上还是坟地里)等。 每次启动炉石传说时,游戏会在目录下新创建一个文件夹,文件夹内包含以及其他文件。 如果你在目录下没有找到(指对战开始后),那稍微有一些麻烦。 你需要到目录下新建一个叫的文件(如果已经有就不用新建了),然后把下面这段代码放进去(如果已经有或相关则更改相关设置): 关于炉石log的更多信息可以查看这个Reddi...
内容概要:本文详细介绍了一个基于Python实现的PSO-PNN混合模型项目,旨在通过粒子群优化算法(PSO)优化概率神经网络(PNN)的关键参数(如平滑因子),从而提升数据分类预测的精度与泛化能力。文章阐述了项目背景、目标与意义,分析了在高维复杂数据、样本不均衡、噪声干扰等挑战下的解决方案,并系统介绍了整体架构,包括数据预处理、PSO优化模块、PNN分类模型、适应度函数设计、并行计算优化及性能评估等核心组成部分。文中还提供了关键代码示例,展示了从数据标准化、模型构建到优化训练和性能评估的完整流程。; 适合人群:具备一定Python编程和机器学习基础,从事数据分析、智能算法研究或工程应用的研发人员、研究生及算法爱好者;尤其适合希望深入了解智能优化算法与神经网络融合应用的中级学习者。; 使用场景及目标:①解决PNN模型依赖人工调参的问题,实现平滑因子的自动优化;②提升复杂、高维、小样本或不均衡数据下的分类准确率;③应用于金融风控、医疗诊断、工业故障检测等高精度分类场景;④学习PSO与PNN协同机制及其工程实现方法。; 阅读建议:建议结合文中提供的代码示例与理论描述同步实践,重点关注适应度函数设计、PSO参数配置与交叉验证的集成,调试时注意收敛性与过拟合控制,以深入掌握该复合模型的优化逻辑与应用技巧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值