UEDL3-6——滑动条、双滑块滑动条
UEDL3-6——滑动条、双滑块滑动条 本章代码关键字 123EditorGUILayout.Slider() //滑动条控件,可以调整在一个数值区间内调整值,需要配套一个float变量EditorGUILayout.IntSlider() //整数滑动条控件,可以调整在一个数值区间内调整整数值,需要配套一个int变量EditorGUILayout.MinMaxSlider() //双滑块滑动条控件,可以在一个数值区间内调整一个数值范围,需要配套两个float变量 滑动条控件 滑动条可以滑动调整一个 float 值(Slider)或者 int...
UEDL3-5——开关、开关组
UEDL3-5——开关、开关组 本章代码关键字 1234EditorGUILayout.Toggle() //开关控件,会绘制一个类似于多选框的控件,用于表示开关,需要配套bool变量EditorGUILayout.ToggleLeft() //勾选项在左的开关控件,需要配套bool变量EditorGUILayout.BeginToggleGroup() //开关组控件,它可以控制多个控件的是否激活,需要配套bool变量EditorGUILayout.EndToggleGroup() //和开关组控件配套使用,与上一句一起将需要控制是否激活的控件包裹起来 开关控件 Toggle 会绘制一个类似于其他GUI的多选框 Toggle...
UEDL3-4——折叠、折叠组
UEDL3-4——折叠、折叠组 本章代码关键字 123EditorGUILayout.Foldout() //折叠控件,一般配合其他控件使用,它常用于控制控件的显示隐藏,需要配套bool变量EditorGUILayout.BeginFoldoutHeaderGroup() //折叠组控件,折叠控件差不多,都是控制控件的显示隐藏,需要配套bool变量EditorGUILayout.EndFoldoutHeaderGroup() ...
UH4——ILRuntime热更新解决方案
UH4——ILRuntime热更新解决方案 前置知识:C#反射,Unity跨平台原理,热更新相关知识点,AB包上传下载 ILRuntime ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时, ILRuntime使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新 ILRuntime首页:介绍 — ILRuntime (ourpalm.github.io) ILRuntimeGithub:Ourpalm/ILRuntime (github.com) 本系列学习内容 环境搭建和开发方式 Unity调用ILRuntime Unity中启动ILRuntime 实例化ILRuntime中对象 调用ILRuntime中类对象属性 调用ILRuntime中方法 静态方法调用 成员方法调用 重载方法调用 ref / out...
US——Unity Shader开发入门
US——Unity Shader开发入门 Shader Shader 就是 着色器,着色器是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序 其中 Vertex Shader(顶点着色器)主要负责顶点的几何关系等的运算,Pixel Shader(像素着色器)主要负责片元颜色等的计算。 着色器替代了传统的固定渲染管线,可以实现3D图形学计算中的相关计算, 由于其可编辑性,可以实现各种各样的图像效果而不用受显卡的固定渲染管线限制。 笔记代号 US——即 Unity Shader 的缩写 本笔记包括以下系列: Shader 必备概念(渲染管线与 Shader 的概念及其关系) Shader 必备基础(向量,线性代数,ShaderLab 语法,CG 语法) Shader 开发知识(光照,纹理,透明,渲染途径,阴影,完整光照计算) Shader 实践知识(卡通风格渲染,素描风格渲染,消融效果,水波效果) Shader 进阶知识(自定义材质面板,帧调试器,表面着色器)
UM——Unity移动平台相关
UM——Unity移动平台相关 前置知识:C#、Unity前三部曲、UI四部曲、数据持久化 Unity移动开发 在没有学习Unity移动开发知识前,我们制作的Unity程序只能在自己的PC上运行,而不能在手机上运行 在学习移动开发知识后,我们可以能够应对日常开发中移动平台的相关需求,让我们的Unity程序在移动平台上运行 需要熟练掌握: Android开发相关 将Unity开发的内容进行Android打包 能够进行Android端调试 能够按照套路接入各种SDK 本系列学习内容 Android相关 Android开发基础 Java语法入门 Unity 和 Android 交互 Android SDK 接入(以百度定位SDK为例) Kotlin语法入门(没讲) IOS相关(尚未更新,敬请期待)
UN5L9——大小端模式
UN5L9——大小端模式 本章代码关键字 1234BitConverter.IsLittleEndian //判断当前是否为小端模式IPAddress.HostToNetworkOrder() //转换为网络字节序,相当于就是转为大端模式IPAddress.NetworkToHostOrder() //网络字节序转为本机字节序,本机字节序为小端模式,就转换为小端模式Array.Reverse() //数组颠倒顺序,可用于从大小端模式与本机不一致的远端接收到的字节数组进行转换 大小端模式 大端模式 是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中 这样的存储模式有点儿类似于把数据当作字符串顺序处理,地址由小向大增加,数据从高位往低位放 它更符合人类的阅读习惯 小端模式 是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中 何为高低字节: 我们阅读数字时,一般是从左往右看,看到数字的位的顺序就是从高到低,例如:127 127...
UN5L8——Protobuf-Net
UN5L8——Protobuf-Net 回顾Protobuf Protobuf全称是protocol-buffers(协议缓冲区),是谷歌提供给开发者的一个开源的协议生成工具 它的主要工作原理和我们之前做的自定义协议工具类似,只不过它更加的完善,可以基于协议配置文件生成 C++、Java、C#、Objective-C、PHP、Python、Ruby、Go等等语言的代码文件 我们之前学习了如何使用它,已经能够使用Protobuf来配置协议,生成协议,使用协议了 Protobuf-Net 早期的Protobuf并不支持C#,所以国外大神Marc Gravell在Protobuf的基础上进行了.net环境下的移植,并发布到了GitHub, 让我们可以基于Protobuf的规则进行C#的代码生成,对象的序列化和反序列化 Protobuf-Net的Github地址:protobuf-net/protobuf-net: Protocol Buffers library for idiomatic .NET...
UN5L7——Protobuf协议使用
UN5L7——Protobuf协议使用 本章代码关键字 1234Google.Protobuf //ProtoBuf相关命名空间,该命名空间内有为IMessage的WriteTo方法的拓展方法,使得流可以传入到方法内iMessage.Writeto() //所有的ProtoBuf生成的消息类都继承自IMessage,因此可以调用该方法将自己序列化写入到流内iMessage.ToByteArray() //在Google.Protobuf命名空间中为IMessage拓展的方法,该方法可以直接将类对象序列化为字节数组messageParser<>.ParseFrom() //所有ProtoBuf消息类都有MessageParser<>静态变量,可通过Parse属性调用,它可以将流中的数据或者字节数组反序列化 Protobuf协议使用 Protobuf的序列化和反序列化都要通过流对象来进行处理 如果是进行本地存储 则可以使用文件流 如果是进行网络传输...