Unity 科技透视模式效果
项目场景:
提示:这里简述项目相关背景:
例如:当在科技风场景下,想把场景带有科技风格一点,可以尝试把相机的渲染改一下。主要还是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 科技透视模式效果相关推荐
- Unity Shader · 科技感矩阵效果
Unity Shader · 科技感矩阵效果 前言 最近想要做一个次世代卡通渲染(伪),选的是崩崩崩的小八(我最喜欢小八了). 先放几张截图,等全部做完之后再分享用到的一些技术叭. 赶紧做完发B站,等 ...
- WPF Viewport3D 解决透视模式时窗体模糊
原文:WPF Viewport3D 解决透视模式时窗体模糊 最近折腾Viewport3D玩,遇到了一些诡异的问题,研究一下略有心得,特此和大家分享~ 三维图形概述: https://msdn.micr ...
- Unity基础:粒子效果面板
如何在Unity中实现粒子效果? 首先,右键点击 Hierarchy栏,选择effects->Particle System,这样你就新建了一个粒子系统,如图所示: 下面来介绍右侧监视器(Ins ...
- unity Android平台最佳效果探索(二)
上一篇 unity Android平台最佳效果探索(一) 上篇写到了实现PC版的效果 继续 3.切换到Android平台后效果 直接切换后,不能运行,报错挺多. 原因: (1)Android平台不支持 ...
- osg 倾斜数据纹理_高科技构筑逼真效果——无人机倾斜摄影技术在实景三维建模的应用及展望...
三维建模作为"数字城市"地理空间框架建设工程的一个重要组成部分,直观且真实地还原城市风貌,为城市的规划建设,以及民众生活带来便利.倾斜摄影作为一个重要的信息获取技术,运用图片结合技 ...
- Unity 实现物体破碎效果(转)
感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...
- Unity ShaderGraph图片发光效果
Unity ShaderGraph图片发光效果 前言 发光效果(Glow) 原理 ShaderGraph 前言 发光的基本原理,如何给图片施加不同颜色的光 公式讲解部分参考10行代码搞定"热 ...
- 如何使用unity制作雷达探测目标效果动画
如何使用unity制作雷达探测目标效果动画 如何用unity制作动画或者可以展示的软件 因为如今许多制作软件的引擎,虚幻,unity,寒霜等,unity更加便捷. 在官网www.unity3D.com ...
- unity Text文字淡入效果
unity Text文字淡入效果 CrossFadeAlpha()方法 先将alpha降为0,再改为1. public Text t;void Start() {t.CrossFadeAlpha(0f ...
最新文章
- 动态图相册 android,App Store 上的“动态图相册”
- Python 最强编辑器详细使用指南!
- 「重返18岁」!英特尔首任CTO重磅回归,以CEO身份重掌帅印
- 代理类和被代理类的解释及案例
- hdu1018--Big Number
- ML.NET Cookbook:(5)如何查看中间过程数据?
- [MFC]关于Visual studio 2012的AfxGetMainWnd
- libevent的线程优雅的退出方式
- getdatatable mysql_C# 自定义MySqlHelp类,包含了获取DataTable的方法,但是调用时总是提示“类型初始值设定项引发异常”...
- ARMLINUX学习笔记(二)
- java设置时间_怎么用java设置系统时间?
- 关于AOP方面的设计 UML图
- mysql与mimic安装_MIMICIII 数据库教程(4)——MIMIC数据库的安装 #丁香打卡#
- 图形点选中的算法应用-点线距离计算
- X1000之LCD部分的翻译
- 1000瓶药水,其中1瓶有毒,最少要几只老鼠?
- REDIS04_主从复制概述及搭建、反客为主、薪火相传、原理、哨兵模式、集群搭建
- JavaScript中的事件
- c语言输入身高输出标准体重,项目2:就拿胖子说事---(4)计算出标准体重,输出体重状态(正常/超重/超轻)...
- 大学计算机考核方案,计算机学院学生量化考核评定细则.doc
热门文章
- 【历史上的今天】1 月 8 日:谷歌推出 Google Pay;Quibi 的重生;平衡二叉树的发明者出生
- python提供数字类型包括_Python 语言提供的 3 个基本数字类型是( )_学小易找答案...
- 协同办公工具:在线白板初起步,在线设计已红海
- Python实现自动从中控考勤机软件中下载记录数据
- 浏览器必备灵魂插件谷歌浏览器翻译,番剧解除区域限制/全能启动器/
- C++ 类模板与模板类详解
- NSLog与printf的使用差异
- Python应用与实践-转自(吴秦(Tyler))
- 评价类模型(层次分析法与模糊评价模型)
- python自动化开发简历_手把手教你用Python+Selenium实现简历自动刷新!