自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

居安思危,游戏人生。

Programmer/Artist. Unity/Unreal. GC

  • 博客(114)
  • 收藏
  • 关注

原创 基于ChatGPT AI自动产生Shader,AI自动产生AICommand

基于ChatGPT AI自动产生Shader ; 基于ChatGPT AI自动产生AICommand

2023-05-12 11:19:05 667 1

原创 Unity热更模块基于 HybridCLR + Addressable

GitHub - ManoKing/FFramework: 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发 - GitHub - ManoKing/FFramework: 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发。...

2022-08-17 14:07:09 2975

原创 UE4中的PBR材质

PBR材质系统原理简介一、自然界材质要学会使用PBR首先需要了解什么是PBR,需要从真实世界的这些PBR材质特有的属性拆分开来去了解他们,这样我们就需要了解光,物体表面材质以及光是如何与材质交互的。光包括了颜色,亮度,衰减,强度,形状等主要属性,真实的世界中永远是多光源并存的。那么自然界中的材质是如何跟光交互的呢?灯光照射到物体表面后两种情况,反射或继续前行折射。折射后的光线被吸收(一般转化为热),或离散。光线被吸收的行为不是发生在表面,而是次表面,或者内部反射不会带出任何颜色。吸收会使光线强度

2021-12-18 16:47:33 2068

原创 Unity游戏的GC(garbage collection)优化

原文:https://unity3d.com/cn/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games引言游戏运行时使用内存来存储数据,当这些数据不再被使用时,存储这些数据的内存被释放以便于之后这些内存可以被复用。垃圾(Garbage )是存储无用数据的内存的术语,GC(Garbage Collection 垃圾回收)是使这些内存可以再次使用的过程。GC是Unit.

2021-10-21 18:03:44 1019

原创 读书的好处

1、获取知识。这是阅读最明显和最重要的好处。你读的每本书都充满了新的信息。你拥有的知识越多,你的装备就越好,你应对挑战的能力就越强。即使你失去了身体上所拥有的一切,也没有人会夺走你的知识。2、提高记忆力。阅读书籍能够让你停下来花点时间思考和反思。当你在读一本书的时候,你必须记住各种各样的任务,他们的背景、抱负、历史和细微的差别以及贯穿整个故事的各种套路和次要情节。更重要的是,伴随着你创建的每一个新的记忆,你也在你的大脑里创建了新的路径,这也强化了现有的路径。3、增强关键性及分析性技能。你有没有度过一

2021-08-11 18:31:09 169

原创 Unreal 虚幻源码分析(目录)

unreal 源码目录结构https://api.unrealengine.com/CHN/Engine/Basics/DirectoryStructure/index.html目录结构本页面的内容:根目录 通用目录 特定于引擎的目录 游戏项目目录 解决方案目录最顶层是Engine目录以及您所拥有的任何游戏项目。Engine目录包含引擎本身以及所有随附工具。每个游戏文件夹包含与该游戏有关的所有文件。与先前版本的引擎相比,UE4中的引擎和游戏项目有了更明显的区分。根目录

2021-07-30 11:21:12 1547

原创 《代码整洁之道》读书笔记

Part1 让代码比你来时更干净 编写代码的难度,取决于周边代码的阅读难度。想要快速实现需求,想要快速完成任务,想要轻松的写代码,请先让你书写的代码整洁易读。 保持整洁的习惯,发现脏代码就要及时纠正。花时间保持代码代码整洁,这不但有关效率,还有关项目的生存。 程序员遵从不了解混乱风险的产品经理(策划)的意愿,都是不专业的做法。 让代码比你来时更干净:如果每次签入时,代码都比签出时干净,那么代码就不会腐坏。 赶上期限的唯一方法,做得更快的唯一方法,就是在始终尽可能

2021-06-01 11:23:57 112

原创 新手引导实现蒙版,遮罩以及高亮引导区

通过重写ICanvasRaycastFilter接口的IsRaycastLocationValid,修改射线的区域。通过重写Graphic的OnPopulateMesh方法重绘遮罩区域。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class GuideMask : MaskableGraphic, ICanvasRaycast

2020-12-04 09:50:13 732

原创 Unity性能优化

常见的Unity性能问题Unity性能问题VSS:Virtual Set Size,虚拟耗用内存。它是一个进程能访问的所有内存空间地址的大小。这个大小包含了 一些没有驻留在RAM中的内存,就像mallocs已经被分配,但还没有写入。VSS很少用来测量程序的实际使 用内存。RSS:Resident Set Size,实际使用物理内存。RSS是一个进程在RAM中实际持有的内存大小。RSS可能会 产生误导,因为它包含了所有该进程使用的共享库所占用的内存,一个被加载到内存中的共享库可能有很 多进程会

2020-10-15 16:56:39 1246

原创 ILRuntime使用

(1)程序集的管理[InitializeOnLoad]public class Startup{ private const string HotfixDll1 = "Library/ScriptAssemblies/PlatformHotfix.dll"; private const string HotfixPdb1 = "Library/ScriptAssemblies/PlatformHotfix.pdb"; //生成路径 public static string

2020-09-25 10:26:46 2886

原创 搭建Hadoop+Python的大数据开发环境

实验环境CentOS镜像为CentOS-7-x86_64-Everything-1804.iso虚机配置节点名称 IP地址 子网掩码 CPU/内存 磁盘 安装方式 master 192.168.204.101 255.255.255.0 1核心/4GB 100GB GNOME Desktop slave1 192.168.204.111 255.255.255.0 1核心/2GB 100GB Min

2020-09-23 11:33:06 2890 2

原创 机器学习的温柔指南

机器学习是人工智能中的一个子领域,其构建的算法使计算机可以从数据中学习执行任务,而无需进行显式编程。得到它了?我们可以使机器学会做事!第一次听到,这让我大吃一惊。这意味着我们可以对计算机进行编程以自行学习!学习能力是智力最重要的方面之一。将这种力量转化为机器,听起来是朝着使机器更加智能迈出的一大步。实际上,机器学习是当今人工智能领域取得最大进展的领域。成为当前的热门话题,并推动拥有更多智能机器的可能性。这篇文章将尝试向新手读者简要介绍机器学习。在使用机器学习时,我将概述重要的概念,应用程序和挑战

2020-09-11 17:09:36 222

原创 Tensorflow 入门

第一步:给TF新手的教程指南1:tf初学者需要明白的入门准备机器学习入门笔记:aymericdamien/TensorFlow-ExamplesMNIST 数据集入门笔记aymericdamien/TensorFlow-Examples2:tf初学者需要了解的入门基础Hello Worldaymericdamien/TensorFlow-Exampleshttps://github.com/aymericdamien/TensorFlow-Examples/blob/master/exa

2020-07-29 10:46:42 162

原创 七分钟全面了解位运算

位运算是我们在编程中常会遇到的操作,但仍然有很多开发者并不了解位运算,这就导致在遇到位运算时会“打退堂鼓”。实际上,位运算并没有那么复杂,只要我们了解其运算基础和运算符的运算规则,就能够掌握位运算的知识。接下来,我们一起学习位运算的相关知识。程序中的数在计算机内存中都是以二进制的形式存在的,位运算就是直接对整数在内存中对应的二进制位进行操作。注意:本文只讨论整数运算,小数运算不在本文研究之列位运算的基础我们常用的3,5等数字是十进制表示,而位运算的基础是二进制。即人类采用十进制,机...

2020-05-20 14:15:54 202

原创 数据结构与C语言程序设计

“数据结构”部分一、概述1.数据的逻辑结构与存储结构的基本概念;2.算法的定义、基本性质以及算法分析的基本概念,包括采用大形式表示时间复杂度和空间复杂度。二、线性表1.线性关系、线性表的定义,线性表的基本操作;2.线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理;3.在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。三、堆栈与队列1.堆栈与队

2020-05-12 10:53:10 2267

原创 UGUI获取屏幕所有点击事件

​using UnityEngine;using System;using UnityEngine.EventSystems;using System.Reflection;public class EventSystemHandle<T1> : MonoBehaviour{ protected Action<T1> montiorAction; protected void RegisterExecuteEvent<B>(string .

2020-05-12 10:00:07 602

原创 声音管理AudioManager

今天给大家分享下刚刚做的AudioManager实现了以下功能:1.同时播放一首背景音乐2.同时播放N个音效3.对象池管理AudioSource组件4.背景音乐的声音淡入淡出5.调整背景音乐的音量6.调整音效的音量7.本地缓存声音音量8.切换场景不销毁9.获取播放音效结束回调10.播放3d音效使用方法: 直接挂载到空物体上应该是实现了大部分项目中...

2020-04-08 15:41:10 387

原创 提升男生外在形象

一个人在交往中给人的第一个印象就是外在形象,我们努力上进,努力挣钱的目的就是为了更好的生活,如若不注重形象,那便是不热爱生活,那追求更好的生活意义在哪? 消费再高,生活品质还是没能上去!我将以我的理解从以下几个方面进行提升外在形象:生活习惯 穿衣搭配 言行举止 气质生活习惯1.个人卫生这里主要讲个人方面的卫生吃饭: 量要合适,切记不要暴饮暴食,等到去减肥的时候你就知道减肥有多...

2019-12-17 09:54:24 307

原创 使用gohttpserve共享你的文件---Windows

1. gohttpserve简介人性化的UI体验,文件的上传支持,安卓和苹果安装包的二维码直接生成。源码使用地址: https://github.com/codeskyblue/gohttpserver2. 最简答的办法(1)下载release包:https://github.com/codeskyblue/gohttpserver/releases(2) 解压zip包,并切...

2019-12-03 14:48:50 449

原创 Unity之Jenkins打包一键化

1,你了解Jenkins吗?  Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。主要功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。这么说比较官方,说白了,它就是一种集承了多种常用的插件于一身的工具平台,通过这个平台你能很方便的管控你的项目!它的强大之处在于它能直接...

2019-11-28 10:01:36 1104

原创 Unity 获取不同路径下SVN版本号

Which SVN Branch?Committed to a WRONG branch!Working on a wrong branch is one of the occasional mistakes if your project has multiple branches. I had made this mistake several times before I cre...

2019-11-21 14:22:39 687

原创 在Unity3D中使用Protobuf3

Protobuf:平台无关、语言无关、可扩展且轻便高效的序列化数据结构的协议,一般用于网络通信和数据存储第一步:下载并准备DLL文件链接:mvn9(或者https://github.com/protocolbuffers/protobuf/tree/82d3d7d250645322f8a7343188e5ae6246a76414)先设置下DLL导出版本,不同版本的Unity3D可能对应...

2019-11-12 11:21:47 1033

原创 TCP、UDP、HTTP、HTTPS之间的区别

网络由下往上分为:物理层数据链路层网络层 --  IP协议传输层 --  TCP UDP协议会话层表示层应用层 --  HTTP协议1、TCP/IP连接TCP传输控制协议,是一种提供可靠数据传输的通用协议手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端机通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据...

2019-10-31 20:07:30 805

原创 Unity Event System

EventCenter.cs 事件的添加,广播和删除using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class EventCenter{ private static Dictionary<EventType, Deleg...

2019-07-09 14:43:03 229

原创 数据结构知识整理

基于严蔚敏及吴伟民编著的清华大学C语言版教材并结合网上相关资料整理(http://www.docin.com/p-2027739005.html)第一章:绪论1.数据结构:是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。2.数据结构涵盖的内容:3.基本概念和术语:数据:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机...

2019-06-06 11:21:35 344

原创 25岁做什么,可在5年后收益匪浅

一.【自我学习 】1,努力的学习知识或技能,学到了就跟你一辈子。2.习惯很重要,重要到深度影响自己生活,人生选择,和生命质量的程度。3.围剿式学习,通过观察对方的沟通,演讲,写作方式,从而学习他们的思维方式,学习他们身上最优秀的思维习惯。4..讲话速度慢下来,有意识的培养自己讲话的逻辑性和条理性,多用陈述句。5.参与话题讨论程度慢下来,在一群人闲聊时,不用总是立即接上一些立马想...

2019-05-10 09:49:16 363 1

原创 彻底解决IL2CPP 开启Strip Engine Code选项后带来的崩溃问题

IL2CPP根据C#生成的Cpp代码行数巨大,达到百万行级别,进而引起iOS平台可执行文件超过60MB的问题。因此在适当的时候有必要对UnityEngine下的代码进行Strip。但是这样做容易带来如下的问题:ReportException: UnityLogError Could not produce class with ID XXX.This could be caused by ...

2019-04-26 11:42:29 1771

原创 PSD2FairyGUI 工具

如何提高游戏界面开发效率,是业界不断探讨的一个问题。传统制作模式(美术出图,程序员在Unity里拼界面)需要占用大量的程序员时间用于简单的拼界面工作,所以程序员也开动脑筋制作了很多辅助工具,例如将美术的PSD源文件直接转化为UI界面的预制。我们可以在网上查找到不少针对NGUI或UGUI的PSD2UI方案,而今天我给大家介绍的是应用于另外一款越来越流行的UI引擎FairyGUI的PSD2UI方案。...

2019-03-22 15:02:05 2865

原创 使用IDEA进行Lua代码调试、自动提示、代码跳转、智能重命名

试了几个Lua IDE后,Lua Studio、Lua Glider、VS+babelua插件、Sublime都不是特别满意。直到发现了国人自创的另一个神奇工具:基于IDEA的EmmyLua插件。该插件功能非常完整:断点调试、自动提示、代码跳转、智能重命名等,可以极大地提高Lua编程的速度。界面也比较舒服。安装步骤下载、安装并破解IntelliJ IDEA(我的版本是目前最新的2017.3....

2018-12-27 17:54:55 1418 1

原创 Git和Code Review流程

Git和Code Review流程Code Review流程1、根据开发任务,建立git分支, 分支名称模式为feature/任务名,比如关于API相关的一项任务,建立分支feature/api。git checkout -b feature/api2、运行git branch 确认切换到了feature/api分支3、编辑代码完成开发任务, commit相关代码git add ...

2018-11-19 21:09:41 6850 1

原创 笔记二——相关数学基础篇

学习教材:《UnityShader入门精要》——冯乐乐部分计算图例为《UnityShader入门精要》书中截图代码和实例截图均为个人实际操作得到相关数学内容变换变换指将一些数据,例如,点,方向矢量甚至颜色,通过某种方式进行转换的过程。线性变换是非常常见的一种变化类型,满足矢量加和标量乘的变换即为线性变换,即:f(x)+f(y)=f(x+y)kf(x)=f(kx)缩放和...

2018-10-08 09:48:05 441

原创 笔记一 ——Unity Shader概念篇

学习教材:《UnityShader入门精要》——冯乐乐部分计算图例为《UnityShader入门精要》书中截图代码和实例截图均为实际操作运行结果渲染流水线渲染流水线从概念部分分为三个部分:应用阶段应用阶段为开发者完全控制部分,主要提供渲染所需要的渲染数据,输出为渲染图元,该阶段可以细分为:加载渲染数据(HDD--&gt;RAM--&gt;VRAM) 设置渲染状态(决定场...

2018-09-03 09:18:42 286

原创 关于告员工书的感悟

[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵 地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手!   ...

2018-08-29 11:47:26 754

原创 计算机组成原理基础知识总结

 计算机概述计算机的基本组成:存储器:     实现记忆功能的部件用来存放计算程序及参与运算的各种数据 运算器:     负责数据的算术运算和逻辑运算即数据的加工处理 控制器:     负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 输入设备:    实现计算程序和原始数据的输入 输出设备:    实现计算结果输出组成的联系:图一 图二计算机的工作过...

2018-08-15 10:17:57 19284 2

原创 操作系统基础知识总结

第一章 操作系统引论系统的目标:有效性(提高资源利用率和系统吞吐量)、方便性、可扩充性、开放性。 有效性和方便性是操作系统最重要两个目标。 操作系统的作用:(1)     OS作为用户与计算机硬件系统之间的接口(2)     OS作为计算机系统资源的管理者(处理器、存储器、I/O设备、数据程序)(3)      OS实现了对计算机资源的抽象(在硬件上覆盖I/O设备、文件和窗口管理...

2018-08-15 10:14:13 2697

原创 计算机网络基础知识总结

阅读目录1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议  9. DNS协议 10. NAT协议 11. DHCP协议 12. HTTP协议 13. 一个举例  计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换...

2018-08-15 10:07:37 231

原创 Unity Shader (三)Surface Shader机制

一直以来,Unity Surface Shader背后的机制一直是初学者为之困惑的地方。Unity Surface Shader在Unity 3.0的时候被开放给公众使用,其宣传手段也是号称让所有人都可以轻松地写shader。但由于资料缺乏,很多人知其然不知其所以然,无法理解Unity Surface Shader在背后为我们做了哪些事情。 前几天一直被问到一个问题,为什么我的场景里没有灯...

2018-08-07 17:52:49 1428

原创 Unity Shader (二)Cg语言

一、Cg基本数据类型float 32位浮点数 half 16位浮点数 int 32位整型 fixed 12位定点数 bool 布尔数据 simpler* 纹理对象的句柄( the handle to a texture object ) ,分为 6 类: sampler, sampler1D, sampler2D, sampler3...

2018-08-07 17:51:00 2578

原创 Unity Shader (一)ShaderLab 语法

一、什么是Shader Shader(着色器):是可以在GPU上运行的一段程序,通过Shader可以进行一些渲染相关的设置。 二、什么是ShaderLab 目前面向GPU的编程有三种高级图像语言:HLSL语言,GLSL语言,Cg语言。HLSL语言:High Level Shading Language,由Microsoft公司提供,通过Direct3D图形软件库来编写的...

2018-08-07 17:49:51 365

原创 Unity 表面主色器组成及编译指令

内容简介surface shader 重组成部分:两个结构体以及编译指令一、两个结构体(Input和SurfaceOutput) 二、编译指令 三、渲染管线中的流程(两个结构体和四个函数)一、两个结构体(Input和SurfaceOutput)1、Input结构体(1)允许我们自定义(2)内置变量:a:float3 viewDir 定义视角方向b:float4 s...

2018-08-07 17:28:22 186

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除