2013-11-11 11:29:48 xuanjian6 阅读数 11111
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity3d 更改UI的透明度

动态更改GUI纹理的透明度

void OnGUI()
{
alpha += 0.01f;
GUI.color = new Color(1f,1f,1f,alpha);
GUI.DrawTexture(new Rect(0,0,Screen.width,Screen.height),tex);
}

更改物体的透明度

renderer.material.color = new Color(1f,1f,1f,alpha);


2017-01-22 12:12:15 BuladeMian 阅读数 12623
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

 

Default-Skybox,Shader:Skybox/Procedural

 

使用透明材质

1.使用自带的天空盒材质

新建3D物体,自带是初始材质

将其替换成如上图所示的Default-Skybox,就可以变成透明的,测试使用的小方块移动,这个墙就变成了空气墙

墙和测试使用的小方块,都是只有碰撞器(非触发状态),没有刚体。

(Untiy自带的刚体碰撞,会出现很多问题,想要制作成复合自己条件的,刚体碰撞,最好是自己用代码编写)

 

2.使得被遮挡的物体发光透明

可以参考文章1,2

 

需要说明的是,3D物体可以改变材质或者是使用Shader来,使得物体发光和高亮,描边

2D物体想要实现 描边 的效果,类似PS里面的 不同 层 对应不同渲染顺序,把白色底边图片 放在最下面渲染即可

高光 效果,需要获得 图片的 设置,对对应的属性进行设置

 

【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法

 

3.创建透明材质球

在Project视图,点击 Create按钮,或者在在Project视图鼠标选中文件夹,鼠标右键该文件夹

Create-Material

重命名该材质球 名字为Transparent

选中 名字为Transparent 的材质球,在Inspector视图下,使得Shader选择为Standard

Rendering Mode为 Fade或者Cutout

使得Albedo 的颜色的Alpha 为0

如下图所示

 

 

 

 

参考文章:

1.

Unity3D研究院之处理摄像机跟随避免相机穿墙拉近或透明的方法(四十四)

 

2.

unity3d 摄像机跟随角色时被物体遮挡解决方案

3.[Unity][特效]物体模型逐渐透明

 

 

 

 

2018-05-07 15:50:40 A13155283231 阅读数 848
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

透明物体的shader

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'

Shader "Unlit/NewUnlitShader"
{
    Properties{
        _AlphaScale("AlphaScale",Range(0,1)) = 0.2
    }

    SubShader
    {
        Tags { "Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout" }
        Pass
        {
            Tags { "LightMode"="ForwardBase" }

            ZWrite Off                          // 关闭深度写入
            Blend SrcAlpha OneMinusSrcAlpha     // 开启混合模式。SrcAlpha:源颜色混合因子,OneMinusSrcAlpha:已存在颜色混合因子

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

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

            fixed _AlphaScale;

            v2f vert (
                float4 vertex : POSITION,
                float2 uv : TEXCOORD0
                )
            {
                v2f o;
                o.pos = UnityObjectToClipPos(vertex);
                o.uv = uv;
                return o;

            }

            fixed4 frag (v2f i) : SV_Target
            {
                return fixed4(i.uv, 0, _AlphaScale);
            }
            ENDCG
        }
    }
}

效果

这里写图片描述

没有更多推荐了,返回首页