『功能项目』着色器光透魔法球Shaders【09】

news2024/11/13 15:07:02

我们打开上一篇08技能释放的项目,

本章要做的事情是为魔法球增添一个光透效果shaders。

首先在Assets中创建一个Shaders文件夹

接着将场景中的灯光调暗一些(避免灯光太强压过将要设置半透明光透效果的魔法球)

将新Resources中的Shpere拖拽至编辑场景后完全解压缩

创建一个标准曲面着色器StandardSurfaceShader

重命名为01-FirstShader

选择材质种类调节为shader

选择已经创建好的shader

重命名为01-Shader_Yellow

双击打开新建的着色器脚本

这是系统为我们编写的脚本,

将里面代码情况,我们重新编写

Shader "Water/01 shader" {//这里指定shader名字 不要求和文件名一致
    Properties{
        //属性
        _Color("Color", Color) = (0, 0.3, 1, 0.3) // RGBA颜色值,设置为蓝色,其中Alpha为0.5表示50%透明度
        _Vector("Vector", Vector) = (1, 2, 3, 4) // 这里定义了一个四元组向量,具体用途需要根据你的着色逻辑来确定
    }
    SubShader{//可创建多个 不同子着色器可以创建不同着色效果
        //显卡运行效果的时候 从第一个SubShader开始
        //如果第一个subShader里面的效果都可以实现 那么使用此SubShader
        //如果显卡实现不了这个SubShader 会自动识别下一个SubShader
        Tags { "RenderType" = "Transparent" "Queue" = "Transparent" } // 标记为透明渲染类型,并且放在透明队列中
        LOD 100
        Pass {
            //至少有一个Pass块 在这里编写shader代码
            CGPROGRAM
            //使用CG语言编写shader代码
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
            struct appdata {
                float4 vertex : POSITION;
            };
            struct v2f {
                float4 pos : SV_POSITION;
                float4 col : COLOR;
            };
            fixed4 _Color;
            v2f vert(appdata v) {
                v2f o;
                o.pos = UnityObjectToClipPos(v.vertex);
                o.col = _Color; // 将颜色传递到片段着色器
                return o;
            }
            fixed4 frag(v2f i) : SV_Target {
                return i.col; // 使用传递的颜色
            }
            ENDCG
        }
    }
    //当显卡对所有SubShader都不支持的话 就使用Fallback函数
    Fallback "VertexLit"
}

运行项目


我们也可以设置着色器颜色

本篇只实现了摄像机跟随主角功能,接下来还需做以下内容:

1.新建怪物的动画事件

2.怪物UI信息血量显示(笼)

3.怪物死亡特效

4.怪物死亡掉落物品

5.掉落物品拾取后的转移与穿戴

6.异步传送转换场景

7.目标点巡航功能

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MQTT服务器-mosquitto配置

我们要使用ESP8266使得STM32能够和服务器之间传递数据,需要有一台MQTT服务器。当然读者可以使用腾讯云、阿里云、OneNet等平台提供的MQTT服务更方便一些。 逻辑是这样的:我们首先需要一台服务器A作为中转站,然后我们的STM32作为客户端能够发…

Java接口中的长连接与短连接详解:概念、应用场景及实现

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

2024年十款好用的图纸加密软件推荐|有效的图纸加密方法分享

在数字化时代,图纸作为企业的重要资产,其安全性显得尤为重要。随着技术的不断进步,市场上涌现出多款优秀的图纸加密软件,为企业和个人提供了强有力的安全保障。本文将为您推荐2024年十款好用的图纸加密软件。 1.安秉图纸加密软件…

JavaSE 面试题 46-50

使用runnable需重写run方法,而且返回值为viod型,等于没有返回值; Thread 类在调用 start()函数后就是执行的 是 Runnable 的 run()函数。 callable需重写call方法,call方法可以有返回值,支持泛型而且可以捕获解决异常&…

秋招突击——知识复习——HTTP/2、HTTP/3的改良

文章目录 引言正文HTTP/1.1与HTTP/1.01、长连接代替短链接2、管道传输缺点 HTTP2.0和HTTP1.11、头部压缩2、二进制格式3、并发传输4、服务器主动推送资源缺点 HTTP/3和HTTP/21、无队头阻塞2、更快的连接建立3、连接迁移 面试题1、HTTP是长连接还是短链接?2、HTTP长连…

中年男明星们,正在视频号“收割”50+姐姐

还记得几年前,抖音上许多大妈和“靳东谈恋爱”的事情吗? 尽管那些靳东高仿号,发的是花花绿绿、粗制滥造的视频,明眼人一看就知真假,但仍有众多大妈痴迷。 如今,在视频号上也有一群姐姐们,“迷恋…

模块化沙箱有几种类型?各类模块化沙箱的功能是什么?

模块化沙箱有几种类型?各类模块化沙箱的功能是什么? 模块化沙箱是一种高灵活性和高扩展性的数据安全产品,通过选择不同的沙箱模块,满足不同的安全需求。 模块化沙箱是SDC沙箱的几种表现形式的总称,模块化沙箱总共分为…

Kubemetes高级调度

一组特殊的容器 初始化容器是用来进行初始化操作的,在很多情况下,程序的启动需要依赖各类配置,资源,但是又不能继承在原有的启动命令或者镜像当中,因为程序的镜像可能并没有加载配置命令,此时InitContaine…

Dubbo ZooKeeper Spring Boot整合

依赖配置 1. Dubbo 起步依赖 Dubbo 是一款高性能的 Java RPC 框架&#xff0c;用于快速开发高性能的服务。 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>${dubbo.ver…

Linux中的常见命令——用户管理命令

1、useradd添加新用户 基本语法 语法功能描述useradd 用户名添加新用户useradd -g 组名 用户名添加新用户到某个组 实操案例 1、添加一个新用户【此时的用户是没有密码的】 [rootcentos100 ~]# cd /home [rootcentos100 home]# ls www zss [rootcentos100 home]# useradd…

如果自学通过PMP?

自学&#xff1f;现在没有自学通道啦&#xff0c;要通过有R.E.P授权的机构学习&#xff0c;获得35个PDU才能报考哦~ 所以要报培训班~ 一是&#xff0c;PMP 官方的报考条件需要35个PDU&#xff0c;就是要报机构学习后获得。个人报考渠道去年就关闭了&#xff0c;只能通过机构报…

算法-初阶

文章目录 -1.C 标准0.语法基础 1. C头文件2. C命名空间3. 主函数4. 变量类型5. ASCII码6. 注释1.顺序结构 一、代码示例二、例题1&#xff1a;求圆的面积三、例题2&#xff1a;求解一元二次方程四、总结&#xff1a;2.分支结构 一、代码示例二、例题1&#xff1a;判断一个数是否…

必看 | CDP盘活存量客户的5大步骤和3个应用案例

​“我们有几十家门店&#xff0c;也有APP、小程序和网站&#xff0c;客户信息散落在各系统中&#xff0c;比较杂乱&#xff0c;一直没有统一去维护&#xff0c;现在想把存量客户运营起来&#xff0c;你们CDP能做吗&#xff1f;”类似的咨询&#xff0c;我们几乎每天都会接到。…

工业三防平板全面提升工厂的工作效率

在当今高度自动化和智能化的工业时代&#xff0c;工厂的工作效率成为了企业竞争力的关键因素。而工业三防平板的出现&#xff0c;犹如一颗璀璨的新星&#xff0c;为工厂带来了全新的变革&#xff0c;全面提升了工厂的工作效率。 工业三防平板具备防水、防尘、防摔的特性无论是潮…

基于 Redis 的 HyperLogLog 实现了 UV 的统计

文章目录 前言HyperLogLog 简介HyperLogLog 的工作原理例子总结 前言 在现代网站开发中&#xff0c;用户行为分析是一个非常重要的环节。其中&#xff0c;UV&#xff08;Unique Visitor&#xff0c;独立访客&#xff09;和PV&#xff08;Page View&#xff0c;页面浏览量&…

10 Java数据结构(下):集合进阶之Map(双列集合)系列:

文章目录 前言一、 Map(双列集合)接口1 常用方法2 遍历方式(1)使用map.keySet()方法(2)使用map.entrySet()方法(3)lambda表达式遍历(这个最简单)3 实现类:HashMap、LinkedHashMap、TreeMap(1)HashMap---- HashMap的特点---- HashMap的底层原理---- 特别注意:自定义…

Spring之SpringSecurity

SpringSecurity相关 一、SpringSecurity简介二、SpringSecurity主要功能三、SpringSecurity的Maven依赖四、Security本质&#xff1a;过滤器链五、用户认证1、根据用户实体&#xff0c;封装一个UserDetails实体对象LoginUser类2、自定义UserDetailsService接口的实现 一、Sprin…

[笔记]基于小波分析的基频识别

原文&#xff1a;基于小波分析的油田机械传动装置振动信号识别方法&#xff0c;科技资讯&#xff0c;202305&#xff0c;赵磊 摘要:为提高油田机械设备运行的稳定性与高效性&#xff0c;分析传动装置的运行特性该研究设计了一种基于小波分析的油田传动装置振动信号识别方法。应…

企业选择软件测试外包公司有什么好处软件测评服务公司推荐

软件测试外包公司是专门为企业提供软件测试服务的第三方机构&#xff0c;帮助企业提高软件质量&#xff0c;降低开发和维护成本。以卓码软件测评为例&#xff0c;公司致力于为客户提供全面的软件测试解决方案&#xff0c;包括项目验收测试、软件确认测试、安全测试、性能测试和…

[HZNUCTF 2023 preliminary]ppppop

[HZNUCTF 2023 preliminary]ppppop 点进去之后是一片空白 接着我们打开HackBar 然后我们看到cookie里面有一个base64编码&#xff1a; Tzo0OiJVc2VyIjoxOntzOjc6ImlzQWRtaW4iO2I6MDt9利用在线工具解码得到&#xff1a; O:4:"User":1:{s:7:"isAdmin";b:…