崆、白鱼镇 2018-12-21 16:00 采纳率: 0%
浏览 263

关于Shader2.0中物体自转的问题

Pass
        {
            Cull Back
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"
            float _FloatAngle;
            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
                float4 tangent : TANGENT;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            v2f vert (appdata v)
            {
                v2f o;
                float angle=_Time.z;
                float xx=v.vertex.x*cos(angle)+sin(angle)*v.vertex.z;
                float zz=-v.vertex.x*sin(angle)+cos(angle)*v.vertex.z;

                v.vertex.x=xx;
                v.vertex.z=zz;

                v.vertex.xyzw+=v.tangent*_FloatAngle;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.uv;
                return o;
            }

            sampler2D _MainTex;

            fixed4 frag (v2f i) : SV_Target
            {
                fixed2 tmp=i.uv;
                tmp.y+=_Time.x;




                fixed4 col = tex2D(_MainTex, tmp);

                // just invert the colors
                //col.rgb = 1 - col.rgb;
                return col;
            }
            ENDCG
        }

```![图片说明](https://img-ask.csdn.net/upload/201812/21/1545379301_855625.png)
在用编写物体围绕自身y轴自转的时候,一开始只有一个Cube,其原始位置是(0,0,0),其自转是正确的;

之后将Cube移出一点位置,使其脱离坐标原点,效果也是正常;

但是!在拥有2个及两个以上Cube的时候,两个Cube的自转都是围绕着世界的原点进行旋转;  

这里有一个疑问,为什么一个可以,而多个之后就要围绕着世界轴旋转?

而且我将材质添加到Sphere的时候,无论有几个Sphere都是围绕着自身的y轴旋转

这里有另外一个疑问,为什么Sphere和Cube会出现两种不同的结果?
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题