自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 【UE】支持使用不同IDE打开不同源代码

UE支持使用不同IDE打开不同源代码

2024-04-10 15:36:42 213

原创 【UE】阅读和理解距离剔除源码

UE中的距离剔除是剔除中常见的策略之一,本文简要介绍距离剔除的原理

2023-12-21 17:16:20 509

原创 UE 反射获取实例的Array数据

UE反射,FArrayProperty获取队列实例数据

2023-02-02 15:10:53 701

原创 【UE】Slate编辑器动态添加Button

前言实现编辑器动态添加界面元素,例如button之类的效果实现.h文件添加定义.cpp文件实现逻辑界面排版TSharedRef<SDockTab> FDynamicCreateToolModule::OnSpawnPluginTab(const FSpawnTabArgs& SpawnTabArgs){ TSharedRef<SDockTab> dockTabSharedRef = SNew(SDockTab)

2022-05-30 11:01:22 1378

原创 【UE】初识Slate编辑器-理解一个最基础的编辑器界面

UE的Slate快速入门

2022-05-27 16:12:56 2647

原创 【编辑器】将Unity的log全部生成到本地

前言用Unity的Log窗口看日志比较麻烦,要不只能查关键词,要不只能看上下文。所以将log都生成到本地,然后自己搜索就最好了。效果实现#if UNITY_EDITORusing System;using System.IO;using System.Reflection;using System.Text;using UnityEditor;using UnityEngine;public class UnityOutputLogHelper{ private class

2021-09-10 20:21:01 838

原创 Unity渲染矩阵变换编辑器

前言编辑器可以快速得到每个环节计算出的数据,方便我们学习矩阵变换。具体的渲染管线矩阵变换流程可以看这篇:矩阵变换计算流程参考文章效果实现有一个主摄像机,有一个正方体即可。然后将脚本随便挂到一个对象上,赋值正方体。输出运行时,会有Log输出整个流程的矩阵的数值。脚本using System.Collections;using System.Collections.Generic;using UnityEngine;public class PointMartixTest : M

2021-02-22 00:10:23 186

原创 unity渲染的矩阵变换全流程

前言了解渲染管线中,坐标从模型位置转变成屏幕位置的运算过程。整体过程模拟演算以橙色标记点为计算点。模型空间空间:建模软件维度:3维示例演算:世界空间空间:引擎 unity的transform位置维度:3维示例演算公式思路M model 是根据cube的transform位置进行变换。从上图可以得到数据,cube向(-1,-1,-1)进行位移,y轴旋转30°,整体缩小0.5百分比。计算sin(30) = 0.5cos(30) = 0.866观察空间空间:摄

2021-02-21 23:25:48 516

原创 【算法】插入排序

介绍思路:从头遍历,从当前位置向前寻找小于当前指向元素的数据。若有就将当前元素交换。遍历直到尾部结束。成本:数据的起始顺序。特点:取决于数据的顺序。要是顺序的就没有需要改变的数据。要是完全逆序就要全部重新排序。适用:部分有序的数据。思考快速记忆:从少到多达到有序代码代码源于书籍《算法》//插入排序 void sort(int* a, int length) ...

2020-04-24 13:22:41 118

原创 【算法】选择排序

介绍思路:找到数组中最小的元素,然后与头指针指向的元素进行交换。头指针顺序从第一个开始向后移动。成本:比较次数特点:运行时间只和数量相关。数据移动次数最少。适用:希望少交换的数据心得快速记忆:排序时,当前指向的前面全部数据都是有序的。代码// 选择排序 void sort(int* a, int length) { for (int i...

2020-04-23 13:39:07 119

原创 【算法】归并排序

介绍思路:将两个有序的数组归并到一个更大的有序数组中。原理:按照一定规则,将数组不断分割到最小单位进行排序,然后将结果归并。直到合并回原本数组长度。特性:需要使用额外的空间。思想:分治思想(分割大问题为一个个小问题,通过解决所有的小问题从而解决大问题)实现:自顶向下,自底向上环境:适用数据量较大的数据建议接下来的算法会涉及递归,建议一边看示意图一边自己实现下流程,对照着学习会记忆更...

2020-04-22 23:25:24 108

原创 【编辑器】Unity读取git信息

前言最近有需求要读取git的提交信息,躺了坑记录一下。该工具支持输入任何git的语句,效果和使用gitcmd是一样的。效果读取指定文件夹的log实现1.配置git需要装git到本地,如果使用sourcetree的自带是不行的,需要全局的。地址: https://git-scm.com/要是上不了,可用这个:Git-2.25.0-64-bit2.代码核心是RunCMD,其余是...

2020-03-17 13:12:36 594

原创 【游戏框架】Unity资源管理和打包AssetBundle工具

前言如果想要了解AssetBundle相关,资源管理器实现的逻辑的话,可以先看一下这篇:【AssetBundle】Unity AssetBundle打包和资源加载解析。项目Demo.unitypackage效果:运行时加载资源使用说明Entrance脚本是入口,大家可以根据自己需要改变。只需要那几个生命周期函数都照常执行即可。资源加载有两种办法,勾上就是使用bundle。...

2020-03-02 13:43:51 431

原创 【AssetBundle】Unity AssetBundle打包和资源加载解析

前言AssetBundle是Unity加载的资源格式。游戏不管使用什么平台打包,AssetBundle都是必不可少的。为何选择AssetBundle资源加载常用有几种模式:1.直接使用IO进行加载,适合文本资源。2.Resources类。将资源放置到名为Resources的文件夹下,就可以使用同名类进行加载。3.AssetDatabase类。编辑器模式下,可以用原资源格式进行加载。4...

2020-03-02 13:35:47 1218

原创 【网络通讯】Unity使用protobuf建立简单的双端通讯模型

前言在使用到服务器通讯的时候,常规是使用Google的Protobuf协议格式进行序列化数据。网上Unity简单的双端交互比较少涉及到protobuf,这里给出一个包括了Protobuf使用的简单demo。这个模型重点在于讲解如何使用protobuf,所以网络相关的只是实现了功能,有需要的可以自己了解下相关细节进行重写。效果Protobuf使用定义协议,然后使用protoc工具生成...

2019-11-29 00:02:37 546

原创 【经验总结】如何快速上手新框架

前言游戏框架是支撑具体游戏逻辑的底层建筑,需要提供游戏工程大部分的基础需求的支持。无论框架是小至只有一两个类模块,还是大至十几个模块,只要是为通用功能而起作用的都能成为项目的框架。框架不是从开始指定了就不变动的,而是随着项目的发展而有所改变。但是并不意味着它是一个可以随便改动的地方。当框架已经满足了功能,除非是功能有大改,具体的问题,详细的优化等情况,通常就是趋向于稳定。框架稳定后,更多...

2019-08-07 23:21:49 560

原创 【编辑器】脚本实现OpenPrefab界面

前言2018的Unity中Prefab的显示会跳到另外的一个界面,在prefab的面板上有“Open Prefab”的按钮。这里用脚本实现这个按钮的功能。效果环境脚本using UnityEditor;using UnityEditor.SceneManagement;using UnityEngine;using UnityEngine.SceneManagement;p...

2019-06-19 15:19:26 1839

原创 Unity编译回调和加锁解锁

前言有时候当重新编译的时候会导致出现一些新的问题,这时候就需要手动控制编译的时机。功能编译前后的回调编译加锁和解锁效果实现环境Test是个空类脚本using UnityEditor;using UnityEditor.Compilation;using UnityEngine;public class AssemblyTest : EditorWindow{...

2019-06-19 13:19:17 1369

原创 【UGUI】3D世界坐标转2DUI坐标并自适应的做法(血条,气泡)

前言有一些功能是需要用2D的形式跟随3D的模型进行显示的。例如模型的讲话气泡,血条等。功能实现1. UI的锚点设置,UI的根节点的大小设置2. 脚本实现UI屏幕坐标系是从左下角为原点,Y轴向右为正,X轴向上为正。所有相关的UI的锚点都需要是设置成左下为锚点。其次,UI挂载的根节点需要做屏幕的自适应,保证和屏幕一样大。1.如果是直接挂载到Canvas,直接按上图调整锚点即可...

2019-04-29 20:57:23 705

原创 【游戏音效】Unity集成Wwise并进行开发的全流程教程(三)脚本接入Unity

集成教程:【游戏音效】Unity集成Wwise并进行开发的全流程教程(一)准备工作【游戏音效】Unity集成Wwise并进行开发的全流程教程(二)Wwise项目前言这一篇章是Unity接入Wwise的代码。如果看了前面两章的介绍,那么就会比较清晰地明白脚本为什么要这么写。提要1.绑定Wwsie项目并配置对应的项目设置2.脚本交互:初始化,播放,音量,停止,开关,清理3.热更资源配置...

2019-04-25 00:16:51 11976 2

原创 【游戏音效】Unity集成Wwise并进行开发的全流程教程(二)Wwise项目

前言集成教程:【游戏音效】Unity集成Wwise并进行开发的全流程教程(-)准备工作这一篇章大致讲一下Wwise的基础概念和常规设置。虽然不是音效开发人员,但是最好还是了解Wwise的基础功能,这样能方便我们自己快速测试效果。上一篇已经讲了按键生成之类相关的,如果对Wwise完全不了解的话,可以先看一下上一篇。习惯用Unity的AuditoSource的同学,这里要分清楚,Wwise的使...

2019-04-22 19:20:03 10817 1

原创 【游戏音效】Unity集成Wwise并进行开发的全流程教程(一)准备工作

前言Unity有自己的原生音乐功能:AduioSound。但是这个功能较为简单,对于音效开发人员来说并不是很友好。在一些大型的游戏中,音效会接入Wwise这个软件。音效开发者通过Wwise编辑器就能操作音效,然后Unity可以读取最终的文件,达到游戏开发和音效开发分离的效果。Wwise是一个音效软件,有自己的编辑器工具,有SDK是面向多平台的。官方网站还有中文的支持,所以是比较友好的。官网还有...

2019-04-18 20:58:57 20411 3

原创 【游戏玩法】2d场景中人物碰撞和移动偏移修正

前言在2d场景中,人物移动是一个基础的功能,当遇到有障碍物时需要进行位置偏移修复。否则就只是单纯的上下左右移动,这样效果看起来会很差。实现的方法有很多,这里简单介绍一下我的实现方法。如果有更好的方法请推荐给我~这个实现方式并没有考虑太多的性能问题,只是一个简单的实现功能的算法。基于这个算法上可以进行自己的优化和扩展。需求角色遇到障碍物时不可穿越,根据移动方向进行偏移修正。效果实现...

2019-04-18 14:36:07 2005 2

原创 【游戏架构】Unity导表功能 - 制作导表工具思路

前言策划配表后,程序要使用这些配置表时,就需要导表工具转换成可以读的资源。表有两个部分。一个是数据内容,例如名字,描述,数值,公式等,这些是策划赋值的。一个是数据类型,例如字符串,数值类型等,这个是程序考虑的。建表时肯定是策划和程序相互讨论的。所以一些表的格式可以固定下来。当有了固定的规则时,使用自动化工具就好办了。思路围绕着配置表的流程大致可以分为:制表,导表,读表。在做导表功能前,...

2019-03-28 17:34:07 3462 4

原创 【正则】介绍C#正则相关类-如何使用正则

前言现在复杂的读取文本信息已经离不开正则了,介绍下C#里面正则常用的类。示例 void regexDemo(string input) { //input = aaav0.1.0bbbv0.20.0ccc //正则表达式 Regex regex = new Regex("v((?&lt;o...

2019-02-02 10:27:01 244

原创 【编辑器】实现Hierarchy界面标志

前言在Hierarchy上添加些标志,可以使用Unity的默认标志,也可以自定义图标。原理上还是编辑器的GUI编辑。效果黑色的是Unity的效果,红色是自定义图片。资源路径是:实现using UnityEditor;using UnityEngine;public class HierarchyMask{ private static bool m_Init = fa...

2019-01-31 18:10:11 252

原创 【预制体】判断物体对象是否预制体

前言在编辑器中操作预制体常用的类是PrefabUtility,里面提供了不同的方法去对预制体进行操作。当想要判断对象是实例,预制体还是单纯一个对象时,可以使用里面提供的函数。PrefabUtility里面不同版本变化很多,常用的函数在2019都过期了,但是2019以下的版本都能用。所以用哪个的话,可以根据自己项目版本来决定。PrefabUtility官网信息:https://docs.u...

2019-01-23 11:50:55 3421 2

原创 【编辑器】脚本重启Unity

环境在更新Unity的插件时,如果插件里包含了plugings信息的时候,是需要关闭掉Unity才能升级的。因为一打开Unity,plugings就已经加载到主线程里面,不可能卸掉了,除非关掉Unity。这时候,就需要重启Unity的功能了。测试过,在bat脚本关掉Unity的情况下,被Unity启动的cmd会被删掉。而Unity打开cmd后,自己关闭的话就不会关掉。脚本编辑器代码usi...

2019-01-16 23:27:48 2122

原创 【批处理】bat常用语句及使用技巧

前言最近工作需要用到bat,以前没有用过。一周快速开发下来,总结我自己最常用的方法。语句注释在echo off的情况下,两者都可以用。在echo on的情况下,只有@rem可以用。pause是等待输入空格rem 注释1@rem 注释2输出“”适用于对象,如果输出加上“”,就是直接输出双引号的意思。而空格是默认的分割符。echo=是单纯换行echo hello,World...

2019-01-02 23:52:09 3216

原创 【编辑器】UnityConsole界面双击日志跳转

环境发布正式包时,Unity的原生Log肯定是要屏蔽的。最常用的做法就是自己封装一下,实现一个debug。不过这样的话,双击跳转就会去到Debug类里面去。为了方便查bug,实现一下日志跳转。实现看了一下网上的资料,思路应该就是通过类型实例化Console界面,得到Log具体数据。然后解析跳转。网上的实现步骤稍微复杂了一点。这里给出不到一百行代码,轻松实现功能。这个代码需要放到Editor目...

2018-12-12 20:42:29 3122 6

原创 【编辑器】Unity复制和粘贴字符到剪贴板

功能相当于右键的复制和粘贴功能效果代码 //复制方法1 可以不在编辑器的情况下使用 public void CopyFunction1(string value) { TextEditor text = new TextEditor(); text.text = value; text.OnFocus(); ...

2018-11-30 11:30:16 1442

原创 【编辑器】Unity窗口对焦切换和启动游戏

前言做编辑器的时候有时会需要改变窗口的对焦。现在总结一下常用的切换窗口方法。还有就是编辑器模式下启动游戏。效果思路窗口类名应该和窗口名差不多,到UnityEditor的文档里面去搜索关键字,看看有没有有用的信息找不到其他窗口名的时候,就百度名字,多翻翻。。脚本直接贴整个编辑器脚本using System;using UnityEditor;using UnityEngi...

2018-11-29 11:12:00 1001 1

原创 【编辑器】unity自动化生成UI模板代码

前言在游戏制作用,UI的代码架构是固定的。为了快速开发,只需要获得一个完整的UI结构代码,然后编写对应的业务逻辑即可。所以,自动化生成模板代码是一件必不可少的事情。环境UI的架构通常使用MVC的结构,这次就演示V的生成,其他模板的生成流程其实也大同小异。代码就不加功能了,重点放到生成代码上面去。Viewpublic class TempletView { public cons...

2018-11-28 11:58:00 2259

原创 【lua】第一章-lua基础(搭建环境,变量语法基础)

第一章.lua基础搭建环境 从网上下载luaStudio,有汉化版的。习惯使用vs的人应该会觉得非常的熟悉。 使用步骤:新建项目-新建文件-编码-F5 在第一次调试时,会出现调试设置。第一个要勾选,第二个是选择是否弹出控制台,可选可不选。 lua基础 lua脚本

2017-05-25 23:58:35 299

原创 【布料系统】Unity的布料 固定在个地方 飘扬

#搞了两天,差点跪死在这-------------------------------------------------建个空的,Component加cloth。Mesh选Plane。Materials随便建了个扔了上去。//前期工作,建个布料点击Cloth的Edit Constraints。选四个角,然后把Max Distance勾上。//这样的话就不会掉落啦,按需求点吧。

2016-08-01 23:30:07 8192

原创 【NGUI】记录button的动态效果

1.ui button offset 这是点击的时候会缩小往后挪一下 然后恢复2.ui button Scale 这是把鼠标放上去的时候会放大 点击会缩小然后放大

2016-07-20 14:23:39 335

原创 【NGUI】ui tween 和 play tween

这个功能很强大,刚刚接触所以不是了解很深,我认为就是一个动作预制体。把要执行动作的对象加上tween,记得要去掉选中这个的钩。然后设置动作。接下来,把触发对象,例如按钮啊加上Play tween。如果执行动作对象是个组,记得勾上Tween Group.把执行动作的对象(夫节点)拉到Tween Targer。把Play direction 修改为Toggle。最后运行,没有问题。简单...

2016-07-19 23:34:40 504

原创 【NGUI】UI摄像机和主摄像机。画面有异常情况的处理

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-05-06 09:29:14 1008

原创 【NGUI】Rpg对话框

-记录一下做RPG中,和NPC对话,弹出对话框的做法。刚开始使用NGUI,还有很多不懂。-------------------------------------------------------------------------------------------------首先是中文显示。把text的label的NGUI设置成Unity,然后把字体选择成这...

2016-05-03 18:45:33 1620

Git-2.25.0-64-bit.rar

从官网下载的git.版本是2.25.0-64。亲测可用。 因为csdn说资源重复,不让上传,我就压缩了一下。

2020-03-17

ResourceProject.unitypackage

UNITY AssetBundle打包 ResourceManager 资源管理的相关代码,包含完整的demo

2020-03-02

NetDemo.unitypackage

Unity的简单的网络通讯模型。通讯协议使用protobuf,包含客户端和服务器。版本是2018.3.8f1。

2019-11-28

空空如也

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

TA关注的人

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