shader学习记录——融合、融球效果

融合、融球效果shader,重点在等势面公式上

Shader "Custom/MetaballsShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}_Color("Color",Color) = (1,1,1,1)}SubShader{Tags { "RenderType"="Opaque" }LOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1)float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;float4 _Color;//等势面公式float energy(float r, float2 point1, float2 point2) {return (r * r) / ((point1.x - point2.x) * (point1.x - point2.x) + (point1.y - point2.y) * (point1.y - point2.y));}v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);return o;}fixed4 frag (v2f i) : SV_Target{float4 color = tex2D(_MainTex, i.uv);float2 center = float2(0.5,0.5);float fragEnergy = energy(0.1, i.uv.xy, float2(0.5, 0.5));fragEnergy += energy(0.1, i.uv.xy, lerp(float2(0.2, 0.2), center,sin(_Time.y)));fragEnergy += energy(0.1, i.uv.xy, lerp(float2(0.8, 0.8), center,sin(_Time.y)));fragEnergy += energy(0.1, i.uv.xy, lerp(float2(0.2, 0.8), center,sin(_Time.y)));fragEnergy += energy(0.1, i.uv.xy, lerp(float2(0.8, 0.2), center,sin(_Time.y)));color = smoothstep(0.95, 1.0, fragEnergy) * _Color;// apply fog//UNITY_APPLY_FOG(i.fogCoord, col);return color;}ENDCG}}
}

请添加图片描述

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

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

相关文章

什么是光谱共焦位移传感器?揭秘它隐藏的5大优势!

光谱共焦位移传感器是一种先进的传感技术,它利用光学原理来精确测量物体表面的微小位移。这种传感器结合了光谱学和共焦显微术的原理,通过分析反射光的光谱特性来确定物体表面的位置。 光谱共焦传感器的核心部件是光谱仪,它能够将反射光分解成…

【MQL】扩充Comment函数的功能

一、MQL语言中Comment函数的缺陷 Comment函数只能在图表上显示文本信息,无法将信息输出到日志文件或其他位置。Comment函数的文本信息会随着新的新的信息出现而更新,这可能导致就的信息被覆盖。Comment函数的文本信息长度有限,超过一定长度的…

代码随想录算法训练营Day44 | 完全背包理论基础、518.零钱兑换 II、377.组合总和 Ⅳ

完全背包理论基础 完全背包看起来复杂不少,但其代码和0-1背包几乎没啥差别,就只改变了一个背包的遍历顺序: 基于0-1背包的滚动数组实现,将 j 的遍历顺序改为从左到右(此时物品会被重复使用) 完全背包的重点…

5,水平百叶窗和垂直百叶窗

将宽度设置为若干份,开始显示时若干个起始线,每个起始线间隔相同的距离。显示过程中,每次各个起始线同时向下(或向右)显示一行(或一列)图像,直到图像显示完毕。 void CMy1_showbitm…

哪个牌子的电视盒子好用?2024超强电视盒子排名

最近很多朋友问我电视盒子的相关问题,就目前来说,电视盒子的地位依然是不可取代的。我近来要发布的测评内容是哪个牌子的电视盒子好用,耗时两周进行对比后整理了电视盒子排名,看看哪些电视盒子是最值得入手的吧。 NO.1——泰捷新品…

react-组件基础

1.目标 能够使用函数创建组件 能够使用class创建组件 能够给React元素绑定事件 能够使用state和setState() 能够处理事件中的this指向问题 能够使用受控组件方式处理表单 2.目录 React组件介绍 React组件的两种创建方式 React事件处理 有状态组件和无状态组件 组件中的state…

我在代码随想录|写代码Day27 | 贪心算法 | 122.买卖股票的最佳时机 II,55. 跳跃游戏, 45.跳跃游戏 II

&#x1f525;博客介绍&#xff1a; 27dCnc &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: <<数据结构与算法>> 专题 : 数据结构帮助小白快速入门算法 &…

【文献管理】zotero插件5——在word中引用参考文献文献样式修改

文章目录 word快速引用参考文献参考文献样式修改GB7714-修改etal word快速引用参考文献 参考文献样式修改 GB7714-修改etal

获取URL中的参数

在现实生活中&#xff0c;我们处处使用URL&#xff0c;但是&#xff0c;对于其中的数据&#xff08;参数&#xff09;&#xff0c;我们该如何获取呢&#xff1f;&#xff1f;这就值得我们深思了&#xff01; 在本文&#xff0c;笔者主要向大家讲解用Java语言的Spring Boot项目…

WEB服务器-Tomcat(黑马学习笔记)

简介 服务器概述 服务器硬件 ● 指的也是计算机&#xff0c;只不过服务器要比我们日常使用的计算机大很多。 服务器&#xff0c;也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求&#xff0c;并进行处理&#xff0c;因此一般来说服务器应具备承担服务并且保障…

华为OD机试真题-最长子字符串的长度(一)-2023年OD统一考试(C卷)---Python3--开源

题目&#xff1a; 考察内容&#xff1a; 思路转化&#xff1a;求出o字母出现偶次&#xff08;o的索引&#xff09;&#xff1b;环形–双倍字母&#xff1b; 方法1&#xff1a;循环变量双倍字母&#xff08;保证环线&#xff09;&#xff0c;记录最大偶次&#xff0c;如果是&a…

【Flink精讲】Flink单机安装步骤

Flink单机安装步骤 获取Flink安装包&#xff1a;Index of /flink 解压缩&#xff1a;tar -zxvf flink-1.17.2-bin-scala_2.12.tgz 修改配置文件&#xff1a;conf/flink-conf.yaml 启动命令&#xff1a;./bin/start-cluster.sh 终止命令&#xff1a;./bin/stop-cluster.s…

【视频编码\VVC】帧间预测编码基础知识

帧间预测编码概述 基本原理 利用时间相关性&#xff0c;使用邻近已编码图像像素值预测当前图像的像素值&#xff0c;能够有效去除时域冗余。目前的视频编码标准中&#xff0c;帧间预测都采用了基于块的运动补偿技术。 运动估计&#xff08;ME&#xff09;&#xff1a;当前图…

2024程序员进阶宝典,字节跳动+腾讯+华为+小米+阿里面试题分享

1、拓宽知识面 兴趣来了挡也挡不住&#xff01;从最初开始学习编程&#xff0c;从ASP到ASP.net,JS,Winform,Java,C,PHP,Python,都是自学&#xff01; 不过这里要说一下&#xff0c;如果没有一两门编程语言比较熟悉的情况下&#xff0c;最好还是不要自学&#xff1b;入门是最难…

Linux系统——Nginx拓展

目录 一、重写功能——rewrite 1.if 1.1 if 2. return 2.1状态码301和302的区别 301 302 3. set 4. break 5. rewrite 5.1 rewrite flag使用 5.2 flag说明 5.3举例 5.3.1访问 bj 跳转 beijing 5.3.2举例——break 5.3.3 http 转 https 5.3.4 break 与 last …

要在Javascript中实现表格新增行功能,且添加元素,增删操作

起始表格元素&#xff1a; <!-- table>(thead>tr>th*6)(tbody>tr>td*6) --><div class"container"><table id"myTable"><caption><h3>员工信息管理系统</h3></caption><thead><tr>&…

Python爬虫获取淘宝商品详情页数据|实现自动化采集商品信息

要实现自动化采集淘宝商品详情页数据&#xff0c;可以使用Python的第三方库如requests和BeautifulSoup。以下是一个简单的示例&#xff1a; Taobao.item_get-获得淘宝商品详情数据接口返回值说明 1.请求方式:HTTP POST &#xff1b;复制Taobaoapi2014获取APISDK文件。 2.请求…

【kubernetes】关于k8s集群的声明式管理资源

目录 一、声明式管理方法 二、资源配置清单管理 1、导出资源配置清单 2、修改资源配置清单并应用 2.1离线修改 2.2在线修改 三、通过资源配置清单创建资源对象 获取K8S资源配置清单文件模板&#xff1f; 关于配置清单常见的字段 方案一&#xff1a;手写yaml配置文件 …

swagger-ui.html报错404,解决办法

swagger-ui.html报错404,解决办法&#xff01;现在后端开发项目中&#xff0c;为了节省时间&#xff0c;使用swagger插件&#xff0c;可以方便的快捷生成接口文档。但是如果你在请求前端页面路径比如&#xff1a;http://127.0.0.1:7777/swagger-ui.html。找不到。那是因为你的配…

ROS-Ubuntu 版本相关

ROS-Ubuntu 版本相关&#xff1a;安装指引 年代ROS1版本Ubuntu 版本2014Indigo14.042016Kinetic16.042018Melodic18.042020Noetic20.04 & 22.04 ROS2兼顾了工业使用上的问题。 年代ROS2版本Ubuntu 版本2022Humble20.04 & 22.042023Iron16.04 相关参考&#xff1a; […