- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我正在使用这种具有颜色“漂移”的毛刺效果(模拟效果)
https://github.com/keijiro/KinoGlitch
它带有一个着色器和这个 Analog Glitch 脚本(全部在链接中):
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
[AddComponentMenu("Kino Image Effects/Analog Glitch")]
public class AnalogGlitch : MonoBehaviour
{
#region Public Properties
// Scan line jitter
[SerializeField, Range(0, 1)]
float _scanLineJitter = 0;
public float scanLineJitter {
get { return _scanLineJitter; }
set { _scanLineJitter = value; }
}
// Vertical jump
[SerializeField, Range(0, 1)]
float _verticalJump = 0;
public float verticalJump {
get { return _verticalJump; }
set { _verticalJump = value; }
}
// Horizontal shake
[SerializeField, Range(0, 1)]
float _horizontalShake = 0;
public float horizontalShake {
get { return _horizontalShake; }
set { _horizontalShake = value; }
}
// Color drift
[SerializeField, Range(0, 1)]
float _colorDrift = 0;
public float colorDrift {
get { return _colorDrift; }
set { _colorDrift = value; }
}
#endregion
#region Private Properties
[SerializeField] Shader _shader;
Material _material;
float _verticalJumpTime;
#endregion
#region MonoBehaviour Functions
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
if (_material == null)
{
_material = new Material(_shader);
_material.hideFlags = HideFlags.DontSave;
}
_verticalJumpTime += Time.deltaTime * _verticalJump * 11.3f;
var sl_thresh = Mathf.Clamp01(1.0f - _scanLineJitter * 1.2f);
var sl_disp = 0.002f + Mathf.Pow(_scanLineJitter, 3) * 0.05f;
_material.SetVector("_ScanLineJitter", new Vector2(sl_disp, sl_thresh));
var vj = new Vector2(_verticalJump, _verticalJumpTime);
_material.SetVector("_VerticalJump", vj);
_material.SetFloat("_HorizontalShake", _horizontalShake * 0.2f);
var cd = new Vector2(_colorDrift * 0.04f, Time.time * 606.11f);
_material.SetVector("_ColorDrift", cd);
Graphics.Blit(source, destination, _material);
}
#endregion
我需要找出如何更改它“出现故障”的颜色 - 正如您现在看到的那样,它出现了绿色和洋红色故障。我需要红色和蓝色,但找不到具体的颜色值。
我可以根据需要发布着色器 - 如何在统一的红色/蓝色中实现此故障?
着色器:
Shader "Hidden/Kino/Glitch/Analog"
{
Properties
{
_MainTex ("-", 2D) = "" {}
}
CGINCLUDE
#include "UnityCG.cginc"
sampler2D _MainTex;
float2 _MainTex_TexelSize;
float2 _ScanLineJitter; // (displacement, threshold)
float2 _VerticalJump; // (amount, time)
float _HorizontalShake;
float2 _ColorDrift; // (amount, time)
float nrand(float x, float y)
{
return frac(sin(dot(float2(x, y), float2(12.9898, 78.233))) * 43758.5453);
}
half4 frag(v2f_img i) : SV_Target
{
float u = i.uv.x;
float v = i.uv.y;
// Scan line jitter
float jitter = nrand(v, _Time.x) * 2 - 1;
jitter *= step(_ScanLineJitter.y, abs(jitter)) * _ScanLineJitter.x;
// Vertical jump
float jump = lerp(v, frac(v + _VerticalJump.y), _VerticalJump.x);
// Horizontal shake
float shake = (nrand(_Time.x, 2) - 0.5) * _HorizontalShake;
// Color drift
float drift = sin(jump + _ColorDrift.y) * _ColorDrift.x;
half4 src1 = tex2D(_MainTex, frac(float2(u + jitter + shake, jump)));
half4 src2 = tex2D(_MainTex, frac(float2(u + jitter + shake + drift, jump)));
return half4(src1.r, src2.g, src1.b, 1);
}
ENDCG
SubShader
{
Pass
{
ZTest Always Cull Off ZWrite Off
CGPROGRAM
#pragma vertex vert_img
#pragma fragment frag
#pragma target 3.0
ENDCG
}
}
最佳答案
_ColorDrift
用于在着色器中生成一个名为drift
的局部变量,此值然后仅在一个位置使用以生成src2
质地。
这个纹理然后被使用一次,return half4(src1.r, src2.g, src1.b, 1);
请注意,src2
纹理仅提供其绿色值。这意味着绿色 channel 被偏移(产生绿色和反绿色(品红色)失真)。
您可以调整此 return
行以生成红色/反红色(青色)失真或蓝色/反蓝色(黄色)失真。只需更改 src2
变量适用的颜色值即可。
红色/青色:return half4(src2.r, src1.g, src1.b, 1);
蓝色/黄色:返回 half4(src1.r, src1.g, src2.b, 1);
请注意,将 src2
应用于 两个 颜色 channel 只会触发失真(红色/反红色 -> 反红色/红色)并使其成为现实更强烈(纹理跳跃的明显距离更大)。
关于c# - Unity shader/C# - 如何改变效果的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891140/
我可以使用 javascript 和其他所有东西,但在重新发明轮子之前,我想知道是否已经有一个类似的 jquery 插件,因为我想使用那个框架而不是 mootools。 我没有钱的问题,特别是 5 欧
我正在 React 应用程序中处理动画。我需要动画在悬停 后开始工作。我尝试了 :hover:after css 但不起作用。将鼠标悬停在图像上后动画可以工作,但我需要在悬停后开始。将鼠标悬停在图像上
我正在使用 jQuery 在按钮单击时实现 slider 效果。我的代码是: $(document).ready(function() { $("#mybutton").click(functio
我需要一个div标签在屏幕右侧滑出,如何使用jQuery获得这种效果?我一直在看这里:http://api.jquery.com/category/effects/sliding/而且这似乎不是我要找
我正在使用此代码实现页面 curl 效果......它在模拟器和设备中工作正常......但它不是(setType:@“pageCurl”)苹果记录的api,这导致它被iPhone拒绝App Stor
我见过各种关于 WPF 效果的引用,但它们似乎是针对位图的,而不是针对文本的。是否可以将除模糊或投影以外的效果应用于XAML中的TextBlock对象? 我想要做的示例可能是轮廓笔划,或斜角/浮雕效果
我见过各种关于 WPF 效果的引用,但它们似乎是针对位图的,而不是针对文本的。是否可以将除模糊或投影以外的效果应用于XAML中的TextBlock对象? 我想要做的示例可能是轮廓笔划,或斜角/浮雕效果
我正在尝试模拟这种效果:http://meyerweb.com/eric/css/edge/complexspiral/demo.html在我的博客上:http://segment6.blogspot
我尝试将样式应用到 Accordion Pane ,但遇到了问题。 这行不通。 accordion.setEffect(new DropShadow(BlurType.ONE_PASS_BOX, Co
关于 Datatables website 的教程足够清楚了: 在我告诉 Datatables 我正在谈论哪一列后,我只需将切换按钮放入: column.visible( ! column.visib
我正在寻找 scratchOut 效果,随便叫它什么。 这是从前景中删除图像的效果,因此背景图像变得可见。 我曾尝试使用 jquery 插件重新创建此效果,但它并不像我希望的那样流畅。 有没有人有这种
本文实例讲述了android实现文字和图片混排(文字环绕图片)效果。分享给大家供大家参考,具体如下: 在平时我们做项目中,或许有要对一张图片或者某一个东西进行文字和图片说明,这时候要求排版美观,所
本文实例讲述了Javafx简单实现【我的电脑资源管理器】效果。分享给大家供大家参考。具体如下: 1. java代码: ?
我是 ngrx 的新手,正在尝试让我的 ngrx 商店的 @Effect 函数正常工作。下面的代码显示了如果我没有使用 ngrx 商店,服务是如何工作的。我首先调用 http.get 来获取列表,然后
基本上我搜索了很多,解决方案建议应用一些 PNG 掩码或不提供所需的解决方案。 我发现了什么。 ffmpeg -i main.mkv -i facecloseup.mkv -filter_compl
有关使用从商店中选择的状态的效果的 Ngrx 文档状态(没有双关语意) Note: For performance reasons, use a flattening operator like co
我有一个数据网格控件,我在其中使用名为 FastShadow 的自定义效果,它就像一个光晕。 我希望效果在其边界之外发光,这样很好,但是当我在顶部绘制另一个形状时,我不希望这个形状受到影响。在本例中,
除了子 div.exception 中的所有内容,我想将 div.main 中的所有文本设为灰色。 div.exception 应该看起来好像类 main 从未添加到父 div。 这可能吗?如果是这样
我有一个 PDF 文件,我想重现此包页面中的页面 curl 效果: https://pub.flutter-io.cn/packages/page_turn 我试过用这个 page_turn插件,它需
我想测试一个效果如下: 如果调度了 LoadEntriesSucces 操作,则效果开始 等待 5 秒 5 秒后发送 http 请求 当响应到达时,将分派(dispatch)新的操作(取决于响应是成功
我是一名优秀的程序员,十分优秀!