摘要:
卓平台下JAR包变成了压缩包,直接通过File来读取StreamAsset下的文件是不行的 通过UnityWebRequest来读取,以某一个XML文件为例 var path = Path.Combine (Application.streamingAssetsPath, "xxx");// 使用C 阅读全文
posted @ 2021-11-03 22:43
Logarius
阅读(237)
评论(0)
推荐(0)
摘要:
单张纹理 就是用纹理颜色代替漫反射颜色 Shader "Custom/SingleTexture" { Properties { // 声明纹理属性 _MainTex("MainTexture",2D)="white"{} _Specular("Specular",Color)=(1,1,1,1) 阅读全文
posted @ 2021-11-03 22:41
Logarius
阅读(72)
评论(0)
推荐(0)
摘要:
深度测试 根据深度缓冲,比较两个片元距离摄像机的距离,如果当前片元比起深度缓冲中的值来说,离摄像机更远,那么当前片元不会被写入。 透明度测试 如果片元的透明度不满足条件,则被舍去,不进行任何处理。如果满足条件,那就当做不透明物体进行处理。不需要关闭深度写入。 透明度混合 根据当前片元的透明度,与颜色 阅读全文
posted @ 2021-11-03 22:41
Logarius
阅读(89)
评论(0)
推荐(0)
摘要:
环境光 可以认为就是给物体加一层底色,因为即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮、远处的光),所以物体几乎永远不会是完全黑暗的。为了模拟这个,我们会使用一个环境光照常量,它永远会给物体一些颜色。 在Windows/Lighting/Settings中的AmbientOcclusion中 阅读全文
posted @ 2021-11-03 22:38
Logarius
阅读(186)
评论(0)
推荐(0)
摘要:
线性代数基础 单位向量 向量点积 计算投影 因为是B在A上的投影,所以投影向量必然是沿着A方向的 判断方向 点积结果的正负,依赖于夹角的大小,当夹角大于90度时,Cos结果为负,此时可以判断两个向量朝向不同 向量叉积 两个向量叉积的结果,垂直于这两个向量,此时3个向量可以构成一个三维坐标系 判断左右 阅读全文
posted @ 2021-11-03 22:37
Logarius
阅读(311)
评论(0)
推荐(0)
摘要:
输入装配阶段 三维模型本质是成千上万的顶点数据,比如一个正方形就有8个顶点,输入装配阶段则是对于模型顶点的第一次处理,将顶点装配成图元 该阶段不可编程 顶点着色阶段 顶点着色器会遍历传入的每一个顶点进行着色,注意,虽然叫着色器,但并不是字面意义上“计算颜色”,顶点着色阶段还有很多额外的操作,比如最重 阅读全文
posted @ 2021-11-03 22:37
Logarius
阅读(113)
评论(0)
推荐(0)
摘要:
通过ObjectField就可以轻松实现,问题在于如何获得脚本对象? MonoScript.FromMonoBehaviour可以获得一个MonoScript对象,而MonoScript继承TextAsset继承Object GUI.enabled = false; EditorGUILayout. 阅读全文
posted @ 2021-11-03 22:34
Logarius
阅读(47)
评论(0)
推荐(0)
摘要:
EditorUtility.OpenFilePanel (); EditorUtility.OpenFolderPanel (); 阅读全文
posted @ 2021-11-03 22:34
Logarius
阅读(48)
评论(0)
推荐(0)
摘要:
if (GUILayout.Button("清空")) { if (EditorUtility.DisplayDialog("警告","确定要...?","Ok","Cancel")) { // Do Something } else { // Do Something } } 阅读全文
posted @ 2021-11-03 22:33
Logarius
阅读(24)
评论(0)
推荐(0)
摘要:
前言 目前网上找到的相关文章都是互相转发抄袭,真的毫无阅读价值,如此简单的通信竟然花了我好几天的功夫学习,故做此记录 Android层 准备 环境配置相关的内容就不介绍了 创建一个空项目 下面配置可以随便写,不会用到,但还是规范一点吧! 创建项目,等待Gradle Sync,切记不要使用代理,不要使 阅读全文
posted @ 2021-11-03 22:32
Logarius
阅读(197)
评论(0)
推荐(0)
摘要:
前言 本文章学习自这里,这是素材文件的下载链接 多半内容都是文章内容加上自身理解,受限于时间以及自身能力水平,谨慎参考 首先需要3个Unity的官方包,请打开Unity的预览包选项,不然很多预览阶段的包你是无法在包管理器中看到的,具体如图 随后在Package Manager中安装Jobs、Burs 阅读全文
posted @ 2021-11-03 22:28
Logarius
阅读(628)
评论(0)
推荐(0)
摘要:
先新建如下脚本 ObjectBase是对象基类,如果某个对象想要被对象池管理,那就必须继承自这个类,实际上真正的对象被封装在这个类内部 IObjectPool是对象池接口,OBjectPool是对象池,和引用池的结构很像 ObjectPoolManager就是核心管理器了 ObjectBase na 阅读全文
posted @ 2021-11-03 22:19
Logarius
阅读(167)
评论(0)
推荐(0)
摘要:
用于管理游戏运行时的各种数据信息,以一种树状结构储存 新建如下两个脚本 其中DataNode是数据节点类,Manager就是管理器了 DataNode 字段与属性 namespace SimpleGameFramework.DataNode { public class DataNode { #re 阅读全文
posted @ 2021-11-03 22:19
Logarius
阅读(174)
评论(0)
推荐(0)
摘要:
所谓流程,本质是对于状态机的再封装。一个游戏在运行是,不可能全程处于一个状态,游戏运行的不同状态,我称其为流程,比如刚打开游戏的时候,可能处在登录页面,或者说黑屏动画的时候在加载资源,这就是游戏运行的两个不同状态,这就是流程。 ProcedureBase 流程基类,本质就是一个状态 /// <sum 阅读全文
posted @ 2021-11-03 22:18
Logarius
阅读(119)
评论(0)
推荐(0)
摘要:
多语言也是很常用的一个功能,如果游戏想要支持多种语言,那就不得不设计一个多语言的框架。比如中文的“确定”,英文要叫“OK”,你不可能创建多个语言版本的UI,那会十分繁琐,难不成有二十种语言,你就创建二十种UI?那也太折磨人了... 目前只考虑到文字的多语言,实际上还有其他资源也需要支持本地化,比如众 阅读全文
posted @ 2021-11-03 22:18
Logarius
阅读(137)
评论(0)
推荐(0)
摘要:
状态机很好理解,它包含了很多的状态,最简单的例子就是Unity自带的Animator Controller,他本身就是一个状态机,里面有很多的动画状态,不同的状态代表不同的动画,然后我们给不同状态之间加上条件,描述状态的转移。 这个模块本身是很好理解的,但目前我也不是很清楚具体会应用在什么地方,参照 阅读全文
posted @ 2021-11-03 22:17
Logarius
阅读(155)
评论(0)
推荐(0)
摘要:
上一节我们写了一个简单的引用池,而单一的引用池是没有啥作用的,事件池就是引用池的作用之一 我们当然可以把事件定义在模块的内部,比如把一个打开UI的事件定义在UI模块内,但是随着我们模块的不断增多,如果所有事件都定义在自己的模块内,在后期是很难维护的,我们都不知道一共定义了哪些事件...因此,一个全局 阅读全文
posted @ 2021-11-03 22:16
Logarius
阅读(364)
评论(0)
推荐(0)
摘要:
从二维开始 假设有这样一张图片,横轴是X轴,纵轴是Y轴 想象一下,假设我们现在是从正面在看这张图,那么如果我们从顶部来看,俯视的看,会是什么样的情况?可能很抽象,尽可能的想象一下,应该是如此,我们看到的应该是图中我画出来的那一条线段。 为什么最开始是一段绿色而不是红色?很明显,因为我们是俯视来看的, 阅读全文
posted @ 2021-11-03 22:15
Logarius
阅读(58)
评论(0)
推荐(0)
摘要:
引用池,和对象池的概念非常像,但是对象池服务于具体的GameObject对象,而引用池服务于普通的C#类。举个例子,如果打开UI的时候你想传递一些数据,最简单的方法就是 class UIData { //... } main() { UIData data = new UIData(); OpenU 阅读全文
posted @ 2021-11-03 22:15
Logarius
阅读(258)
评论(0)
推荐(0)
摘要:
简单绘制一个三角形 上一节末我们已经能够画一条直线了 void line(int x0, int y0, int x1, int y1, TGAImage& image, TGAColor color) { // ... } 在VS里新建一个geometry.h,然后把代码复制进去,这个头文件里就是 阅读全文
posted @ 2021-11-03 22:14
Logarius
阅读(115)
评论(0)
推荐(0)

浙公网安备 33010602011771号