找回密码
 注册帐号

扫一扫,访问微社区

GUI Kinect官方案例里边,摄像头为什么显示的是倒立的图像

3
回复
714
查看
[ 复制链接 ]
7日久生情
3757/5000
排名
2980
昨日变化

28

主题

2270

帖子

3757

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
173503
好友
3
蛮牛币
1005
威望
0
注册时间
2016-10-5
在线时间
963 小时
最后登录
2019-8-25
2019-2-7 14:19:53 显示全部楼层 阅读模式
5蛮牛币
KinectBackgroundRemoval3  这个案例里边为什么,出现的人影是倒立的, 怎样修正??? 不会代码,希望详细说明  谢谢!!



QQ截图20190207141610.png
回复

使用道具 举报

排名
39862
昨日变化

0

主题

13

帖子

23

积分

Rank: 1

UID
314249
好友
0
蛮牛币
49
威望
0
注册时间
2019-2-19
在线时间
4 小时
最后登录
2019-2-26
2019-2-19 17:15:18 显示全部楼层
找到对应的Shader,将里面的UV(Y轴)取反就可以了,类似这样uv.v = 1- ov.v;
假定楼主了解shader
回复

使用道具 举报

7日久生情
3757/5000
排名
2980
昨日变化

28

主题

2270

帖子

3757

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
173503
好友
3
蛮牛币
1005
威望
0
注册时间
2016-10-5
在线时间
963 小时
最后登录
2019-8-25
楼主 2019-2-19 17:45:47 显示全部楼层
xinqingzhiyuan 发表于 2019-2-19 17:15
找到对应的Shader,将里面的UV(Y轴)取反就可以了,类似这样uv.v = 1- ov.v;
假定楼主了解shader ...

不了解呀!!很困惑!!!
回复

使用道具 举报

7日久生情
3757/5000
排名
2980
昨日变化

28

主题

2270

帖子

3757

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
173503
好友
3
蛮牛币
1005
威望
0
注册时间
2016-10-5
在线时间
963 小时
最后登录
2019-8-25
楼主 2019-2-19 19:39:39 显示全部楼层
Shader "Custom/ForegroundBlendShader"
{
        Properties
        {
                _MainTex ("MainTex", 2D) = "white" {}
        _BodyTex ("Body (RGB)", 2D) = "white" {}
        _ColorTex ("Color (RGB)", 2D) = "white" {}
        _ColorFlipH ("Horizontal Flip", Int) = 0
        _ColorFlipV ("Vertical Flip", Int) = 0
        _SwapTextures ("Swap background and foreground", Int) = 0
        }

        SubShader
        {
                Tags { "Queue"="Transparent" "RenderType"="Transparent" }

                Pass
                {
                        CGPROGRAM

                        #pragma vertex vert
                        #pragma fragment frag
                        #include "UnityCG.cginc"

                        sampler2D _MainTex;
                        //float4 _MainTex_ST;
                        uniform float4 _MainTex_TexelSize;

                        uniform sampler2D _BodyTex;
                        uniform sampler2D _ColorTex;
                       
                        uniform int _ColorFlipH;
                        uniform int _ColorFlipV;
                        uniform int _SwapTextures;


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

                        v2f vert (appdata_base v)
                        {
                           v2f o;
                          
                           o.pos = UnityObjectToClipPos (v.vertex);
                           o.uv = 1-v.texcoord;      //这里修改了一下。 之前是v.texcoord    修改完以后人影是正立的, 但是彩虹却倒立了。

                           return o;
                        }

                        half4 frag (v2f i) : COLOR
                        {
                                float2 c_uv;
                                c_uv.x = _ColorFlipH ? 1.0 - i.uv.x : i.uv.x;
                                c_uv.y = _ColorFlipV ? 1.0 - i.uv.y : i.uv.y;

#if UNITY_UV_STARTS_AT_TOP
                if (_MainTex_TexelSize.y < 0)
                {
                    c_uv.y = 1.0 - c_uv.y;
                }
#endif
                                float4 clrBack = tex2D (_MainTex, i.uv);
                                float4 clrFore = tex2D (_ColorTex, c_uv);

                                float w = tex2D(_BodyTex, i.uv).w;
                                float4 clrOut = _SwapTextures ? clrBack * w + clrFore * (1.0 - w) : clrFore * w + clrBack * (1.0 - w);

                                return clrOut;
                        }

                        ENDCG
                }
        }

        FallBack "Diffuse"
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则