Untiy
文章平均质量分 85
姜姜的奇妙冒险[Unity游戏前端]
这个作者很懒,什么都没留下…
展开
-
GPUAnimation的Mesh动画烘焙到贴图,学习笔记
低版本Unity5.6不支持在GPUInstance的blockproperty传入unit的格式,故把unit用float和floor取整来替代。注意,由于原项目中的SV_VertexID很多opengles低版本不支持,故不用这个方式。复制到URP项目中,并删掉多余报错的和GPUAnimation无关的模块。烘焙好的Mesh在TEXCOORD1和TEXCOORD2有相应的顶点信息。安装FBX Exporter把烘焙好的mesh导出成Fbx。把shader中的hlsl适配成cg。原创 2023-05-14 15:51:33 · 926 阅读 · 1 评论 -
unity基础学习十九,引导模块的设计
1.什么是XXX2.为什么要有XXX3.如何使用XXX,使用XXX的不同方案比较4.源码实现5.如何设计6.关键点,重要节点,疑难杂症场景原创 2022-05-23 19:04:14 · 1933 阅读 · 0 评论 -
unity基础学习十七,C#高级属性:不安全代码,匿名方法(Anonymous methods)
1.C# 不安全代码当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。1.1 指针变量指针 是值为另一个变量的地址的变量,即,内存位置的直接地址。就像其他变量或常量,您必须在使用指针存储其他变量地址之前声明指针。指针变量声明的一般形式为:type* var-name;下面是指针类型声明的实例:int* p p是指向整数的指针。 double* p p是指向双精度数的指针。 fl..原创 2022-04-26 23:35:38 · 326 阅读 · 0 评论 -
unity基础学习十六,C#高级属性:泛型(Generic),匿名方法(Anonymous methods)
1.C#泛型(Generic)泛型(Generic)允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下面这个简单的实例将有助于您理解这个概念:using System;using System.Collections.Generic;namespace Gene..原创 2022-04-26 21:01:22 · 685 阅读 · 0 评论 -
unity基础学习十五,C#高级属性:排序列表(SortedList),点阵列(BitArray)
1.C# 排序列表(SortedList)SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。SortedList 类的方法和属性下表列出了SortedList类的一些常用的属性:Capacity 获取或设置 S...原创 2022-04-26 20:50:05 · 651 阅读 · 0 评论 -
unity基础学习十四,C#高级属性:C# 委托(Delegate)和 事件(Event)
1.C# 委托(Delegate)C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。1.1.声明委托(Delegate)委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同标签的方法。例如,假设有一个委托:public delegate原创 2022-04-20 23:05:07 · 515 阅读 · 0 评论 -
unity基础学习十三,C#高级属性:属性(Property)和索引器C# 索引器(Indexer)
1.C# 属性(Property)属性是一种类的成员,它的实现类似函数,访问类似字段。它的作用是提供一种灵活和安全的机制来访问,修改私有字段。所以属性必须依赖于字段private int dd; public int dd { get{ return xx*3;} set{ xx = value/3;} } 1.1 访问器(Accessors)private string name; // the name field public string ...原创 2022-04-19 23:08:51 · 778 阅读 · 0 评论 -
unity基础学习十二,C#高级属性:反射(Reflection)
1.C# 反射(Reflection)元数据(metadata):有关程序及其类型的数据,它们保存在程序的程序集中(dll,exe)反射:一个运行的程序查看本身的元数据或其他程序的元数据的行为。反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外还可以直接创建对象,即使这个对象的类型在编译时还不知道。C#编译运行过程:高级语言->编译->dll/exe文件-&.原创 2022-04-19 20:12:54 · 4483 阅读 · 0 评论 -
unity基础学习十一,C#高级属性:特性
1.C# 特性(Attribute)特性,是用来给代码添加额外信息的一种手段,我们通常是将特性标记到方法,类或者属性上,在使用的这些结构的时候,通过反射(reflection)这一非常高级的技术,获取它们通过特性标记的信息(在编译好的程序集中,作为元数据),从而进行某些特殊的处理。.Net 框架提供了两种类型的特性:预定义特性和自定义特性。1.1 规定特性(Attribute)规定特性(Attribute)的语法如下:[attribute(positional_parameters,原创 2022-04-18 20:43:29 · 722 阅读 · 0 评论 -
unity基础学习十,c#垃圾回收机制(GC)
引用C#技术漫谈之垃圾回收机制(GC)(转) - nele - 博客园原创 2022-04-08 19:04:42 · 1308 阅读 · 0 评论 -
unity基础学习九,Unity常用API
1、Event Function:事件函数Reset() :被附加脚本时、在游戏物体的组件上按Reset时会触发该事件函数 Start() :在游戏初始化时会执行一次 Update() :每一帧都会运行这个方法 FixedUpdate(): 会在指定帧调用该方法多少次 LateUpdate(): 晚于Update的运行顺序,但是FPS和Update是一样的 Awake() Start() : 都是在游戏物体初始化运行一次,但是Awake的运行顺序高于Start的,并且只要脚本中存在Awake方原创 2022-03-30 23:21:15 · 4315 阅读 · 0 评论 -
unity基础学习八,相对于自身方位以及角度
//求角度 及前后左右方位 public void checkTargetDirForMe(Transform target) { //xuqiTest: target.position = new Vector3(3, 0, 5); Vector3 dir = target.position - transform.position; //位置差,方向 //方式1 点乘 //点积的计算方式为: a·b =| a |·| b | cos <.原创 2022-03-20 11:47:06 · 961 阅读 · 0 评论 -
Unity基础知识学习七,帧同步源码学习
前言视频地址:帧同步教程【合集】_哔哩哔哩_bilibiligithub地址:GitHub - JiepengTan/Lockstep-Tutorial: 帧同步 教程1.ServeraLifeCircle服务端服务端ServerLauncher.Main() 启动入口:原创 2022-02-19 14:20:48 · 5795 阅读 · 0 评论 -
Unity基础学习六,网络同步
1.什么是网络同步所谓同步,就是要多个客户端表现效果是一致的,比如我们玩王者荣耀的时候,需要十个玩家的屏幕显示的英雄位置完全相同、技能释放角度、释放时间完全相同,这个就是同步。2.为什么要有网络同步略3.如何使用网络同步,使用网络同步的不同方案比较。3.1状态同步将其他玩家的状态行为同步的方式(请求其他玩家的状态并显示在NPC上),一般情况下AI逻辑,技能逻辑,战斗计算都由服务器运算,将运算的结果同步给客户端,客户端只需要接受服务器传过来的状态变化,然后更新自己本地的动作状态、B..原创 2022-02-15 23:04:45 · 7657 阅读 · 0 评论 -
Unity基础知识学习五,UGUI优化相关
1.什么是UGUI优化2.为什么要有UGUI优化3.如何使用UGUI优化,使用UGUI优化的不同方案比较4.源码实现5.关键点,重要节点,疑难杂症场景参考资料记录最全面的ugui优化策略_bommy游戏的博客-CSDN博客对于Unity的UGUI的优化以及面试可能遇到关于UGUI的问题_头号理想的博客-CSDN博客...原创 2022-02-11 16:56:19 · 4968 阅读 · 3 评论 -
Unity基础知识学习四,UI框架设计
1.什么是UI框架2.为什么要有UI框架3.如何使用UI框架,使用UI框架的不同方案比较4.UI框架源码实现5.UI框架关键点,重要节点,疑难杂症场景原创 2022-02-10 18:03:58 · 4124 阅读 · 0 评论 -
Unity图集策略,Unity基础知识学习二
1.什么是Unity图集策略2.为什么要有Unity图集策略3.如何使用Unity图集策略,使用Unity图集策略的不同方案比较4.Unity图集策略源码实现5.Unity图集策略关键点,重要节点,疑难杂症场景原创 2022-01-21 23:26:11 · 3287 阅读 · 0 评论 -
Lua闭包,Lua基础学习一
1.什么是Lua闭包2.为什么要有Lua闭包3.如何使用Lua闭包,使用Lua闭包的不同方案比较4.源码实现5.Lua闭包关键点,重要节点,疑难杂症场景原创 2022-01-21 22:01:54 · 842 阅读 · 0 评论 -
Unity中的热更新的基础知识,Xlua与ILRuntime基础知识
1.什么是热更新2.为什么要有热更新3.如何使用热更新,使用热更新的不同方案比较4.Xlua源码实现5.Xlua关键点,重要节点,疑难杂症场景原创 2022-01-19 01:29:44 · 9346 阅读 · 1 评论 -
Learn OpenGL 笔记6.3 Shadow Mapping(阴影贴图)
阴影为照明场景增添了大量真实感,并使观看者更容易观察对象之间的空间关系。 它们为我们的场景和物体提供了更大的深度感。在当前的实时(光栅化图形)研究中,还没有开发出完美的阴影算法。 有几种很好的阴影近似技术,但它们都有我们必须考虑的缺点。基础知识:1.shadow mapping阴影映射大多数游戏使用的一种技术可以提供不错的结果并且相对容易实现,那就是shadow mapping阴影映射。 shadow mapping不太难理解,不会在性能上花费太多,并且很容易扩展到更高级的算法(如Omn原创 2022-01-04 23:09:20 · 1664 阅读 · 0 评论 -
Houdini数字化资产生成路面初步探究(一)
一.什么是Houdini和数字化资产Houdini是一款三维计算机图形软件,由加拿大Side Effects Software Inc.(简称SESI)公司开发。本来他只是一款平平无奇的三维图象软件,面世很多年过去了,突然仿佛一夜之间在游戏领域变得炙手可热,锅外工作室人手一套,锅内大厂也是纷纷开发出houdini的工作流。这都是归功于houdini的一个特性,程序化建模。数字资产(Digital assets)是指企业或个人拥有或控制的,以电子数据形式存在的,在日常活动中持有以备出售...原创 2021-12-31 17:20:34 · 2085 阅读 · 0 评论