项目场景:

提示:这里简述项目相关背景:

例如:当在科技风场景下,想把场景带有科技风格一点,可以尝试把相机的渲染改一下。主要还是shader

Shader "Custom/Overdraw"
{SubShader{Tags { "RenderType" = "Transparent" "Queue" = "Transparent" }LOD 100Fog { Mode Off }ZWrite OffZTest AlwaysBlend One OnePass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;};struct v2f{float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);return o;}fixed4 frag (v2f i) : SV_Target{return fixed4(0.1, 0.04, 0.02, 0);}ENDCG}}
}

控制代码:DebugOverdrawMode

using System.Collections;
using System.Collections.Generic;
using UnityEngine;[RequireComponent(typeof(Camera))]
public class DebugOverdrawMode : MonoBehaviour {public Shader m_OverdrawShader;private Camera m_Camera;private bool m_SceneFogSettings = false;private CameraClearFlags m_ClearFlagSetting;private Color m_BackGroundColor;void Awake(){m_Camera = GetComponent<Camera>();StoreParam();}//void OnLevelWasLoaded()//{//    //每次场景加载取消雾效,缓存并在OnDisable后恢复//    m_SceneFogSettings = RenderSettings.fog;//    RenderSettings.fog = false;//}void StoreParam(){m_SceneFogSettings = RenderSettings.fog;RenderSettings.fog = false;m_ClearFlagSetting = m_Camera.clearFlags;m_BackGroundColor = m_Camera.backgroundColor;}void OnEnable(){if (m_OverdrawShader == null){m_OverdrawShader = Shader.Find("Custom/Overdraw");//m_OverdrawShader = UnityEditor.EditorGUIUtility.LoadRequired("SceneView/SceneViewShowOverdraw.shader") as Shader; //应用unity自带shader即可达到相同效果}if (m_OverdrawShader != null && m_Camera != null){RenderSettings.fog = false;m_Camera.clearFlags = CameraClearFlags.Color;m_Camera.backgroundColor = Color.black;m_Camera.SetReplacementShader(m_OverdrawShader, "");bChanged = true;}}void OnDisable(){if (m_Camera != null){RestoreParam();}}void RestoreParam(){RenderSettings.fog = m_SceneFogSettings;//m_Camera.SetReplacementShader(null, ""); //和下面效果相同m_Camera.ResetReplacementShader();m_Camera.backgroundColor = m_BackGroundColor;m_Camera.clearFlags = m_ClearFlagSetting;}//测试方法 为了方便切换  可在非运行模式下测试bool bChanged;bool bInited;[ContextMenu("ChangeMode")]public void ChangeMode(){if (bChanged){RestoreParam();}else{if (!bInited){m_Camera = GetComponent<Camera>();StoreParam();m_OverdrawShader = Shader.Find("Custom/Overdraw");bInited = true;}RenderSettings.fog = false;m_Camera.clearFlags = CameraClearFlags.Color;m_Camera.backgroundColor = Color.black;m_Camera.SetReplacementShader(m_OverdrawShader, "");}bChanged = !bChanged;}
}

效果图:

Unity 科技透视模式效果相关推荐

  1. Unity Shader · 科技感矩阵效果

    Unity Shader · 科技感矩阵效果 前言 最近想要做一个次世代卡通渲染(伪),选的是崩崩崩的小八(我最喜欢小八了). 先放几张截图,等全部做完之后再分享用到的一些技术叭. 赶紧做完发B站,等 ...

  2. WPF Viewport3D 解决透视模式时窗体模糊

    原文:WPF Viewport3D 解决透视模式时窗体模糊 最近折腾Viewport3D玩,遇到了一些诡异的问题,研究一下略有心得,特此和大家分享~ 三维图形概述: https://msdn.micr ...

  3. Unity基础:粒子效果面板

    如何在Unity中实现粒子效果? 首先,右键点击 Hierarchy栏,选择effects->Particle System,这样你就新建了一个粒子系统,如图所示: 下面来介绍右侧监视器(Ins ...

  4. unity Android平台最佳效果探索(二)

    上一篇 unity Android平台最佳效果探索(一) 上篇写到了实现PC版的效果 继续 3.切换到Android平台后效果 直接切换后,不能运行,报错挺多. 原因: (1)Android平台不支持 ...

  5. osg 倾斜数据纹理_高科技构筑逼真效果——无人机倾斜摄影技术在实景三维建模的应用及展望...

    三维建模作为"数字城市"地理空间框架建设工程的一个重要组成部分,直观且真实地还原城市风貌,为城市的规划建设,以及民众生活带来便利.倾斜摄影作为一个重要的信息获取技术,运用图片结合技 ...

  6. Unity 实现物体破碎效果(转)

    感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...

  7. Unity ShaderGraph图片发光效果

    Unity ShaderGraph图片发光效果 前言 发光效果(Glow) 原理 ShaderGraph 前言 发光的基本原理,如何给图片施加不同颜色的光 公式讲解部分参考10行代码搞定"热 ...

  8. 如何使用unity制作雷达探测目标效果动画

    如何使用unity制作雷达探测目标效果动画 如何用unity制作动画或者可以展示的软件 因为如今许多制作软件的引擎,虚幻,unity,寒霜等,unity更加便捷. 在官网www.unity3D.com ...

  9. unity Text文字淡入效果

    unity Text文字淡入效果 CrossFadeAlpha()方法 先将alpha降为0,再改为1. public Text t;void Start() {t.CrossFadeAlpha(0f ...

最新文章

  1. 动态图相册 android,‎App Store 上的“动态图相册”
  2. Python 最强编辑器详细使用指南!
  3. 「重返18岁」!英特尔首任CTO重磅回归,以CEO身份重掌帅印
  4. 代理类和被代理类的解释及案例
  5. hdu1018--Big Number
  6. ML.NET Cookbook:(5)如何查看中间过程数据?
  7. [MFC]关于Visual studio 2012的AfxGetMainWnd
  8. libevent的线程优雅的退出方式
  9. getdatatable mysql_C# 自定义MySqlHelp类,包含了获取DataTable的方法,但是调用时总是提示“类型初始值设定项引发异常”...
  10. ARMLINUX学习笔记(二)
  11. java设置时间_怎么用java设置系统时间?
  12. 关于AOP方面的设计 UML图
  13. mysql与mimic安装_MIMICIII 数据库教程(4)——MIMIC数据库的安装 #丁香打卡#
  14. 图形点选中的算法应用-点线距离计算
  15. X1000之LCD部分的翻译
  16. 1000瓶药水,其中1瓶有毒,最少要几只老鼠?
  17. REDIS04_主从复制概述及搭建、反客为主、薪火相传、原理、哨兵模式、集群搭建
  18. JavaScript中的事件
  19. c语言输入身高输出标准体重,项目2:就拿胖子说事---(4)计算出标准体重,输出体重状态(正常/超重/超轻)...
  20. 大学计算机考核方案,计算机学院学生量化考核评定细则.doc

热门文章

  1. 【历史上的今天】1 月 8 日:谷歌推出 Google Pay;Quibi 的重生;平衡二叉树的发明者出生
  2. python提供数字类型包括_Python 语言提供的 3 个基本数字类型是( )_学小易找答案...
  3. 协同办公工具:在线白板初起步,在线设计已红海
  4. Python实现自动从中控考勤机软件中下载记录数据
  5. 浏览器必备灵魂插件谷歌浏览器翻译,番剧解除区域限制/全能启动器/
  6. C++ 类模板与模板类详解
  7. NSLog与printf的使用差异
  8. Python应用与实践-转自(吴秦(Tyler))
  9. 评价类模型(层次分析法与模糊评价模型)
  10. python自动化开发简历_手把手教你用Python+Selenium实现简历自动刷新!