Deferred Decal(延迟贴花效果)本文参考博客:Unity Shader-Decal贴花(SelfDecal,Alpha Blend,Mesh Decal,Projector,Deferred Decal) 一说到延迟,我首先想到的就是延迟渲染,要理解这个延迟贴花效果就得先理解延迟渲染的过程。延迟渲染大体先上就是先将场景的顶点位置、颜色、法线(都转换到世界空间)渲染到到GBuffer中(            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-13 10:09:38
                            
                                258阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Unity最重要的功能之一是可以让用户选择具体的渲染路径。对于那些不是很熟悉Unity的用户来说,(通常情况下)在前向渲染路径和延迟渲染路径做一个宣发就好比在“一个正常的渲染方法”和“某个看起来就很奇怪的方法”之间做选择一样。为了更好的理解为什么这里要有多个渲染路径进行选择,首先你需要理解这些设置背后的动机。所有的渲染路径的核心都是光照的处理光照的计算是非常昂贵的,主要是因为当物体被光照到的时候有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-11 18:50:00
                            
                                82阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、使用传统投影Projector使用Unity自带的投影组件,实现投射贴图到目标上。优点:使用Unity自带组件,使用和开发都方便。缺点/限制:会将接受投影的物体整体重渲染一次。性能相关:接受投影的物体数量和顶点数。性能压力主要在GPU。2、EasyDecal插件(1) 适用与Plane等地复杂的RayProjector 优点:适用于简单的,凸面物体。单独生成目标面,避免多余            
                
         
            
            
            
            前言之前写过一篇unity 的贴花编辑,当时是学习unity插件的代码。最近因为工作需要,做了一个可以编辑纹理局部贴花的功能实现。大致上是根据以前的思想。但是自己用openGL 实现一遍,还是切身体会到不少深入的东西。回顾之前的贴花编辑器的思想,在unity 中用gameObject 作为 decal。 然后通过对影响到的mesh做切割,获取顶点,再重新计算mesh信息(uv, tangent,n            
                
         
            
            
            
            引子又偷懒了,说好的周更的,又拖了一个月咯。前面两篇写了可视域分析和视频投影,无一例外的都用到了ShadowMap也就是阴影贴图,因此觉得又必要单独写一篇阴影贴图的文章。当然了,还有另外一个原因,文章中视频投影是利用Cesium自带的Entity方式实现的,毫无技术性可言,在文章结尾我说了可以使用ShadowMap方式来做,原理类似于可视域分析,那么今天我就把实现方式给大家说一下。预期效果照例先看            
                
         
            
            
            
            “工欲善其事,必先利其器”Shader学习工具篇     最近一直忙于录制关于Shader入门的视频教程,其中一个反复的机械动作就是右键创建所需要的新Shader。悲剧的是每次打开的都是Unity3D默认的Shader菜单,看过我关于Shader体系分类的同学都知道默认菜单Shader都是干什么的,每次都要选择,每次都要删除一些多余的代码,并不是新手学习所需            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-23 17:33:56
                            
                                114阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、延迟销毁游戏对象  默认情况下,使用 Destroy() 方法会立即销毁游戏对象,如果想延迟一段时间再销毁,可以在这个方法中传递一个时间参数。1    Destroy(gameObject, 2.5f);  这段代码实现的效果就是经过 2.5 秒后销毁游戏对象。二、获取一个随机布尔值我们知道 Random.value 能够返回 0~1 之间的随机数,所以让此随机数与 0.5f 进行比较,就能够            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-20 12:59:29
                            
                                341阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最糟糕的是人们在生活中经常受到错误志向的阻碍而不自知,真到摆脱了那些阻碍时才能明白过来。 —— 歌德说到UGUI的图集初学者可能觉得没什么难度,包括我刚开始接触的时候也是,甚至你在开发的时候只需要把图片导入到项目中,拖拖拽拽就能做出能用的东西来。因为UGUI刚出的时候就打出了“Unity会自动帮你维护图集”的旗号。可现实真的是这样的吗?要解释这个问题就需要从Unity4.6说起了,那我们来捋一下!            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-18 14:28:41
                            
                                92阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在网上看到这篇帖子,感觉他的技能设计思路很棒,转载下来,给自己的项目多一点借鉴的地方将核心代码封装,留出灵活的上层逻辑拓展接口 Unity教程之-Unity游戏技能Skill系统架构设计
   我想把技能做的比较牛逼,所以项目一开始我就在思考,是否需要一个灵活自由的技能系统架构设计,传统的技能设计,做法都是填excel表,技能需要什么,都填表里,很死板,比如有的技能只需要1个特效,有的要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-04 22:45:48
                            
                                79阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            延迟渲染延迟渲染渲染下,光源计算的消耗的消耗和光源占屏幕的范围(像素)相关,而不是像正向渲染中,和光源照射的物体数量相关。延迟渲染也分为2个Pass(不在同一个shader里)GBuffer Pass(Defferred Pass):这个pass写在想要支持延迟渲染的游戏物体的shader里,和正向渲染不同,Gbuffer会渲染输出4份贴图(如果用了混合光照还有第五份)RT0, ARGB32 fo            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-08 14:05:43
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            注意  此 Invoke unity的接口方法,不是 .net里的  invoke 方法,   场景遇到需要间隔一段时间再来调用的情况,如果不想用协程,可以使用 Invoke()实现。MonoBehaviour.Invoke 延迟调用 方法签名: void Invoke(string methodName, float time            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-20 11:01:40
                            
                                123阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Apache ECharts 5 新增支持贴花纹理,作为颜色的辅助表达,进一步用以区分数据。在  为 的前提下,将  设为 true 即可采用默认的贴花样式。为系列数据增加贴花纹理,作为颜色的辅助,帮助区分数据。使用默认贴花图案的方式非常简单,只需要开启即可:如果需要自定义贴花图案,可以使用 aria.decal.decals 配置出灵活多变的图案。...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-07 00:28:13
                            
                                206阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            延迟函数        Destroy(object , float time):time时间之后销毁object类型Destroy(this.gameObject, 3.5f);        Invoke:延迟函数,通过方法名延迟调用对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 08:37:51
                            
                                141阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             一、Coroutine(协程)的概念和本质在网上的一些资料当中,一直将Coroutine当作一个线程来描述,这样是不准确的。因为Coroutine并不是一个新的线程,它仍旧是属于主线程的一部分。Coroutine本质上是一种轻量级的thread,它的开销会比使用thread少很多。多个Coroutine可以按照次序在一个thread里面执行,一个Coroutine如果处于block状态            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-24 13:34:43
                            
                                66阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.Awake     用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如GameObject.FindWithTag()这样的函数搜索它们。每个游戏物体上的Awake以随机的顺序被调用。因此,你应该用Awake来设置脚本间的引用,并用Start来传递信息A            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-22 15:05:15
                            
                                95阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            渲染路径渲染路径(Rendering Path)决定了光照是如何应用到Unity Shader中的,如果我们没有指定正确的渲染路径,那么一些光照变量很可能不会被正确赋值,我们计算出的效果也就很有可能是错误的 在Graphics中可以为整个项目设置渲染路径,默认为前向渲染 可以使用多个渲染路径,例如相机A使用前向渲染路径,而相机B使用延迟渲染路径。这时可以设置每个相机的渲染路径,以覆盖Project            
                
         
            
            
            
            2.03.03 延迟函数 闭包 this1.延迟函数延迟函数是在window对象下的函数用法:setTimeout 延迟函数 
  调用者:window参数:a.匿名函数 b.毫秒返回值: 数字 1功能:仅仅执行一次匿名函数//1.延迟函数  仅仅在设置的时间后执行一次就不会执行了
    var count = 2;
    var d = window.setTimeout(function(            
                
         
            
            
            
            using UnityEngine; using System.Collections; public class Test_Ping : MonoBehaviour { public string IP = "123.125.114.144"; Ping ping; float delayTime; void Start() { S...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-04-30 15:18:00
                            
                                505阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            UE4之动态贴花目录声明依赖测试环境事件1:从文件到材质【C++】事件1:从文件到材质【蓝图】事件2:从组件到投影【C++】事件2:从组件到投影【蓝图】效果本文关于如何让用户从电脑中选择...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-10 13:52:24
                            
                                147阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            unity buildin deferred pipeline
rt0 albedo
rt1 spec
rt2 normal
rt3 emissive
rt4 shadowmask
 
rt3的使用方式
gbuffer3
在reflectiontoemissive pass作为rtv
blend one one
 
lightpass srv bind了 gbuffer 0124 &dep            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-03-21 17:22:00
                            
                                142阅读
                            
                                                                                    
                                2评论