2020年10月

  • BuildConfiguration 他继承于scriptobject,他的扩展名是".buildconfiguration"导入的时候执行了编辑器脚本 [ScriptedImporter(3, new[] { BuildConfiguration.AssetExtension })] sealed class BuildConfigurationScri

  • Packages/com.unity.entities/Unity.Entities.Hybrid/Injection/AutomaticWorldBootstrap.cs static class AutomaticWorldBootstrap { [RuntimeInitializeOnLoadMethod(RuntimeInitializeL

  • *(译前言: Unity DOTS提出了一套全新的开发技术栈, 但目前少有精讲如何结合现有工作流进行开发的资料, 外网 这篇文章 (Game Object Conversion and SubScene)

  • General Purpose Component Shared component data 不存储在chunk中,而是存储在sharedComponentManager,而chunk中存的是索引.. 若ForEach中包含了Share Component,那么必须调用WithoutBurst方法和使用Run来执行 Chunk component data 相当于单例..

  • 不管NGUI还是UGUI,图集都是在制作期间就生成了的,运行时是一张大图,这样做的好处在于我们可以在一定程度上去合并批次,但是图集通常在制作过程中,会分成commonatlas和系统atlas两类,一个界面prefab至少会用到两张图集,就会出现ABA的图集穿插打断合批的情况。还有一种游戏内容多了以后,各种图片也相应的变多,类似图标、commonatlas这种图集,一张2048x2048可能就放...

  • 创建Job 创建Job需要定义一个结构体,实现IJob接口。实现了IJob接口之后,就可以让这个Job和其他Job并行运行了。 到这呢,就可以给Job一个真正的定义了:Job是一个统称,任何实现了IJob接口的结构体,都可以成为一个Job。 创建Job的步骤如下: 1、创建一个实现IJob接口的结构体 2、给结构体添加所需的成员变量,可以使用blittable类型或者

  • DOTS面向数据栈编程 ecs 在OOP方法中,数据不会被组织起来,而是会分散再整个内存中,这是因为使用了自动内存管理功能。 job system 传统只使用了单线程,配合ecs提供了多线程解决方案 brust compiler 将c#直接转换为汇编 ECS核心概念 ![img](https://cdn.jsdelivr.net/gh/zhepama/igiven.g

2020年9月

  • 向量和点的区别 向量的长度就是和000 点的距离 点积的几何意义与游戏中的应用 向量的单位向量,就是长度为1时的向量

  • Addressables.InitializeAsync 初始化并填充Addressables.ResourceLocators IResourceLocator 资源目录,可以通过 代码加载额外的locator var requestCatalog=Addressables.LoadContentCatalogAsync("http://192.16

  • 堆与栈:有什么不同? 栈,或多或少负责跟踪正在程序中运行的代码。 堆,或多或少负责跟踪程序对象或数据。 栈,把它想像成叠在一起的盒子(像搭积木一样)。每一次调用一个方法就会在最上面叠一个盒子,用来跟踪程序运行情况。我们只能使用栈中叠在最上面的盒子里的东西。当某一最上面的盒子里的代码执行完毕(如方法执行完成),就把它扔掉并继续去使用下一个盒子。 堆,与栈类似,只是它是用

  • 之前读了阿德勒的书,其中一直不理解他说的一点,人的性格和过去没有关系。 这也是和佛罗伊德流派的区别,我们常看的犯罪小说,电视剧,或者周围发生的人和事处处透漏着童年阴影对成人性格的影响,比如孩童时期遇到的挫折导致长大后的性格缺陷,抑郁,心理扭曲或者变态杀人。 我一直对此深以为然,甚至迷惑阿德勒为什么会反对这种观点,以至于写下很长的书评进行反驳。 前几天和朋友广场跑步,朋友看到有做直播唱歌的,

  • 资源检查 首先第一部分.我们要注意在平时工作中需要注意哪些地方养成一套流程规范.避免出现已经被总结出来的问题 代码 Unity 的垃圾收集(使用 Boehm GC 算法)是非分代的,也是非压缩的。“非分代”意味着 GC 在执行每遍收集时必须扫描整个堆,因此随着堆的扩

  • 垂直同步 在显示一帧画面时,显卡先从显示缓冲取数据刷新到显示器存储器上,然后,显示器从左上到右下,逐行显示到屏幕上。 显示器每画完一行发出一个水平同步信号,画完所有行发出一个垂直同步信号。 若显示器刷新率是75,那么发出一个垂直同步信号后会等待1/75秒,然后重新执行上述步骤。 游戏中的开启垂直同步,意思是指显卡等待到一个垂直同步信号后才开始工作,向显示缓冲绘制数据。 如果我

  • 1、首先打开PS软件,然后在PS中打开需要处理的图片。 2、接下来将另一张图片拖入PS中,使其位于第

2020年8月

  • 全部的 shared模块+contract模块+Odin模

  • 如何发现的? 查看C盘存储 打开所有设置->系统->存储->选择C盘 查看C盘

  • Screen.safeArea会返回移动平台安全区的Rect。例如,iPhoneX(2436x1125px)横屏时,Screen.safeArea返回的值为Rect(132,63,2172,1062)。如图: ![img](https://cdn.jsdelivr.net/gh/zhepama/igiven.github.io@gh-pages/assets/images/2020-08-29-...

  • 背景 ASP.NET Core引入了Options模式,使用类来表示相关的设置组。简单的来说,就是用强类型的类来表达配置项,这带来了很多好处。 初学者会发现这个框架有3个主要的面向消费者的接口:IOptions、IOptionsMonitor以及IOptionsSnapshot。 这三个接口初看起来很类似,所以很容易引起困惑,什么场

  • ConcurrentDictionary主要用于要从多个线程(或异步任务)修改字典的情景中。如果来自单个线程,则可以根据需要使用尽可能多的代码使用标准Dictionary;) 如果您查看ConcurrentDictionary上的方法,则会发现一些有趣的方法,例如TryAdd,TryGetValue,TryUpdate和TryRemove。 例如,若使用普通的Dictionary类时可能会看到

  • Kestrel是http://ASP.NET Core框架内置的默认Web Server 什么是Web Server? 根据维基百科的定义: W