各种功能实现的基本原理:水面运动的波纹:使用一张法线图:对其进行采样且使用的uv坐标随时间而偏离。但如果只采样一次,只会得到水面向一个方向流动的效果。因此进行2次不同uv坐标的采样并进行融合。为了让波纹更加混乱,这次融合的结果不是最终的法线,而只作为一个偏移值。再次进行2次采样,此时的采样的uv坐标加上了之前得到的偏移值,融合这2次的采样结果作为法线,这样就可以得到较为混乱的水面波纹。水边的波浪:
转载 2024-05-15 12:15:57
321阅读
1点赞
Description shadow来到一片神奇的土地,这片土地上不时会出现一些有价值的水晶,shadow想要收集一些水晶带回去,但是这项任务太繁杂了,于是shadow让自己的影子脱离自己并成为一个助手来帮助自己收集这些水晶。shadow把这片土地划分成n*m个小方格,某些格子会存在一些shadow和他的影子都无法穿越的障碍,比如巨石、树木、野兽等。shadow预先探测到了水晶出现的时间、位置
原创 2022-11-09 19:36:43
74阅读
美丽的滴水湖美丽的滴水湖坐落在上海的东南角,濒临东海,风景秀丽,安静舒适,是旅游、恋爱的绝佳去处。笔者有幸去过一回,对那儿的风土人情留下了深刻的印象,如果有机会,笔者还会多去几次!滴水湖是个神奇的地方,神奇之处在于它的外形是一个正圆形,这源于城市规划者对临港新城的美好设想。每次路过这个美丽的湖时,笔者总会想:这个湖到底多大呢?本文将会谈到如何如何得到滴水湖的水面面积。是手动测量?是地质勘测?No,
关于水体渲染的一个简单Demo,大部分资源以及实现都来自Unity官方项目BoatAttack以及GPUI插件。本文主要讲解大致实现思路,想详细了解的同学可以下载工程查看(800MB左右)。需要的工具:Unity 2020,VS 2019以下水体渲GPU实例化的演示: 水体主要实现的效果:水体渲染效果1 水体渲染效果2 一、波浪创建一个空物体,挂上脚本ASE_Wate
转载 2024-08-23 20:10:30
2015阅读
根据这位大佬的文章我进行了实现,并且对代码的部分做了注释方便大家理解。 实现大概分为四个部分:1. 用顶点坐标变化来模拟水面波浪的起伏//实现水面的波浪的变化 //计算顶点的实时高度,计算的xz平面,用波的震动函数来计算实时的高度 fixed height = sin(_Time.y * _WaveSpeed + v.vertex.z * _WaveGap + v.vertex.
转载 2024-03-23 16:40:08
120阅读
Shader——水面效果
原创 2021-07-13 15:44:20
527阅读
如何做一个卡通水面效果 首先,根据水面和场景的深度差异划分为浅水和深水,浅水和深水各取两个极值,然后根据深度进行插值。所谓的浅水,就是水面下的物体与水面的距离较小,颜色较浅;所谓的深水,就是水面下的物体与水面的距离较大,颜色较深。那么,如何获得场景深度呢?Unity引擎自带了**_CameraDepthTexture**,但这是基于屏幕坐标系的texture,如何在frag shader里去采样
转载 2024-06-21 23:08:45
43阅读
Shader "Custom/whater" { Properties { _MainTex("Ma
原创 2022-09-29 14:24:53
435阅读
最终效果图2D流体简单介绍2D流体相关的算法很多,这篇文章主要讲应用层面,因此不对算法做较深的说明。本文流体相关的代码叫Stable Fluids,来自SIGGRAPH的一篇论文。该代码使用的算法为MAC(Marker and Ceil) Grid,它将一个平面分成多个网格,在网格里面计算流体的密度,在网格的边缘计算流体的向量场。我们使用这个算法时,只需要添加染料进密度场,然后交互扰动向量场,密度
转载 2024-05-02 08:18:56
88阅读
在51CTO里潜水了很久的我终于在这天浮出来水面,看看这天空的世界!每天上班打开网页就一定会上51CTO网站,看看有没有什么最新的资讯、推荐的博文,到BBS里看看帖子,这些都成为了我每天必做的事。从51CTO里学到了很多知识与技术,对工作上也起到了一定的帮助。希望在这里能和大家分享并谈谈自已的想法,写写自已在工作中经验。
原创 2008-07-26 11:11:54
861阅读
2评论
Shader "Custom/Water"{ Properties { _Tint("Tint", Color) = (1, 1, 1, .5) _MainTex("Main Texture", 2D) = "white" {} _MainDistortionFactor("Main Distortion Factor", Range(0,10)) = 1 _Amount("Wave Amount", Range(0,1)) = 0.5 _Height("Wave Heig...
原创 2022-01-25 13:37:42
418阅读
高光反射 高光反射计算公式 : C specular   = (C light · M specular ) [max(0 ,  v · r ) ^ M gloss ] C light : 入射光线的颜色和强度 M specular :  高 光反射系数 v :视角方向单位向量 r :&
接下来是水体渲染基础的最后一篇,通过水面看到水下的物体,并呈现深度效果。1. 搭建简单演示场景我们直接搭一个小场景。 增加水面,赋予uv变形的水面材质,并增加透明度的设置。SubShader { Tags { "RenderType"="Transparent" "Queue" = "Transparent" } LOD 100 Pass
在可视化应用中,水球图也是一种常见的数据展示形式,关于使用CSS实现个性化水球,在相当长的一段时间并没有找到比较简洁的实现方式,因此在以往的可视化作品中,大多采用echarts插件-Liquid Fill Chart来实现,本章节结合CSS相关属性及SVG知识点,将实现水球图的思路简单讲解一下,以便在实际的项目中能够拿来即用、提高开发效率,同时能够对一些不常见的CSS属性有一个回顾。在了解本章节之
# Java实现收集水表电表数据 在现代智能家居系统中,收集水表和电表的数据是一项重要功能。通过收集这些数据,我们可以更好地监控家庭能源使用情况,进行能源管理,甚至实现自动化控制。本文将介绍如何使用Java编程语言实现收集水表和电表数据的功能。 ## 系统设计 首先,我们需要设计一个系统,该系统可以定期读取水表和电表的数据。系统设计可以分为以下几个步骤: 1. **数据采集**:通过硬件接
原创 2024-07-29 05:57:12
120阅读
题目大意:有N个人,M种朋友关系,朋友的朋友就是朋友,问这N个人中,最多的朋友圈里面的人有几个解题思路:并查集水题,吓了一跳,以为多难呢...#include#include#include#includeusing namespace std;#define maxn 30010#define maxm 500010int N,M;int p[maxn];int num
原创 2023-04-07 10:39:43
32阅读
一. Unity声明周期Unity容器为我们提供了6种生命周期,便于我们根据项目需求来选择使用。  (1). 瞬时。默认省略即为瞬时,无论单线程还是多线程,每次都重新创建对象。new TransientLifetimeManager()  (2). 容器单例。只要是同一个Unity容器创建的同一个类型的对象,无论是线程之间还是单线程内都是单例的。new ContainerControlledLif
效果 桌面壁纸——超真实水波纹效果 实现工具: Qt+OpenGL实现功能模拟水波:生成水面波形,完成水面的光照折射计算窗口嵌入桌面监视顶层窗口是否遮挡桌面,是就停止水纹的刷新全局鼠标钩子原理波形生成把水面波形可以近似看作是一个以振源距离(dis)为参数的正弦波,其中A为最大振幅,F为频率,dis是当前点(xy)与振源的距离,本质上这是一个二元函数,通过这样一个函数,我们能构造出如下效果的曲
Problem 2095 水面高度Accept: 40 Submit: 256Time Limit: 1000 mSec Memory Limit : 327
原创 2022-10-18 14:01:56
62阅读
正文: 任何物体本身都具有发射、吸收和反射电磁波的能力,这是物体的基本特征。水体当然也不例外!本文将以水体的反射波谱特性为切入点,分享水体的光谱特征及影响因素!首先,我们来了解太阳辐射(光)与水体发生的光学作用(反射/透射)。我们知道水体的反射辐射源是太阳,太阳辐射到达水面后,一部分被水面直接反射回空中形成水面反射光,强度与水面状况有关(一般仅占入射光的3.5%左右),其余光透射进入水中,大部分
  • 1
  • 2
  • 3
  • 4
  • 5