IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity3D 模型描边插件Outline Effect详细使用说明、C#功能扩展 -> 正文阅读

[游戏开发]Unity3D 模型描边插件Outline Effect详细使用说明、C#功能扩展

该插件来自于Unity Asset Store 商店免费下载…请自行下载
偶的Unity版本是2019.4.12 ……^v ^
在这里插入图片描述

下面开始介绍它的具体使用方法:

1.首先在相机上添加该组件,参数暂且不动,后面自行调节

在这里插入图片描述
下面讲一下组件参数:
Line ThickNess:描边线条的厚度,也就是粗细
Line Intensity:描边线条的强度,也就是颜色的明暗程度
Fill Amout:颜色填充,就是会在描边内的模型上生成一种填充颜色
Line Color 0-2 :三种不同描边颜色
Additive Rendering:叠加渲染,默认勾选,测试没有什么区别
Backface Culling:隐面剔除,勾选后只描边看见的物体,取消勾选是所有物体描边,且不会被遮挡。
Fill Color:填充颜色调整 与Fill Amout 配合使用
Use Fill Color:勾选代表使用Fill Color的颜色,不勾选代表使用的是描边的颜色
Alpha Cutoff:透明度切断,最小值代表不透明,最大值代表透明
Flip Y :是描边效果翻转
其他参数基本不用调整

2.在需要描边的模型上添加OutLine组件 ^ v ^


下面我们讲一下该组件的参数:
Color : 还记得刚才添加在相机上的组件吗,Outline Effect 组件上有三种颜色可选择 Line Color 0-2,这个参数就代表你选择颜色的序号,默认是第一种。
Erase Renderer :删除渲染,勾选后就不显示该描边了

!!!!到这里基本已经完成模型的静态描边了,已经可以满足基本需求了。

下面讲一下动态描边、若隐若现效果

该插件自带动画脚本,在相机上挂载 OutLine Animation 组件
在这里插入图片描述
然后运行你会发现描边开始出现若隐若现的动画。到这里完成整个插件的功能使用。

然而,因为项目需求我想让这三种颜色都做有动画效果,下面我们修改一下插件源码,扩展一下功能
直接上修改好的源码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using cakeslice;

namespace cakeslice
{
    public class OutlineAnimation : MonoBehaviour
    {
        bool pingPong = false;
        /// <summary>
        /// 这里是每种颜色做动画的序号
        /// </summary>
        public int ColorAnimationNum;
        private Color c;
        void Update()
        {
            switch (ColorAnimationNum)
            {
                case 0 :
                    c = GetComponent<OutlineEffect>().lineColor0;
                    break;
                case 1 :
                    c = GetComponent<OutlineEffect>().lineColor1;
                    break;
                case 2 :
                    c = GetComponent<OutlineEffect>().lineColor2;
                    break;
            }
            if(pingPong)
            {
                c.a += Time.deltaTime;

                if(c.a >= 1)
                    pingPong = false;
            }
            else
            {
                c.a -= Time.deltaTime;

                if(c.a <= 0)
                    pingPong = true;
            }
            c.a = Mathf.Clamp01(c.a);
            switch (ColorAnimationNum)
            {
                case 0:
                    GetComponent<OutlineEffect>().lineColor0 = c;
                    break;
                case 1:
                    GetComponent<OutlineEffect>().lineColor1 = c;
                    break;
                case 2:
                    GetComponent<OutlineEffect>().lineColor2 = c;
                    break;
            }
            GetComponent<OutlineEffect>().UpdateMaterialsPublicProperties();
        }
    }
}

最后只需要挂载在相机上三个该组件
在这里插入图片描述
直接运行,效果会让你满意~~~
上我自己的图!!
在这里插入图片描述

至于后面扩展到4中颜色甚至更多,欢迎评论交流探讨哦,小编就不做测试了,现在已经基本满足大部分人的需求了哦~

欢迎评论区讨论~ 点赞收藏加关注哦
学习交流~
哦吼^ .^

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 18:01:25  更:2021-12-16 18:02:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:26:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码