自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(325)
  • 资源 (24)
  • 论坛 (1)
  • 收藏
  • 关注

原创 unity接入kcp

unity接入kcp一.前言KCP是一种基于UDP的上层协议,项目地址:KCP – A Fast and Reliable ARQ Protocol,以下是github上的介绍:KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP。 连时钟都需要外部传递进来,内部不会有任何一次系统调用。整

2021-01-16 18:58:24 90

原创 unity实现游戏帧同步之确定性物理引擎

一.前言近几年,市面上出现了越来越多IO游戏,Moba游戏,这些游戏有一个共同的特点,就是需要多人同时进行对战,做多人同步对战游戏,有两个技术点是绕不开的:1.实时网络同步技术,2.确定性物理引擎。首先网络的话,如果游戏要求是帧同步,为了保证网络传输的速度,那一定是udp首选,但是需要处理下丢包的问题。这个问题我们不在这里多说。我们今天主要说的时确定性物理引擎的问题。那么什么是确定性物理引擎呢?确定性物理引擎这个要从普通的物理引擎来说起,比如Unity3D内置的NVIDIA出品的PhysX物理引擎和G

2021-01-12 12:40:35 118

原创 unity 使用lua处理byte数组

前言一般untiy中网络处理都是使用C#,但是如果使用lua做热更开发的话,很多逻辑需要在lua端写,比如网络协议,会使用lua-protobuf,lua-pbc等。那么网络的字节拼接就需要在lua端拼接好,再回传给C#,目前拼接字节有两种方案:1.使用C#的MemoryBuffer+BinaryReader和BinaryWriter进行拼接2.使用lua的string.pack和string.unpack进行拼接如果使用C#进行拼接,那么最好是在C#端直接做,如果在lua端做,就需要lua调用C

2020-12-31 18:48:19 100

原创 GameFramwork框架详解之(七)资源打包和加密

一.Resource Builder编辑器面板我们根据GameFramework的demo:Star Force 进行拆解GF的资源打包和加密逻辑参数:productName:产品名称。companyName:公司名称。gameIdentifier:游戏识别号。gameFrameworkVersion:游戏框架版本。unityVersion:Unity 版本。applicableGameVersion:适用游戏版本。internalResourceVersion:内部资源版本。bui

2020-12-21 22:00:03 110

原创 git-flow使用规范

git-flow规范1.规范分支使用1.master分支是产品分支,不要在master直接开发2.开发统一基于develop分支,并且使用git-flow工作流进行开发3.每个人开发自己的功能,需从develop检出新分支,且直到功能或fix开发完毕,再合并到主分支,不要一条记录合并一次或者直接在develop上开发,这样保证了develop分支的正常运行和测试4.develop分支稳定之后,可以合并到master,用于测试和发布,所以对于master分支的修改一定要进行审核,保证

2020-12-21 20:15:33 49

原创 Unity Shader之图片彩色图过渡到灰度图

Unity Shader之图片彩色图过渡到灰度图实现原理对于彩色转灰度,首先要知道一个公式:Gray = R0.299 + G0.587 + B*0.114;shader代码下面直接看shaderShader "Custom/GrayToColor"{ Properties { // 主图 _MainTex ("Albedo (RGB)", 2D) = "white" {} // 插值 _Lerp("Color Lerp",Range(0,

2020-12-10 21:49:23 92

原创 Unity如何动态修改TextMeshProUGUI的参数

TextMeshPro是Unity的一个内置插件,性能和效果均强于UGUI的Text,甚至效果方面强国了美术的PS,所以当我们需要使用TextMeshPro制作一些炫酷的字体效果时,免不了使用程序动态修改某些参数,不管是C#还是Lua语言,都可以直接设置TextMeshProUGUI的所有参数。下面直接上代码:修改基础参数:TextMeshProUGUI pro = this.GetComponent<TextMeshProUGUI>();pro.text = "文本";//修改字体属

2020-12-03 22:22:07 271

原创 GameFramwork框架详解之(六)UI框架

UI框架1.UIComponentUIComponent主要是对UIManger的封装,UGF框架对GF框架的包装,对GF的UIManager进行初始化和方法调用。public sealed partial class UIComponent : GameFrameworkComponent{ private const int DefaultPriority = 0; private IUIManager m_UIManager = null; private Event

2020-11-27 22:11:22 151 2

原创 GameFramework框架详解之(五)Download下载器

Download下载模块1.DownloadComponentDownloadComponent其实就是DownloadManager的包装而已,主要负责DownloadManager的初始化和调用,这里不多介绍,直接看结构代码/// <summary>/// 下载组件。/// </summary>public sealed class DownloadComponent : GameFrameworkComponent{ private const int

2020-11-27 20:59:06 129

原创 GameFramework框架详解之(四)对象池模块

一.前言GF框架中对象池的使用,总共有三处1.ObjectPool对象池2.RefrencePool引用池3.TaskPool任务池首先使用原理都是一样的,都是因为存在频繁的创建和销毁,为了避免GC而对对象进行缓存,需要时获取,不需要是回收。而在GF框架中之所以分成3个Pool去做这些事情,也是为了不同的 功能而分别差异化实现的二.TaskPool任务池先来聊聊TaskPool吧,TaskPool其实是ITaskAgent的一个集合,负责ITaskAgent的初始化,执行,回收等操作1

2020-11-26 22:07:41 128

原创 GameFramework框架详解之(三)资源管理器

资源加载前言Game Framework 使用了一套异步资源加载体系,因此只提供了异步加载资源的接口。不论简单的数据表、本地化字典,还是复杂的实体、场景、界面,都将使用异步加载。同时,Game Framework 提供了默认的内存管理策略(当然,你也可以定义自己的内存管理策略)。资源类型定义Game Framework 中有两个关于资源的定义,在使用过程中需要注意区分。Game Framework 设计的所有方法都是面向 Asset 的,Resource 隐藏在内部,不对外公开,以降低使用的复杂度。

2020-11-14 22:20:10 257

原创 Unity 如何实现一个高效的对象池

前言当我们频繁创建和销毁某个游戏对象的时候,可能对GC是一个很大的开销,这时一般我们都会引入对象池模块。对象池:顾名思义,就是对象的一个缓存池子,可以存取对象,方便对象的回收和复用。避免了大量对象创建和销毁时产生GC。1.对象池v1.0首先我们先来写一个最简单的对象池,针对单个游戏对象的对象池,可以对一个指定的预制体,进行对象实例的创建和回收,对象池子其实就是一个Queue队列,为什么是一个队列呢?主要原因是因为队列Queue和栈Stack的存取效率是最高的,而我偏向使用Queue的原因是因为它是一

2020-11-07 20:30:58 150

原创 史上最全iPhone分辨率和尺寸

最新iPhone全机型分辨率和尺寸收录1.设计分辨率规范IOS手机手机机型(iPhone)屏幕尺寸(inch)纵横比逻辑分辨率dp设备分辨率px缩放因子ScaleFactor4(s)3.516 : 9320x480640x960@2x5(s/se)416 : 9320x568640x1136@2x6(s)/7/84.716 : 9375x667750x1334@2x6(s)/7/8 Plus5.516 : 9414x73

2020-11-03 11:14:02 264

原创 什么是 git-flow 的工作流程

git-flow 的工作流程当在团队开发中使用版本控制系统时,商定一个统一的工作流程是至关重要的。Git 的确可以在各个方面做很多事情,然而,如果在你的团队中还没有能形成一个特定有效的工作流程,那么混乱就将是不可避免的。基本上你可以定义一个完全适合你自己项目的工作流程,或者使用一个别人定义好的。在这章节中我们将一起学习一个当前非常流行的工作流程 git-flow。什么是 git-flow?一旦安装安装 git-flow,你将会拥有一些扩展命令。这些命令会在一个预定义的顺序下自动执行多个操作。是的,

2020-10-27 14:51:39 51

原创 GameFramework框架详解之(二)框架启动

一.游戏启动先打开Assets根目录下的StarForce Launcher场景场景节点目录如下:二.GameEntry在根节点Game Framework上有个组件:GameEntry,是游戏的启动入口,GameEntry使用关键字partial被拆分成了3个文件,分别是:GameEntryGameEntry-BuildinGameEntry-CunstomGameEntry类,是项目主入口InitBuiltinComponents();InitCustomComponents()

2020-10-24 17:33:47 156

原创 GameFramework框架详解之(一)框架总览

一.前言目前市场上有很多优秀个开源框架,比如ET,GameFramework,DBFramework,StrangeIOC,Loxodon-Framework,KSFramework,xluaFramework等等。其中要说规范的话,不得不说GameFramework还是不错的,当然很多新手看到后会觉的有点复杂,写一个小小的功能,不得不套用一堆东西,继承一堆接口,感觉不知所措,不能随心所欲的去撸代码。其实这个框架就是为了约束新手的行为的,让我们面向接口编程,遵循“开闭”的设计原则来写代码,方便后期的扩

2020-10-24 15:50:05 619

原创 Unity插件之EasyTouch和LeanTouch

前言首先在Unity的AssetStore搜索EasyTouch,只能搜到其它的Touch插件,比如LeanTouch+和Easy Touch Controls等等从Easy Touch Controls的描述里面可以连接到下面的信息所以很遗憾,目前EasyTouch4.x和5.x都已经下架了,只有一个Easy Touch Controls,但是它最后一次更新是2016年,比较久远了,不太清楚HedgehogTeam公司在搞什么?难道被收购了?不管了,无论如何EasyTouch5.x 依然是我们

2020-10-14 20:02:24 191

原创 Unity 如何实现批量修改图片格式

前言unity开发游戏过程中,经常会批量修改部分图片格式,比如ios端,我们会修改为astc6x6,android端我们会修改为ETC2。又或者我们需要把图片打包图集,需要批量设置SpriteTag。但是当我们导入大量图片时,如果一个文件夹一个文件夹的修改,再加上android和ios不同平台的修改,这就需要大量的操作,而且最要命的时修改完后,如果团队里有人再添加新的图片,上线打包时,还需要重新整理标记图片格式。那么就需要我们写一个小工具来自动处理这个过程。常用的有两种方式第一种方式:使用unity

2020-09-25 20:55:43 223

原创 Unity ILRuntime项目优化的若干建议

前言关于Unity项目的优化点,有很多博客介绍过,我也曾经发过很多,今天呢把一些具体的数据拿出来和大家分享优化测试点测试1foreach 和 for循环的比较测试代码/gcms/1w次foreach循环遍历数组gc:1.0MB30msfor循环遍历数组 i<list.Lengthgc:0B14.05msfor循环遍历数组 length缓存gc:0B7.9ms public static void TestListLoop()

2020-09-19 23:19:07 411

原创 Unity 编辑器实现UGUI批量修改RaycastTarget

前言UGUI中创建Image,Text,默认会勾选RaycastTarget,这一点容易被大家所忽略,然而,不管是我们自己测试还是官方建议,其实Raycast会在运行时不停的进行射线检测点击,会产生不小的性能瓶颈。所以建议大家把没用的Image或者Text上面的RaycastTarget勾选掉,所以我们写了一个编辑器工具,可以批量处理UI的RaycastTarget,使用方式如下:实现代码如下:using System.Collections;using System.Collections

2020-09-19 22:48:12 81

原创 unity 如何实现一个日志上报系统

前言unity开发游戏,对于日志系统,一般我们都会碰到两个问题?1.发布到手机后,去掉日志打印,节省性能2.部分错误日志,需要上报到服务端。方便后期维护解决方案1.对于问题1,UnityEngine已经给了一个解决方案,代码如下:Debug.unityLogger.logEnabled = false;这样虽然可以关闭日志,但是就全部关闭了,有不方便我们截获异常了。2.对于问题2,一般我们最常截获并上报的就是Error,当然有时也会截获部分Debug日志。这样的话,我们就不能直

2020-09-12 18:17:05 230

原创 Unity 如何拆分图集中的单图

很多时候我们会从某些途径获得一些图集,然后我们需要使用里面的小图,如果让美术一个一个来拆分,就比较麻烦,这里给大家提供一个小工具,可以自动拆分图片。本来想自己写一个,但是发现网上很多已经写好的,这里就不重复造轮子了,给大家分享一下吧使用方法:1.新保证原图,已经使用Unity的SpriteEditor分割。2.选中想拆分的图集文件,点击Assets/Split Atlas按钮代码:using UnityEngine;using UnityEditor;using System.IO;us.

2020-09-07 10:27:49 359

原创 unity 如何实现AssetBundle资源管理

unity实现AssetBundle资源管理1、最上层是 AssetBundleManager,它提供了一些列的接口,同步和异步的都有。给lua导出的接口不使用泛型。SetAssetBundleResidentLoadAssetAsyncLoadAssetBundleAsyncUnloadAssetBundleUnloadUnusedAssetBundle2、Asset 对应一个资源对象,一个资源加载完毕之后,通过Asset.asset就可以获取到对应的资源。它可以指定是否是引用计数的模式,以

2020-09-05 19:09:06 190

原创 Unity 如何使用命令模式

命令模式游戏中,当你想通过一种通用的方式来存储命令并能够撤消命令时,那么命令模式最有用。在“示例”中,你将看到一个可以通过GUI按钮移动的简单点。采取行动后,您可以撤消并重做。我在屏幕上添加了一个简单的OnGUI标签输出,因此您可以看到命令列表,并指出哪个是当前命令。在此示例中使用了4个类:Command-这是任何命令模式都可以继承的基本结构(抽象类)。您可以在任何项目中使用此类。MoveCommand-这是从Command类继承的结构,将使用Execute和UnExecute(撤消)。每个移

2020-08-29 18:34:59 213

原创 Unity 包体优化之png拆分为JPG和Alpha Mask

Unity 应用ImageMagicalpng图片占用空间很大,如果没有透明通道,可以转成jpg,从而使包体变得很小。而有透明通道的图片就没有办法改成jpg了。但是,有一个库,叫ImageMagick,可以实现这个操作。原理是把一张png,拆分成两张jpg(一张图片.jpg+一张plphaMask.jpg)。原图284k,拆分后,一张52k,一张38k。基本可以压缩掉200k的大小。下面看下效果:拆分后:该算法在Android和IOS上应用颇为广泛,尤其是国外。我们搞Unity游戏开发的,

2020-08-19 16:03:38 275

原创 Unity 如何实现自定义编辑器工具

Unity自定义Inspector界面在开发游戏的过程中,经常碰到需要开发编辑器的功能,Unity商店里面不乏一些非常出色的编辑器工具。当然还有一种开发编辑器工具的工具,比如:Odin,这个工具让开发编辑器变得异常简单,但是里面有大量的Attribute重写,我担心影响Unity编辑器的性能,没敢轻易使用,而且一般的编辑器工具,直接动手就写了,根本也不需要什么插件。今天我把他的源码简单看了一下,实现了它的一个功能,扩展Inspector,期间查阅各种资料,又把Unity自定义编辑器的API给过了一遍,这

2020-08-11 18:29:06 565

原创 Unity 如何实现基于UI的画线组件

UGUI画线组件Unity自带有一个LineRender,在3D中使用还挺方便,但是如果要在UI上使用,来回转换坐标系,非常的麻烦。本篇文章就是集成Image组件,然后重写了OnPopulateMesh函数,实现了自定义UI划线组件。代码:using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class LineDrawer : Image{ public List<Vect

2020-08-05 10:57:23 947 2

原创 Unity 如何实现AssetBundle加密

前言随着Unity的普及,越来越多的公司使用Unity来开发手游,Unity的手游市场占有率越来越高。有很多小白和小公司就使用AssetStudio来破解别人的资源来使用。AssetBundle的资源加密,对于我们来说越来越重要。方案1过去,通过官方文档的了解,我们主要可以通过,AssetBundle.LoadFromMemory(Async)的方案来实现资源包加密,官方文档对这个方法是这样描述的:Use this method to create an AssetBundle from an

2020-08-03 18:39:14 341

原创 Unity 如何实现动态启动页

前言大家都见过天美的游戏启动页,Tim…,一个自定义的序列帧动画,非常漂亮且流畅,但是显然,Unity本身不具备这个功能。虽然unity2017之后,添加了fade和dolly效果的启动页,但还是无法真正的自定义动态启动页,更别提加入自定义的gif或者帧动画了。那么如何添加真正的序列帧动画呢,那就要使用原生脚本来写启动页了,所以我们需要横跨IOS+Android+Unity,三个不同的领域来实现这一功能。针对这个功能本身,其实对于ios和android原生的开发一点都不难,但是要把这个功能融入unity

2020-07-24 20:32:33 533

原创 Unity 如何实现苹果动态模糊遮罩

前言使用过苹果手机的都知道,苹果手机在上banner滑下来的时候,会有一个动态模糊的透明背景,其实就是一个毛玻璃效果,用户可以看到毛玻璃下面的应用或者列表,依然时活动的状态,这就是我说的苹果的动态模糊效果。见下图1.实现原理先说原理,要实现一个动态模糊的遮罩,主要有两个技术难点。1.模糊效果:模糊的效果肯定是使用shader,有一种模糊大家应该都听说过,那就是’'高斯模糊",高斯模糊的算法是一个最长常用的模糊图像算法,因为高斯模糊的效果非常的好。2.动态遮罩:动态遮罩,什么意思呢?就是说,我们有一

2020-07-24 19:28:30 492

原创 Unity 如何实现一个通用的新手引导框架
原力计划

前言在游戏开发中,新手教程是必不可缺的一项功能,一个方便增删改查的教程框架是非常重要的,可以为项目提高很高的效率。一般不同的游戏项目,新手引导也不太一样,比如,在一些复杂的3D游戏中,有关人物的技能,杀怪,副本等等的流程引导,常常会习惯创建一个Base基类,然后针对不同类型的引导,继承一些子引导类,然后配合一些关卡配置表,来实现不同的引导。而一些简单的2D游戏,比如棋牌,卡牌,休闲等游戏,因为大量的引导都是基于UI或者2D平面的,所以使用一套通用的引导代码,加上配置表,可以完成90%的新手引导。我今天

2020-07-16 22:35:58 2192

原创 Unity 如何实现一个强大的MMO技能系统!

1. 如何实现一个强大的MMO技能系统——序章前言技能系统可以说是游戏中广泛存在而又最重要的系统了,它是整个游戏战斗体验的核心。一套强大的技能系统可以让游戏的策略性,可玩性得到极大的提升。然而技能系统牵涉到的模块非常多,又会面对策划各种各样的奇葩需求,同时技能模块中很多系统的设计不仅仅对程序员的编码能力提出了一定的要求,而且还需要程序员对游戏机制有着深入的理解。可以说要实现一套强力的高可用高扩展的技能系统还是有一定复杂度的。如果作为一个游戏玩家,谈论到技能系统,我们一定会对War3的技能编辑器印象深刻

2020-07-09 11:06:16 1644

翻译 用一个用户场景来掌握它们

翻译自一篇博文,原文:One user scenario to rule them all异步系列剖析C#中的异步方法扩展C#中的异步方法C#中异步方法的性能特点。用一个用户场景来掌握它们c#中异步方法的几乎所有重要行为都可以基于一个用户场景进行解释:尽可能简单地将现有的同步代码迁移到异步。你应该能在方法的返回类型前面加上async关键字,在方法名最后加上Async后缀,在方法内部加上一些await关键字,就能得到一个功能完整的异步方法。这个“简单”场景以许多不同的方式极大地影响异步方

2020-07-04 18:29:38 233

翻译 C#中异步方法的性能特点

翻译自一篇博文,原文:The performance characteristics of async methods in C#异步系列剖析C#中的异步方法扩展C#中的异步方法C#中异步方法的性能特点用一个用户场景来掌握它们在前两篇中,我们介绍了C#中异步方法的内部原理,以及C#编译器提供的可扩展性从而自定义异步方法的行为。今天我们将探讨异步方法的性能特点。正如第一篇所述,编译器进行了大量的转换,使异步编程体验非常类似于同步编程。但要做到这一点,编译器会创建一个状态机实例,将其传递给异

2020-07-04 17:36:38 202

翻译 扩展C#中的异步方法

翻译自一篇博文,原文:Extending the async methods in C#异步系列剖析C#中的异步方法扩展C#中的异步方法C#中异步方法的性能特点。用一个用户场景来掌握它们在上一篇中我们讨论了C#编译器是如何转换异步方法的。在这一篇,我们将重点讨论C#编译器为自定义异步方法的行为提供的可扩展性。关于如何控制异步方法机制有3种方法:在System.Runtime.CompilerServices命名空间中提供你自己的async method builder。使用自定义的ta

2020-07-04 17:27:16 143

翻译 剖析C#中的异步方法

翻译自一篇博文,原文:Dissecting the async methods in C#异步系列剖析C#中的异步方法扩展C#中的异步方法C#中异步方法的性能特点。用一个用户场景来掌握它们C#这门语言对开发者的生产效率有很大帮助,我很高兴最近的推动让它变得对高性能应用更加合适。举例来说:C# 5引入了“async”方法(async表示异步,也是关键字)。这个特性从用户的角度看是很实用的,因为它能将几个基于Task的操作合并为一个。但是这种抽象是需要代价的。Task是引用类型,每次实例化的时候

2020-07-04 17:17:53 187

翻译 Unity 2018中使用Async-Await替代 coroutines

在Unity中使用协程通常是解决某些问题的好方法,但是它也具有某些缺点:协程不能返回值。这鼓励程序员创建巨大的整体协程方法,而不是用许多较小的方法组成它们。存在一些变通办法,例如将Action <>类型的回调参数传递给协程,或在协程完成后强制转换从协程产生的最终未类型化值,但是这些方法使用起来很麻烦并且容易出错。协程使错误处理变得困难。您不能将yield放入try-catch中,因此无法处理异常。另外,当确实发生异常时,堆栈跟踪只会告诉您协程在何处抛出了异常,因此您必须猜测可能从哪个协程中调

2020-07-01 18:48:54 866

原创 EasyTouch手势识别
原力计划

EasyTouch 单指或多指手势动作识别在场景目录列表中 添加EasyTouch物体EasyTouch 单指或多指手势动作识别Enable EasyTouchEasyTouch触屏功能开启或关闭Enable Unity Remote远程unity ? 开启多指触屏模式 (最终打包时,关闭此选项)GUI兼容EasyTouch 单指或多指手势动作识别Enable Uniyt UI detection开启或关闭Unity UI元素触屏识别Unity UI compatibilityEna

2020-06-28 10:26:16 320

原创 ILRuntime官方Demo笔记
原力计划

调用/执行 热更中的方法#调用热更代码中方法,写在AppDomain中,记录一下主要几个方法:AppDomain.LoadAssembly 加载热更dll执行热更代码的方法,有两种方式:appdomain.Invoke(“HotFix_Project.InstanceClass”, “StaticFunTest”, null, null);预先获得IMethod,可以减低每次调用查找方法耗用的时间,代码如下://预先获得IMethod,可以减低每次调用查找方法耗用的时间ITyp

2020-06-28 10:09:53 174

原创 最新 XLua 与 ILRuntime 性能对比

现在很多项目都使用xlua来开发整个项目,但是实际上使用的并不是xlua标榜的“热修复”,毕竟国内游戏还是要要求可以热更新新功能的,因此如果采用热修复的方案,则需要小版本使用lua写功能,大版本又要把lua版本转换为C#代码重写一次,不太现实,因此现实中的许多公司都是使用lua来写大部分的逻辑。但是u3d是个C#语言为编程语言的引擎(当然还有JS…),一般lua项目中,我们会把逻辑运算量大,复杂度高,对性能有要求的代码写在C#代码,或者C++ DLL库中,比如加载,更新,框架,战斗等, 这就需要程序要经常

2020-06-28 10:02:34 1546 8

Submarine_Source.unitypackage

一款2d的横版跑酷游戏,玩家乘坐一架潜艇,可以上下潜浮,躲避障碍物,可以吃金币。可以发射子弹等等。总之可以再海底进行跑酷

2020-04-29

Shader Forge 1.3.8.0_unity2018.unitypackage

unity2018版本中,Shaderforge插件已经弃更并且报错,所以我修改shaderforge的源码,然后使其可以在unity2018中使用。亲测可用。希望能对你有所帮助

2019-10-15

rubyinstaller-devkit-2.4.4-2-x64.exe

rubyinstaller-devkit-2.4.4-2-x64.exe,windows系统下的ruby安装环境

2018-08-08

LitJson_Ext

Litjson是一个C#中用于解析json的工具,使用非常方便,但是有一个小缺点,不支持float类型,必须使用double代替,所以我修改了Litjson的源码,可以支持float 类型,有需要的请笑纳

2018-06-04

vscode之luaIde0.3.7

开发lua的一个非常好用的工具,vscode,luaide根式一个不可多得的插件,支持愈发提示,代码跳转,最重要的断点调试功能。

2018-05-13

ovr_unity_utilities_1.13.0

oculus utilities for unity oculus cv1在unity开发虚拟现实的SDK

2017-04-02

LitJson.dll

LitJSON是一个.NET平台下处理JSON格式数据的类库,小巧、快速。 官方Git地址: https://github.com/lbv/litjson 官网地址: http://lbv.github.io/litjson/ 使用简介: http://lbv.github.io/litjson/docs/quickstart.html

2017-03-30

Easy Weapons v2.0.2

Easy Weapon 是一个十分强大的工具,可以让你在Unity中迅速的做一款Fps射击游戏,里面提供了各式各样的武器供你挑选。

2017-03-17

DoTween Pro 0.9.6

DoTween Pro 是Tweeen 家族中最好用,效率最高的插件,用来做物体的各种动画,路径移动,非常方便。 HoTween的升级版。比Dotween的免费版要多很多功能。包括最好用的路径,动画等。

2017-03-14

LinqToExcel_x64

Linq to Excel 是一个 .Net 库能够让你使用LINQ语法来查询Excel电子表格。

2016-12-13

Playmaker v1.8.3

Playmaker v1.8.3 (u5).unitypackage,最新版Playmaker。 PlayMaker 是由第三方软件开发商Hotong Games开发完成。它的Logo是一个中文的“玩”字(PS:看来中国文化声名远播)。它既是一个可视化脚本工具,又是一个分层逻辑框架。设计师、程序 员使用PlayMaker能够很快的完成游戏原型动作,既适合独立开发者,又适合团队合作。它的优点: 1.很多动作行为(例如:跑,跳,攻击等)只需要通过简单状态机FSM(Finite state machine)就能实现,根本不用写一句代码; 2.方便简洁的图表管理每个状态机; 3.播放游戏,可以实时错误检查; 4.集成的帮助,可以让我们快速查 看行为说明; 5.设置断点和单步执行状态; 6.可以编写自定义行为,让在出现在我们的行为列表(这就要求有点语言基础了); 7.支持各类插件配合使用,加速开发进程(例如Ngui, 2D Toolkit, A* Pathfinding等)

2016-12-12

unity 虚拟现实曲面UI

unity 虚拟现实曲面UI,用于实现超级酷炫的Unity虚拟现实效果。

2016-12-12

NGUI 3.10.2 2016年9月21日版本

NGUI 3.10.2 2016年9月21日版本

2016-12-12

.NET Reflector8.5 +注册机

;Reflector是由微软员工Lutz Roeder编写的免费程序。这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码。   .NET Reflector开发人员可以使用它反编译.NET代码,以了解它是如何工作的,学习或指导.NET语言的复杂性,提供一个更好的替代库的文档,恢复丢失或不可用的源代码,定位性能问题,分析依赖关系,检查混淆

2016-10-15

最新版PoolManager v5.5.2

PoolManager v5.5.2内存池最新版, 优化游戏性能。

2016-02-17

Behavior Designer

你将学习到一种新的动画与AI的解决方案使即使用Behavior Designer来设计动画的播放逻辑与AI的行为逻辑, 如果你用过PlayerMaker那么再好不过了,你可以Behavior Designer当作是PlayerMaker的强化版但有不同于PlayerMaker。当然我不是在这里推崇这种插件,而是了解另一种设计思路。当然在现在国内对于Behavior Designer插件中文资料匮乏的情况下,你也可把文档当作文档阅读。

2016-02-01

A星寻路插件 A Pathfinding

一款智能寻路算法,A星算法寻路,A Pathfinding,Unity 寻路插件

2015-12-30

2D Toolkit v2.5.1

最新2D游戏制作插件2D Toolkit v2.5.1

2015-12-25

Ulua v1.18

uLua Asset Store Page Lua + LuaJIT + LuaInterface Supported Platforms: iOS, Android, Windows, Mac, Linux Want Lua support in your project? This package comes with everything you need, ready to go on all of the major platforms. Features: - Lua 5.1.4 for all supported platforms - Amazing Lua performance thanks to LuaJIT - LuaInterface based for powerful C# integration - Additional LuaInterface features: Lua Coroutines, Unity error handling, more Lua API functions - Prebuilt Lua plugin

2015-07-31

C++_Iterator_迭代器_介绍

迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组索引,也可以认为是一种迭代器。 除了使用下标来访问 vector 对象的元素外,标准库还提供了另一种访问元素的方法:使用迭代器(iterator)。迭代器是一种检查容器内元素并遍历元素的数据类型。 标准库为每一种标准容器(包括vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素,即使对支持下标操作的vector 类型也是这样。

2015-02-27

Google+C+++编程规范

C++ 是 Google 大部分开源项目的主要编程语言。正如每个 C++ 程序员都知道的,C++ 有很多强大的特性,但这种强大不可避免的导致它走向复杂,使代码更容易产生 bug,难以阅读和维护。   Google 经常会发布一些开源项目,意味着会接受来自其他代码贡献者的代码。但是如果代码贡献者的编程风格与 Google 的不一致,会给代码阅读者和其他代码提交这造成不小的困扰。Google 因此发布了这份自己的编程风格,使所有提交代码的人都能获知 Google 的编程风格。   创新工场董事长兼 CEO 李开复曾经对 Google C++ 编码规范给予了极高的评价:“我认为这是地球上最好的一份 C++ 编程规范,没有之一,建议广大国内外 IT 研究使用。”   Google C++ 编码规范在线地址:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

2015-02-26

Lua 5.1 参考手册

Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。[2] Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。[2] 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

2015-02-26

Shell脚本学习指南

美国作家罗宾编著的学习指导书《Shell脚本学习指南》。 他教会你让UNIX充分发挥其真实的潜能,不只是如何写出有用的Shell脚本,你还得了解如何迅速、确实地定制Shell。 Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对uNIx的用户与系统管理者而言,编写shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell脚本,你可以结合基本的UNIX文本与文件处理命令来消化数据,以及自动化重复的工作。一旦你对Shell脚本的编写掌控自如,在接下来的几年,这些技巧将对你相当有帮助。

2015-02-26

Vim命令中文手册

Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs同样都是非常优秀的文本编辑器。

2015-02-26

PassionY的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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