5 july32

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

unity ShaderVariantCollection与shader变体

原文链接:https://blog.csdn.net/RandomXM/article/details/88642534基础知识介绍什么是ShaderVariant在写shader时,往往会在shader中定义多个宏,并在shader代码中控制开启宏或关闭宏时物体的渲染过程。最终编译的时候也是根据这些不同的宏来编译生成多种组合形式的shader源码。其中每一种组合就是这个shader的一个变体(Variant)。Material ShaderKeywords与ShaderVariantM.

2020-05-26 15:04:39

【理论】球谐光照

原文:https://huailiang.github.io/blog/2019/harmonics/前半部分是将球谐的原理和方法,后半部分讲unity中内置的球谐计算游戏中的光照可以被简单分为两个部分,直接光和间接光。直接光中我们研究各种不同的BRDF材质,甚至BSDF,BSSSRDF等等。这些模型据有很不错的表现力,足够我们区分金属,皮肤,木头等等不同物体的着色表现。但这并不能满足我们,因为光并不是那么简单,光会被反射,会被折射,会被透射,会被吸收,所以物体的受光情况同时又由这个场景..

2020-05-25 06:55:20

shader打包到AB包后,没有包含到UnityShaderVariant导致模型变黑的问题

ShaderVariant 在shader最终编译时,根据上层的宏定义,根据不同的组合编译出多套底层shader. Unity的Shader中通过multi_compile和shader_feature来定义宏(keyword)。最终编译的时候也是根据这些宏来编译成多种组合形式的Shader源码。其中每一种组合就是这个Uniy Shader的一个VariantMaterial与S...

2020-04-12 17:20:04

cginc文件的阅读注释:UnityStandardBRDF,UnityCG,UnityGlobalIllumination,UnityStandardUtil,UnityStandardShadow

之前零零散散的看了一些unity内置的cginc,对一些函数方法做了些注释,主要是以下几个文件UnityStandardBRDF.cgincUnityCG.cgincUnityGlobalIllumination.cgincUnityStandardUtil.cgincUnityStandardShadow.cgincUnityStandardCore.cginc...

2020-04-12 17:04:13

BRDF公式

转自:https://www.cnblogs.com/wbaoqing/p/9810386.html根据BRDF公式,高光项部分,只能物体的表面的粗糙度有关。Roughness有关大部分公式都是根据Cook-Torrance 的微表面高光BRDF公式我们把高光分成三项1.D项Normal Distribution Function (NDF) 法线分布函数...

2020-04-12 16:51:08

Lambert,Half Lambert ,Phong ,Blin-Phong,BRDF,BSSRDF的比较

Lambert 光照模型(环境光+漫反射) Idiff = kd * Ia + kd * Il * (N·L) = kd * Ia + kd * Il * dot(N, L) Ia 是环境光的强度 kd 为材质对环境光的反射系数(0 < kd < 1) Il 是方向光的强度 kd 为材质对环境光的反射系数(0 &l...

2020-04-12 16:31:12

Unity Standard Shader代码的分析

转自:https://www.cnblogs.com/wbaoqing/p/8931646.html下载Unity官方的提供的Shader资源,里面有个文件叫Standar.shader就是Unity5.0的之后的用的基于BDRF的shader源代码。里面包含的多个SubShader 和Pass 这里我们挑 Shader2.0 和 ForwardBase Pass 具体Shader...

2020-04-12 15:09:09

向量的一些公式

转自:https://www.cnblogs.com/wbaoqing/p/5406057.html向量加法公式1.1:几何解释:表示平移向量,使向量a的头,移动到向量b尾部,从a的尾部画条向量到b的头部向量减法公式2.1:几何解释:同上注意:向量满足加法交互率2.2不满足减法交互率2.2向量的点乘公式3.1:几何解释:向量的点乘结果是一个标量,可以...

2020-04-12 14:56:45

纹理格式对比

转自:http://blog.csdn.net/ynnmnm/article/details/44983545总结:移动端主要用ETC1和ETC2ETC1不支持透明,ETC2支持透明ETC2需要设备支持OpenGL ES 3.0简单纹理格式RGBA8888每个像素4字节,RGBA通道各占用8位 RGBA4444每个像素2字节,RGBA通道各占用4位 RGB88...

2020-04-12 14:55:55

深入理解lua的协程coroutine

转自:https://blog.csdn.net/yzf279533105/article/details/799821391. 概述lua协程和多线程相同之处:拥有自己独立的桟、局部变量和PC计数器,同时又与其他协程共享全局变量和其他大部分东西不同之处:一个多线程程序可以同时运行几个线程(并发执行、抢占),而协程却需要彼此协作地运行,并非真正的多线程,即一个多协程程序在同一时间只...

2020-04-09 11:28:27

Unity XLua 相关

转自:https://www.cnblogs.com/coderJiebao/p/unity3d23.html1. Helloworld 1 using UnityEngine; 2 using XLua; 3 4 public class Helloworld : MonoBehaviour { 5 // Use this for initializatio...

2020-04-07 15:07:12

DoTween的坑

1.暂停动画的问题使用DOTween.PauseAll();出现了有的对象暂停了,有的对象没有暂停的bug使用DOTween.timeScale = 0;代替2.委托内的变量问题成百上千个物体放在List列表里面循环,每个物体都要使用移动和移动结束事件。BUG:动画结束之后我想隐藏该物体,结果却没有正常的隐藏,代码如下foreach (var item in...

2020-04-03 18:23:11

大规模单位实时游戏寻路的构建

大规模单位实时游戏寻路的构建转自:https://www.cnblogs.com/xiaohutu/p/10504586.html某个神秘的时间,我接到了一项神秘的任务,最核心的难度是要求实现:引擎是Unity3D,在手机端可以流畅运行为前提,在一个实时战斗的过程里,地图有地形(而且是会被动态改变的地形),数百个单位独立AI寻路、要实现忽略掉部分单位的筛选寻路、动态避障、满足帧同步需求并...

2020-04-03 13:23:28

游戏AI的思考和权衡

一般游戏AI都用行为树或状态机更高级的机器学习,遗传算法,mDeep learning这些可能会导致性能问题,开发成本和学习成本也是个问题!!! 根据游戏类型去选择AI设计和开发的侧重点!!! AI模块最终的品质一般由 设计的好坏 以及 开发这个模块的程序的自我约束维护 来决定个人认为AI分为【可能不全或者有误】1.敌人型AI:一般出现在fps,mob...

2020-03-26 01:44:26

集群寻路问题的一些思考和提炼

a星在大量单位寻路时消耗比较大,Navmesh和大规模的单位进行寻路时,单位和单位之间的位置表现总是有一些问题(表现为太过规律,挤在一起,这篇博文介绍了一些可能的表现优化,让单位移动看起来更舒服以及符合常理的移动表现)问题1停止一组单位的寻路.n个单位有同一个目的地时,容易出现单位重叠的问题,若用AABB,OBB等碰撞判定去处理性能可能会比较耗问题1解决方案可以在单位之间...

2020-03-26 01:07:37

弹道实现

转自:https://www.gameres.com/677540.html上篇今天谈谈一个有趣的内容——u3d实现子弹弹道。当然这个完整的说,也非常复杂,还是由浅入深,先说说最核心的原理。一、定义 我将子弹分为至少两种: 1、实体型。即发射后,生成一个带刚体的gameobject,可以通过u3d的物理引擎实现碰撞检测。比如机关枪子弹、弹道等等。 2、射线型。即子弹...

2020-03-25 23:58:49

增强打击感

转自:http://www.gameres.com/msg_457162.html所谓游戏的打击感,一般是游戏中移动/打击/破坏一系列动作时玩家的直观感受。  通常这个名词多用于形容动作游戏,例如横版过关,格斗游戏等,但也可外延扩大至部分第一人称射击和第三人称射击游戏。  下面就来看一下在游戏制作中,什么是打击感,如何做出打击感、如何提高打击感?一、什么是打击感  游戏开发经验分享:我...

2020-03-25 23:50:56

MMORPG的常规技能系统

转自:https://www.gameres.com/729192.html广义的的说,和战斗结算相关的内容都算技能系统,包括技能信息管理、技能调用接口、技能目标查找、技能表现、技能结算、技能创生体(buff/法术场/弹道)管理,此外还涉及的模块包括:AI模块(技能调用者)、动作模块、寻路/移动模块以及人物属性和伤害数值结算等。先说下技能模块每个部分的职责和原理:技能信息管理...

2020-03-25 23:36:49

MMO技能系统的同步机制分析

转自:https://www.gameres.com/729629.html此篇文章基于之前文章介绍的技能系统,主要介绍了如何实现MMO中的技能系统的同步。阅读此文章之前,推荐首先阅读前一篇文章:一个MMORPG的常规技能系统。  这里所说的技能系统包括:技能流程和技能创生体(法术场、弹道和buff)。  首先介绍authority和proxy的概念,这两个概念是基于单位unit的基础上进...

2020-03-25 23:35:44

Lua注意事项总结

对lua坑的整合:参考:https://www.cnblogs.com/guangyun/p/4685550.htmlLua 弱引用table----------1.lua弱引用t = {}; -- 使用一个table作为t的key值 key1 = {name = "key1"}; t[key1] = 1; key1 = nil; ...

2020-03-24 10:33:53

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。