【shaderforge学习笔记】 Rotator节点

ShaderForge Rotator节点

一、节点介绍

旋转器
这里写图片描述

输出的是输入的uv以[piv]为锚点旋转后[ang] (单位为弧度)的uv信息。如果ang没有连线,或者ang连线到time节点上,那么[spd]会控制旋转速度。

二、Rotator节点的输入

1. Piv

Piv是旋转操作的锚点,是一个二维数据(x,y)
uv坐标是从(0,0)->(1,1)的二维坐标系,左下角坐标(0,0),右上角坐标(1,1),中心点坐标(0.5,0.5)
举例:以左下角(0,0)为锚点旋转
这里写图片描述

2. Ang

旋转的角度(以弧度为单位,2PI为一周)
这里写图片描述

将弧度换算成角度
角度值 *PI/180 = 弧度值

这里写图片描述

3. Spd

旋转的速度,默认值为1.0。
- 当Ang是一个常量的时候,Spd作为Ang的倍数,Spd*Ang是作为实际旋转的角度。
- 当Ang是时间变量的时候,Spd控制着旋转的速度。
这里写图片描述

三、Rotator节点的输出

旋转后的uv坐标


四、小实例 漩涡扭曲效果

如果ang是单个数据,那么uv会整体旋转;
如果ang输入的是一个一维数组,那么我们就可以通过数组来控制对应部位的旋转扭曲的强度。

这里写图片描述
扭出一朵小花花送给你!~

五、自实现Untiy Shader代码实现Rotator节点的功能

我们来循序渐进的使用书写unity shader代码模拟旋转器节点的功能

1. 围着图片中心匀速旋转

写法
Shader "Hidden/testRotator"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags {
            "RenderType"="Opaque"
        }
        Pass
        {
            Name "FORWARD"
            Tags {
                "LightMode"="ForwardBase"
            }

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include &#
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值