原理游戏中的元素非常多,但是摄像机能看到的内容是有限的,并且有些元素会被另外一些元素挡住,例如城墙一类的,城墙后面的元素就会被它挡住。如果不进行处理的话,这些元素也会带来一定的开销,此时可以使用遮挡剔除技术来剔除掉这些被挡住的元素,只动态保留摄像机能看到的内容。遮挡剔除遮挡与被遮挡属性描述Occluder Static在遮挡剔除系统中,将游戏对象标记为静态遮挡物Occludee Static在遮挡
转载
2024-03-27 13:15:56
94阅读
首先要先从网上下载InstantOC组件(网上资源很多的不用跟我要)那么介绍一下这个组件是干什么用的,为什么要用它,有什么好处在游戏中我们看到的物体,是如何呈现给我们的呢?如图:渲染管线 CPU干得事情第一步 游戏:其实就是CPU来判断视锥以内,所能看到的物体都需要渲染第二步 图形API:它是要看你发布的平台,不一样平台所需要的图形API也就不一样,比如Windows平台就需要DX,手机
转载
2024-08-29 16:46:04
131阅读
目录 创建Shader一.Standard Surface Shader二.Unlit Shader三.Image Effect Shader四.Compute Shader五.Ray Tracing Shader着色器语言Shader默认代码格式和一些常用API讲解 创建Shader一.Standard Surface Shader标准表面着色器,它是一种基于物理的着色系统,
转载
2024-03-27 09:01:53
85阅读
遮挡剔除 遮挡剔除的运行将通过在场景中使用一个虚拟的摄像机来创建一个物体潜在可视性状态(set)的层级。 这些数据可以让每个运行时间内的摄像机来确定什么能看见什么看不见。通过这些数据, Unity 将确定只把可以看见的物体送去渲染。 这将降低 draw calls 的数量并提供游戏的运行效率。 occ
文章目录前言一、Mesh组成二、使用步骤GetVertices方法GetNormal方法GetTriangles方法OnDrawGizmos方法三、效果四、总结 前言本篇将使用C#脚本实现在Unity中创建平面,并通过调整顶点、UV坐标和三角形来生成Unity Logo 的效果。一、Mesh组成顶点(vertex):顶点是物体表面上的点,用 Vector3 类型表示它们在局部空间中的位置。法线(
转载
2024-09-04 09:34:02
94阅读
之所以叫简易描边呢,是因为我发现仅这种方法对单个物体还算有用,但细节上达不到我想要的描边框选效果(比不上Unity Scene窗口的描边效果),而且碰到复杂情况,比如多个物体的时候也容易出问题。但网上查了多个描边方案,都没有能处理好,因此这里仅作为学习过程中的一个记录。 这里用的最简单的描边方案,顶点位置向法线方向移动一段距离,再转给世界坐标设置所有像素点_OutlineColor色作为底色,通过
转载
2024-06-23 06:47:13
155阅读
简单的说,Shader是为渲染管线中的特定处理阶段提供算法的一段代码。Shader是伴随着可编程渲染管线出现的,从而可以对渲染过程加以控制。1. Unity提供了很多内建的Shader,这些可以从官网下载,打开looking for older version的链接就能看到Build-in shaders。选择合适的Shader很重要,以下是开销从低到高的排序:(1)Unlit:仅使用
转载
2024-06-06 14:25:41
199阅读
一、 什么是ShaderShader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。小到每一个像素点,大到整个屏幕,比如下面这两个游戏内比较常见的效果。二、 Shader分类顶点Shader(3D图形都是由一个个三角面片组成的,顶点Shader就是计算每个三角面片上的顶点,并为最终像素渲染做准备)。像素Shader,顾名思义,就是以
转载
2024-04-15 11:57:36
160阅读
剔除(Culling) 剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和反面。剔除基于大多数对象都是封闭的事实;如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因此我们不需要绘制出背面。因此也被称做背面剔除。一言以蔽之,所谓剔除,就是被挡住或视角以外的我们看不到的物体,因为它们无关紧要,所以我们就不去绘制,以节省资源,提高场景的运行效
转载
2024-03-21 22:06:54
725阅读
SubShader TagsSubShader中的Tags必须放置于SubShader中的Tags内,具体参数有以下这些:Queue渲染队列,指定对象什么时候渲染,每个队列其实都是利用一个整数进行索引的。有以下取值:Background值为1000,此队列的对象最先进行渲染。GeometryQueue的默认值,值为2000,通常用于不透明对象,比如场景中的物件与角色等。AlphaTest值为245
转载
2024-04-23 13:18:06
152阅读
一.问题背景在项目开发过程中,美术和特效时常会给你出一些难题,比如在一张Image上展示一层特效,然后又在这层特效上展示一张Image,这一坨为一个独立元素,还得在滚动框里滑动,滚动的时候,遮挡逻辑依旧有效。上图二.解决方案方案1.给顶层图片添加Canvas,调整OrderinLayer的值1.调整Canvas的RenderMode为ScreenSpace-Camera,给RenderCamera
转载
2024-03-24 15:30:25
833阅读
之前在网上看到物体遮挡描边的功能,自己也拿来实现了一番。算作第一篇博客的开篇。 先贴出几张效果图,也是个人思路和方案的改进路线吧。 //////////////////////////////////////////////////////////////////方案实现/////////////////////////////////////////////////////////////
转载
2024-02-12 21:58:36
701阅读
已经有二十天没有更新博客了,这段时间也一直在学习WebGL shader,后续可能也会更新一些WebGL相关的博客。转入正题,我们来说说今天要实现的一个shader效果 - 遮罩。 其实遮罩原理非常简单,把源像素和遮罩图形像素相乘就行了。大致效果如下:准备工作1.创建一个场景和一些物体(cube,sphere等)。 2.创建一个新的C#脚本和一个Shader,命名为Mask。 3.把Mask.cs
转载
2024-08-28 13:14:46
102阅读
【Unity2D游戏】实现实时的正确的遮挡关系(引擎自带功能) Unity的渲染层级(layer),决定了2D游戏的渲染顺序,值越大的层级越后渲染,因渲染层级大的物体会覆盖渲染层级小的物体。在Sprite Renderer中,分为Sorting Layer和Order in Layer,通过这两个属性可以设置物体的渲染层级。然而在2D游戏中,常常会有角色一会儿跑到物体前,一会儿跑到物体后面的
转载
2024-05-21 10:23:09
908阅读
Unity 之 ShaderGraph 实现全息效果入门级教程前言一,效果展示二,原理介绍三,制作步骤四,使用示例五,资源分享 前言若你的工程还没有进行基础配置,请查看我的博文Unity 之 ShaderGraph入门使用详解,按照步骤操作完成配置即可,还能顺便学习一下基础操作流程哦~ 本文手把手教你制作旋涡效果,入门级教程,还不快动手试试?有经验的童鞋可以直接跳到最后一步,按照图示搭建即可。一
1、Unity实现透明效果有两种方法:使用透明测试(Alpha Test),这种方法无法得到真正的半透明效果;使用透明混合(Alpha Blend) 1)透明测试:给定一个透明通道的阈值,在一定条件下(如大于这个阈值)时抛弃这个片元,一刀切得意思 2)混合:根据指定的混合公式使用源信息与目标信息进行混合,需要注意的是混合时深度写入是关闭只读的,这是为什么不透明物体能够遮挡住透明
转载
2024-04-19 14:22:49
281阅读
先上效果图,只凭文字描述,脑补应该有些困难- - 如图:有三个角色(我们暂且从左到右叫它们A、B、C),一个2D UI(中间动作选择的框框),一个cube(右边的方块)cube挡住了角色C的头顶信息2D UI挡住了角色和cube共同点是只显示未被遮挡的部分,遮挡的部分不显示如果直接使用雨松momo文章中的代码的话,那么你会发现有一些问题,如图这里我没有用血条,只绘制了文字,都
转载
2024-03-14 22:19:07
463阅读
种种原因鸽了很久…已经学到第九章了第六章的笔记还没写…那就当对初级篇的一个总结吧,防止篇幅太长,分3部分来总结~对于光照模型的讲解原书已经讲得非常详细了,这里就随便记一下咯…感觉这章对于萌新来说最重要的是从框架开始跟着敲,熟悉一下流程和常用函数、变量、语义没啥难度,但是基础很重要,这里熟悉了,后面代码感觉眼睛已经可以跳着看了emm总结开始! 标准光照模型在标准光照模型中,进入摄像机中的光
转载
2024-05-28 22:54:51
223阅读
转载自 冯乐乐 《Unity Shader 入门精要》一个顶点/片元 着色器的结构大概如下: 1. Shader "MyShaderName"
2. {
3. Properties
4. {
5. //属性
6. }
7. SubShader
8. {
9. //针对显卡A的SubShader
转载
2024-05-22 22:16:23
723阅读
Unity Shader入门精要读书笔记系列第1章 欢迎来到Shader的世界第2章 渲染流水线第3章 Unity Shader基础第4章 学习Shader所需的数学基础第5章 开始 Unity Shader 学习之旅第6章 Unity中的基础光照第7章 基础纹理 文章目录Unity Shader入门精要读书笔记系列前言一、初识纹理1.单张纹理采样实践2.纹理的属性纹理格式(Texture Typ
转载
2024-04-08 08:53:53
109阅读