思路:在网上看到的一种思路,物体移动时,对移动方向相反的物体顶点进行一个偏移,来实现残影的效果
相关文章:
顶点偏移
目前的问题:
只适用单个mesh,若物体含有多个mesh不适用
目前的顶点偏移是整体偏移,可以添加噪声进行扰动,效果更好一点
偏移后的颜色还可以想办法改一下,残影颜色

代码:

Shader "Mytest/MoveTestShader"{Properties{_MainColor("MainColor",Color)=(1,1,1,1)_VertexColor("VertexColor",Color)=(0,0,0,0)_Dir("Dir",Vector)=(0,0,0)//物体移动方向 世界空间_Speed("Move Speed",float)=0//偏移程度}//物体向某个方向移动,身后出现残影//给方向,方向和顶点法线点积   小于0的即为身后的点//身后的点 向相反方向偏移  偏移量为速度SubShader{Pass{Tags{"RenderType"="Opaque"}CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"fixed4 _MainColor;fixed4 _VertexColor;float3 _Dir;float _Speed;struct v2f{float4 pos:SV_POSITION;fixed isMoveVertex:TEXCOORD0;};v2f vert(appdata_base v){v2f o;//计算需要偏移的点//_dir是世界坐标下的方向 所以需要法线的世界坐标fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);fixed3 vertDir = -normalize(_Dir);//顶点偏移转换到模型空间fixed3 objDir = mul(unity_WorldToObject,vertDir);if(dot(_Dir,worldNormal)<0){//偏移点v.vertex = v.vertex + float4(objDir,0)*_Speed;o.isMoveVertex = 1.0;}else{o.isMoveVertex = 0;}o.pos = UnityObjectToClipPos(v.vertex);return o;}fixed4 frag(v2f i):SV_Target{fixed4 color ;if(i.isMoveVertex==1){color = _VertexColor;}else{color = _MainColor;}return color;}ENDCG}}FallBack ""
}

普通的Shader-物体移动身后残影的一种实现相关推荐

  1. Unity Shader 动画效果出现残影

    问题 复现<Unity Shader入门精要>的动画效果时,我发现我的动画都出现了残影. 一开始认为是程序写错了,采样出现了问题,但是复查对比其他资料很多遍也没发现错误. 解决方法 后来反 ...

  2. 残影效果在URP中的实现及性能优化

    快速跳转 残影效果概述 对象池创建对象 残影数量未达到最大 残影数量达到最大 对象池技术优化 残影生成逻辑 生成残影的时机 残影材质处理 残影材质赋予 残影材质更新 残影动画匹配 实例化绘制 其他优化 ...

  3. 【Unity】动作游戏开发实战详细分析-25-角色残影效果的实现

    [Unity]动作游戏开发实战详细分析-25-角色残影效果的实现 基本思路 Unity中的蒙皮网格组件提供了一个接口BakeMesh,允许我们拿到当前动画帧的网格数据,借此可对烘焙网格使用半透明的边缘 ...

  4. 计算机桌面窗口移动有虚影,win7系统桌面出现残影影响心情?一招帮你解决问题...

    win7桌面出现残影怎么办? 如下图所示: 系统桌面出现残影算是一种比较常见的问题了,在桌面单击右键或者右键点击任务栏选择菜单后会在屏幕上留下某些选项的虚影,而且多数的情况下虚影在层叠窗口中是完全置顶 ...

  5. 浅谈OLED残影和解决方案

    OLED (Organic Light-Emitting Diode)即有机发光二极管,具有自发光的特性,因其本身材料问题(功耗大),OLED屏幕长期显示某个静止画面时,这些有机材料就会因为持续发光加 ...

  6. OLED模块在使用时如何避免残影

    OLED显示模块由于本身特有的材质,当模块一直显示某个汉字或图形,屏幕一直不给刷新,那点亮一段时间后屏上就会留残影,从而影响到屏的整体视觉.为了避免残影的出现,建议大家在使用时给屏不断的刷新这个刷新是 ...

  7. unity实现3D物体的残影效果

    很久之前我写过一篇用对象池等知识实现的2D的残影效果 好像有挺多小伙伴看的添加链接描述 然后这几天我有入门了一下shader 接触了透明的效果 之后我就飘了 想实现一下3D残影的效果 但是这个仅限于u ...

  8. opengl使用compute shader的生成纹理,解决残影的问题

    在做AR云渲染的项目中,经常会有残影出现,定位问题吧. 在我们项目中,使用到了compute shader来定制一些纹理的输出,每帧的写纹理可能没有覆盖纹理的每个像素,这样就造成了问题,下一帧的渲染这 ...

  9. 游戏中制作酷炫拖尾残影效果实战

    发现好多人都想要这个拖尾残影的效果,今天贴出来. 今天制作拖尾残影效果,效果如图:两个视角 我的游戏中角色有冲刺技能,冲刺中身后要有一个残影效果,这种效果就满足了,现在分享给大家如何制作. 1.观察需 ...

最新文章

  1. 贪心 ---- C. Anu Has a Function位运算+贪心证明
  2. python获取天气信息写入原有的excel文档
  3. 理解python并发编程_Python并发编程很简单
  4. nc 模拟服务器_NC集群服务器使用详解
  5. 带你自学Python系列(九):一文读懂Python中字典应用原理!
  6. Java中Http连接的两种方式
  7. java案例代码6-评委打分的模拟程序
  8. java 在类中定义接口_我们可以在Java接口中定义一个类吗?
  9. 活著就为改变世界---史蒂夫.乔布斯…
  10. 多线程常见面试题(含常见项目遇到多线程问题解决及面试对话)
  11. ffmpeg转码视频
  12. 通信基础 7 —— 遍历保密速率、谱分解物理意义
  13. talking web android,talking web(网页朗读插件) 免费版
  14. PowerBI-关系函数-RELATED RELATEDTABLE
  15. python语料库是什么,Python 语料库的搭建
  16. 微信企业号开发:企业支付基础
  17. cesium面积计算_Cesium面积测量之思路解析加源码
  18. 用Arduino制作红外线循迹自动机器人
  19. 姜思达和机器人_《奇葩说》姜思达爱上人工智能 马东发全网通缉令寻人
  20. ubuntu和windos 局域网NTP配置时间同步设置方法

热门文章

  1. css网络安全领袖峰会参会记录和总结
  2. KIS 专业版 10.0 登陆时错误问题和截图
  3. 蚂蚁网商银行内推Java岗4+1面,持续26天,成功上岸,斩获offer
  4. php fopen http 报错,PHP fopen 错误捕获
  5. MySQL索引:聚簇索引和非聚簇索引的区别
  6. CNCF案例研究:Uber
  7. 飞桨深度学习零基础入门(一)——使用飞桨(Paddle)单层神经网络预测波士顿房价
  8. 如何测量快恢复二极管好坏-详细文案
  9. webflux oracle,從MVC到WebFlux
  10. PHP数组根据某个字段进行水平合并,横向合并