游戏蛮牛学习群(纯技术交流,不闲聊):539178957
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:547

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 1676|回复: 11

[基本操作] ui渐隐

[复制链接]  [移动端链接]
7日久生情
1677/5000
排名
1958
昨日变化
1

34

主题

234

帖子

1677

积分

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

UID
184458
好友
4
蛮牛币
8941
威望
0
注册时间
2016-11-17
在线时间
763 小时
最后登录
2018-8-7
发表于 2017-10-9 17:51:23 | 显示全部楼层 |阅读模式
5蛮牛币
这样一张图片沿着箭头的方向从无到有 这个效果怎么搞


(我要的效果类似与透明度那种效果差不多 比如下面的透明度为0.5  上面的为1 )


QQ图片20171009174422.png

回复

使用道具 举报

5熟悉之中
781/1000
排名
4139
昨日变化
25

1

主题

143

帖子

781

积分

Rank: 5Rank: 5

UID
139214
好友
0
蛮牛币
1137
威望
0
注册时间
2016-3-12
在线时间
313 小时
最后登录
2018-8-14
发表于 2017-10-9 17:51:24 | 显示全部楼层
本帖最后由 云外九霄 于 2017-10-9 18:45 编辑

哦,,,说的是要渐变效果么??我傻逼了。。
[C#] 纯文本查看 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;


public class SetColorTemp : BaseMeshEffect {
    [SerializeField]
    private float m_ColorAlphaTop = 1f;
    [SerializeField]
    private float m_ColorAlphaBottom = 0.5f;
    
    public override void ModifyMesh(VertexHelper vh)
    {
        if (!IsActive())
        {
            return;
        }
        List<UIVertex> vertices = new List<UIVertex>();
        vh.GetUIVertexStream(vertices);
        int iCount = vh.currentVertCount;
        if (iCount > 0)
        {
            float bottomY = vertices[0].position.y;
            float topY = vertices[0].position.y;

            for (int i = 1; i < iCount; i++)
            {
                float y = vertices[i].position.y;
                if (y > topY)
                {
                    topY = y;
                }
                else if (y < bottomY)
                {
                    bottomY = y;
                }
            }
            UIVertex v = new UIVertex();
            float uiElementHeight = topY - bottomY;
            for (int i = 0; i < iCount; i++)
            {
                vh.PopulateUIVertex(ref v, i);
                v.color = Color32.Lerp(new Color(v.color.r, v.color.g, v.color.b, m_ColorAlphaBottom), new Color(v.color.r, v.color.g, v.color.b, m_ColorAlphaTop), (v.position.y - bottomY) / uiElementHeight);
                vh.SetUIVertex(v,i);
            }
        }
    }

}



回复

使用道具 举报

5熟悉之中
781/1000
排名
4139
昨日变化
25

1

主题

143

帖子

781

积分

Rank: 5Rank: 5

UID
139214
好友
0
蛮牛币
1137
威望
0
注册时间
2016-3-12
在线时间
313 小时
最后登录
2018-8-14
发表于 2017-10-9 17:59:54 | 显示全部楼层
直接改图片的透明度啊。

回复

使用道具 举报

7日久生情
2833/5000
排名
520
昨日变化

2

主题

264

帖子

2833

积分

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

UID
127556
好友
0
蛮牛币
6882
威望
0
注册时间
2015-11-2
在线时间
1153 小时
最后登录
2018-8-14
发表于 2017-10-9 19:08:08 | 显示全部楼层
写一个UI shader。让alpha是渐变的。

回复

使用道具 举报

7日久生情
1677/5000
排名
1958
昨日变化
1

34

主题

234

帖子

1677

积分

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

UID
184458
好友
4
蛮牛币
8941
威望
0
注册时间
2016-11-17
在线时间
763 小时
最后登录
2018-8-7
 楼主| 发表于 2017-10-10 11:09:39 | 显示全部楼层
云外九霄 发表于 2017-10-9 17:51
哦,,,说的是要渐变效果么??我傻逼了。。
[mw_shl_code=csharp,true]using System.Collections;
using  ...

怎么改变区域的大小  意思就是下面的区域大一点,上面的区域小一点
[发帖际遇]: 无名_ 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

5熟悉之中
781/1000
排名
4139
昨日变化
25

1

主题

143

帖子

781

积分

Rank: 5Rank: 5

UID
139214
好友
0
蛮牛币
1137
威望
0
注册时间
2016-3-12
在线时间
313 小时
最后登录
2018-8-14
发表于 2017-10-10 14:27:29 | 显示全部楼层
无名_ 发表于 2017-10-10 11:09
怎么改变区域的大小  意思就是下面的区域大一点,上面的区域小一点

???额。。。你的意思是分阶段渐变?
例如透明度0.5~0.8的渐变占图片的90%,0.8~1的渐变占图片的%10。
这样?

回复

使用道具 举报

7日久生情
1677/5000
排名
1958
昨日变化
1

34

主题

234

帖子

1677

积分

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

UID
184458
好友
4
蛮牛币
8941
威望
0
注册时间
2016-11-17
在线时间
763 小时
最后登录
2018-8-7
 楼主| 发表于 2017-10-10 14:34:02 | 显示全部楼层
云外九霄 发表于 2017-10-10 14:27
???额。。。你的意思是分阶段渐变?
例如透明度0.5~0.8的渐变占图片的90%,0.8~1的渐变占图片的%10。
...

是的  就是这个意思  这个怎么调

回复

使用道具 举报

5熟悉之中
781/1000
排名
4139
昨日变化
25

1

主题

143

帖子

781

积分

Rank: 5Rank: 5

UID
139214
好友
0
蛮牛币
1137
威望
0
注册时间
2016-3-12
在线时间
313 小时
最后登录
2018-8-14
发表于 2017-10-10 14:39:28 | 显示全部楼层
无名_ 发表于 2017-10-10 14:34
是的  就是这个意思  这个怎么调

你就去判断 vh.PopulateUIVertex(ref v, i);得出来的v的Position.y的值啊,与(uiElementHeight*你想要的比例)比大小,

回复

使用道具 举报

7日久生情
1677/5000
排名
1958
昨日变化
1

34

主题

234

帖子

1677

积分

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

UID
184458
好友
4
蛮牛币
8941
威望
0
注册时间
2016-11-17
在线时间
763 小时
最后登录
2018-8-7
 楼主| 发表于 2017-10-13 09:23:25 | 显示全部楼层
本帖最后由 无名_ 于 2017-10-13 10:01 编辑
云外九霄 发表于 2017-10-10 14:39
你就去判断 vh.PopulateUIVertex(ref v, i);得出来的v的Position.y的值啊,与(uiElementHeight*你想要的 ...

不行啊  还是不可以

回复

使用道具 举报

4四处流浪
438/500
排名
17113
昨日变化
7

1

主题

168

帖子

438

积分

Rank: 4

UID
213085
好友
4
蛮牛币
280
威望
0
注册时间
2017-3-20
在线时间
236 小时
最后登录
2018-8-9
发表于 2017-10-13 15:56:37 | 显示全部楼层
有点乱

回复

使用道具 举报

7日久生情
1677/5000
排名
1958
昨日变化
1

34

主题

234

帖子

1677

积分

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

UID
184458
好友
4
蛮牛币
8941
威望
0
注册时间
2016-11-17
在线时间
763 小时
最后登录
2018-8-7
 楼主| 发表于 2017-10-13 16:19:36 | 显示全部楼层

能搞出来不?????

回复

使用道具 举报

3偶尔光临
216/300
排名
11694
昨日变化
1

0

主题

95

帖子

216

积分

Rank: 3Rank: 3Rank: 3

UID
224676
好友
0
蛮牛币
142
威望
0
注册时间
2017-6-1
在线时间
50 小时
最后登录
2018-8-7
发表于 2017-11-11 19:35:41 | 显示全部楼层
233333333333333333333333333333333333

回复

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表