Unity3d 100个开源项目推荐! |
您所在的位置:网站首页 › unity3d传奇·手游源码 › Unity3d 100个开源项目推荐! |
热更新 热更新是一种手游及App常用的更新方式,举例来说,游戏上线后,玩家需要通过应用商店及其他渠道下载第一个版本。在运营的过程中,如游戏需要更换UI、修改逻辑、开放功能等,此时若不使用热更新技术,就需要重新打包,那么玩家也就需要通过应用商店或其他渠道重新下载游戏。 热更新可以在不重新下载客户端的情况下,更新游戏的内容。 然而c#是一门编译型语言,其运行之前需要进行编译,而编译的过程在移动平台无法完成,所以当我们游戏的逻辑更改,代码发生变化时,我们就需要重新在开发环境下编译,然后重新打包,让玩家下载最新版本。这个过程中,会下载很多不需要更新的资源,便会增加玩家的时间及流量消耗,造成不好的用户体验。因此在移动平台中便就出现了热更新技术。 Unity在手游平台主要的热更新方式Lua、ILRuntime。其中Lua热门的方案就是Tolua、Xlua及Slua。 Lua热更新主要由三部分组成: 1、C# 与 Lua 的互相调用机制; 2、Lua 文件的打包; 3、网络传输,校验。 tolua:https://github.com/topameng/tolua slua:https://github.com/pangweiwei/slua xlua:https://github.com/Tencent/xLua ILRuntime:https://github.com/Ourpalm/ILRuntime ———————————————— ILRuntime star:2K Pure C# IL Intepreter Runtime, which is fast and reliable for scripting requirement on enviorments, where jitting isn't possible. 纯C#IL解释器运行时,对于无法进行拼写的环境中的脚本要求,它是快速而可靠的。
xLua star:6.4K xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. C#下Lua编程支持 xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。 xLua的突破 xLua在功能、性能、易用性都有不少突破,这几方面分别最具代表性的是: · 可以运行时把C#实现(方法,操作符,属性,事件等等)替换成lua实现; · 出色的gc优化,自定义struct,枚举在Lua和C#间传递无C# gc alloc; · 编辑器下无需生成代码,开发更轻量; slua star:1.2K Fastest lua binding via static code generating for Unity3D or mono tolua star:2.4K The fastest unity lua binding solution
【游戏框架】KSFramework star:1.1K https://github.com/mr-kelly/KSFramework https://mr-kelly.github.io/KSFramework/ https://github.com/mr-kelly/KEngine KEngine是一个用于Unity3D引擎的AssetBundle框架。 她的核心,资源模块(ResourceModule)为AssetBundle的资源加载、打包提供完整的一套工程规范,减少在项目开发过程中踩坑的时间; 同时基于资源模块,提供了UI模块(UIModule)、配置表模块(SettingModule),实现完整的项目协作工作流。
![]() ![]() KEngine + SLua | XLua | ILRuntime+ Framework = KSFramework KSFramework是一个整合KEngine、SLua/XLua/ILRuntime 的Unity3D Asset Bundle开发框架,并为程序、美术、策划、运营提供辅助工具集。 ShowCase(商业案例) showcase 列表:https://github.com/mr-kelly/KSFramework/wiki ![]() 《仙剑奇侠传4》手游是大宇授权,西山居研发的官方正版MMORPG手游 新游抢先《仙剑奇侠传4》手游试玩: https://www.bilibili.com/video/av28372883/ ![]() 天域幻想 《天域幻想》是一款由西山居“剑侠”团队研发、胜利游戏发行的创新性飞天动作卡牌手游! ![]() 巴青传 《巴清传》是一款以春秋战国七雄争霸为背景的3D回合制MMORPG, [1] 由盛大游戏、杭州心光流美联合发行。 《巴清传》将MMO的传统养成玩法、沙盒游戏的全开放自由探索、集换卡牌游戏的策略烧脑、半即时回合制游戏的互动社交、动作游戏的强烈感和平衡竞技等游戏特色进行了融合创新。 ![]() 少年剑影 ![]() KSFramework 热重载是KSFramework的开发重点——在不重启游戏的前提下,重载代码、配置表可立刻看到修改效果,最大限度的提升开发、调试的速度,方便运营阶段热更新。 对于程序人员,可以使用AssetBundle加载与打包、脚本化的UI、配置表代码自动生成、下载更新等基础功能模块,大大减少游戏周边基础功能的工作量; 对于策划人员,使用Excel进行编辑,可以在编辑过程中添加注释、图标、预编译指令,KSFramework会根据配置内容自动生成代码供程序使用。 对于美术人员,只需将项目需要用到资源放到指定目录,将会自动的生成Asset Bundle;程序加载Asset Bundle跟Resources.Load一样方便。 对于运营人员,利用KSFramework的热重载特性,可以针对运营需求,在项目运行过程中配置表、脚本代码在用户无知觉的情况下进行热更新。 ILSpy star :12.1k https://github.com/icsharpcode/ILSpy NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform! .NET反编译器,支持PDB生成,ReadyToRun,元数据(及更多)-跨平台! Ml Agents Unity Machine Learning Agents Toolkit Unity机器学习代理工具包 Stars 10.6K https://github.com/Unity-Technologies/ml-agents/issues 3d Game Shaders For Beginners Stars 8.1k A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game. 一个循序渐进的指导,实现了SSAO,景深,光照,法线贴图,以及更多 https://github.com/lettier/3d-game-shaders-for-beginners ![]() Xlua xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. xLua是用于C#(Unity,.Net,Mono)的lua编程解决方案,它支持android,ios,windows,linux,osx等。 https://github.com/Tencent/xLua ![]() Assetstudio AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles. AssetStudio是一个用于探索、提取和导出资产和资产包的工具 https://github.com/Perfare/AssetStudio Entitas Csharp Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity Entitas是一个超级快速的实体组件系统(ECS)框架,专门为c#和Unity而设计 https://github.com/sschmid/Entitas-CSharp Unirx Reactive Extensions for Unity https://github.com/neuecc/UniRx Wavefunctioncollapse Walk through an infinite, procedurally generated city 一个无限的,程序生成的城市 https://github.com/marian42/wavefunctioncollapse ![]() 【Flutter 集录指南 App】The unity of flutter, The unity of coder.https://github.com/toly1994328/FlutterUnit ![]() ![]() UIEffect UIEffect is an effect component for uGUI element in Unity. Let's decorate your UI with effects! UIEffect是Unity中uGUI元素的一个效果组件。让我们用效果装饰你的UI ! https://github.com/mob-sakai/UIEffect ![]() https://github.com/EllanJiang/GameFramework Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。 在最新的 Game Framework 版本中,包含以下 19 个内置模块,后续我们还将开发更多的扩展模块供开发者使用。 全局配置 (Config) - 存储一些全局的只读的游戏配置,如玩家初始速度、游戏初始音量等。 数据结点 (Data Node) - 将任意类型的数据以树状结构的形式进行保存,用于管理游戏运行时的各种数据。 数据表 (Data Table) - 可以将游戏数据以表格(如 Microsoft Excel)的形式进行配置后,使用此模块使用这些数据表。数据表的格式是可以自定义的。 调试器 (Debugger) - 当游戏在 Unity 编辑器中运行或者以 Development 方式发布运行时,将出现调试器窗口,便于查看运行时日志、调试信息等。用户还可以方便地将自己的功能注册到调试器窗口上并使用。 下载 (Download) - 提供下载文件的功能,支持断点续传,并可指定允许几个下载器进行同时下载。更新资源时会主动调用此模块。 实体 (Entity) - 我们将游戏场景中,动态创建的一切物体定义为实体。此模块提供管理实体和实体组的功能,如显示隐藏实体、挂接实体(如挂接武器、坐骑,或者抓起另一个实体)等。实体使用结束后可以不立刻销毁,从而等待下一次重新使用。 事件 (Event) - 游戏逻辑监听、抛出事件的机制。Game Framework 中的很多模块在完成操作后都会抛出内置事件,监听这些事件将大大解除游戏逻辑之间的耦合。用户也可以定义自己的游戏逻辑事件。 文件系统 (File System) - 虚拟文件系统使用类似磁盘的概念对零散文件进行集中管理,优化资源加载时产生的内存分配,甚至可以对资源进行局部片段加载,这些都将极大提升资源加载时的性能。 有限状态机 (FSM) - 提供创建、使用和销毁有限状态机的功能,一些适用于有限状态机机制的游戏逻辑,使用此模块将是一个不错的选择。 本地化 (Localization) - 提供本地化功能,也就是我们平时所说的多语言。Game Framework 在本地化方面,不但支持文本的本地化,还支持任意资源的本地化,比如游戏中释放烟花特效也可以做出几个多国语言的版本,使得中文版里是“新年好”字样的特效,而英文版里是“Happy New Year”字样的特效。 网络 (Network) - 提供使用 Socket 长连接的功能,当前我们支持 TCP 协议,同时兼容 IPv4 和 IPv6 两个版本。用户可以同时建立多个连接与多个服务器同时进行通信,比如除了连接常规的游戏服务器,还可以连接语音聊天服务器。如果想接入 ProtoBuf 之类的协议库,只要派生自 Packet 类并实现自己的消息包类即可使用。 对象池 (Object Pool) - 提供对象缓存池的功能,避免频繁地创建和销毁各种游戏对象,提高游戏性能。除了 Game Framework 自身使用了对象池,用户还可以很方便地创建和管理自己的对象池。 流程 (Procedure) - 是贯穿游戏运行时整个生命周期的有限状态机。通过流程,将不同的游戏状态进行解耦将是一个非常好的习惯。对于网络游戏,你可能需要如检查资源流程、更新资源流程、检查服务器列表流程、选择服务器流程、登录服务器流程、创建角色流程等流程,而对于单机游戏,你可能需要在游戏选择菜单流程和游戏实际玩法流程之间做切换。如果想增加流程,只要派生自 ProcedureBase 类并实现自己的流程类即可使用。 资源 (Resource) - 为了保证玩家的体验,我们不推荐再使用同步的方式加载资源,由于 Game Framework 自身使用了一套完整的异步加载资源体系,因此只提供了异步加载资源的接口。不论简单的数据表、本地化字典,还是复杂的实体、场景、界面,我们都将使用异步加载。同时,Game Framework 提供了默认的内存管理策略(当然,你也可以定义自己的内存管理策略)。多数情况下,在使用 GameObject 的过程中,你甚至可以不需要自行进行 Instantiate 或者是 Destroy 操作。 场景 (Scene) - 提供场景管理的功能,可以同时加载多个场景,也可以随时卸载任何一个场景,从而很容易地实现场景的分部加载。 配置 (Setting) - 以键值对的形式存储玩家数据,对 UnityEngine.PlayerPrefs 进行封装,也可以将这些数据直接存储在磁盘上。 声音 (Sound) - 提供管理声音和声音组的功能,用户可以自定义一个声音的音量、是 2D 声音还是 3D 声音,甚至是直接绑定到某个实体上跟随实体移动。 界面 (UI) - 提供管理界面和界面组的功能,如显示隐藏界面、激活界面、改变界面层级等。不论是 Unity 内置的 uGUI 还是其它类型的 UI 插件(如 NGUI),只要派生自 UIFormLogic 类并实现自己的界面类即可使用。界面使用结束后可以不立刻销毁,从而等待下一次重新使用。 Web 请求 (Web Request) - 提供使用短连接的功能,可以用 Get 或者 Post 方法向服务器发送请求并获取响应数据,可指定允许几个 Web 请求器进行同时请求。 Il2cppdumper Unity il2cpp reverse engineer Unity il2cpp逆向工程 https://github.com/Perfare/Il2CppDumper/issues Tolua The fastest unity lua binding solution https://github.com/topameng/tolua Mathutilities Mathutilities A collection of some of the neat math and physics tricks that I've collected over the last few years. 这是我在过去几年里收集的一些简洁的数学和物理技巧的集合。 https://github.com/zalo/MathUtilities https://github.com/pardeike/Harmony A library for patching, replacing and decorating .NET and Mono methods during runtime Mirror Open Source Unity Networking Library https://github.com/vis2k/Mirror ![]() Awesome Unity Shader ⛵️ 关于炫酷的Unity3D Shader | About Cool Unity3D Shaders https://github.com/QianMo/Awesome-Unity-Shader https://github.com/github-for-unity/Unity https://github.com/Tencent/behaviac behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具 支持行为树BT,状态机FSM,HTN等多种范式 QFramework Your first K.I.S.S Unity 3D Framework. QFramework 简介 IntroQFramework 是一套 渐进式 的 快速开发 框架。目标是作为无框架经验的公司、独立开发者、以及 Unity3D 初学者们的 第一套框架。框架内部积累了多个项目的在各个技术方向的解决方案。学习成本低,接入成本低,重构成本低,二次开发成本低,文档内容丰富(提供使用方式以及原理、开发文档)、插件丰富。 ![]() https://github.com/ColinLeung-NiloCat/UnityURPToonLitShaderExample A very simple toon lit shader example, for you to learn writing custom lit shader in Unity URP 一个非常简单的卡通灯光着色器的例子,让你学习在Unity URP中编写自定义灯光着色器 ![]() Il2cppinspector Powerful automated tool for reverse engineering Unity IL2CPP binaries 强大的自动化逆向工程工具Unity IL2CPP二进制文件 https://github.com/djkaty/Il2CppInspector ![]() https://github.com/liuhaopen/UnityMMO UnityMMOan unity mmo demo, base on ecs(game play), xlua(ui) 很多东西不好在工作项目上尝试(比如 ECS),所以就有了本项目,我打算利用业余时间从头制作一个 3D-MMO 游戏,大部分功能虽然都多少接触过,但我想换个做法,不然就不好玩了.前端的玩法系统用 c#,界面用 lua 开发.后端用 skynet. ![]() ![]() https://github.com/imadr/Unity-game-hacking Unity Game Hacking A guide for hacking unity games https://github.com/spr1ngd/UnityCodes SpringGUI是对UGUI的拓展,提供十多种UI组件用于快速开发。 ![]() Gameproject3 https://github.com/ylmbtm/GameProject3 跨平台的多进程游戏服务器框架,网络层分别使用SocketApi, Boost Asio, Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。 还有一个不断完善的Unity3D客户端,游戏包含大量完整资源,坐骑,宠物,伙伴,装备, 这些均可上阵和穿戴, 并可进入副本战斗,多人玩法也己实现,持续开发中 ![]() https://github.com/EllanJiang/UnityGameFramework https://github.com/luxkun/ReGoap Generic C# GOAP (Goal Oriented Action Planning) library with Unity3d examples 通用c# GOAP(面向目标的行动计划)库和Unity3d示例 https://github.com/AsPJT/DungeonTemplateLibrary Dungeon free resources (terrain & roguelike generation) 地下城资源(地形和roguelike生成) ![]() Texturepanner This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures 这个库托管了Unity3D的着色器,它的主要目标是促进霓虹灯一样的标志,传送带和基本上基于滚动纹理的任何东西的创建 https://github.com/AdultLink/TexturePanner ![]() Unity3d Rainbow Folders This asset allows you to set custom icons for any folder in unity project browser. https://github.com/PhannGor/unity3d-rainbow-folders 这个资源允许你在unity项目浏览器中为任何文件夹设置自定义图标。 https://github.com/radiatoryang/hedera About paint 3D ivy in the Unity Editor, watch procedurally generated meshes simulate growth and clinging in real-time 在Unity编辑器中绘制3D常春藤,观察程序生成的网格模拟生长和实时依附 ![]() https://github.com/JasonXuDeveloper/JEngine JENGINE v0.6.1JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手,轻松制作可以热更新的游戏 ![]() Assetsextractor 『Assets提取工具』是一款OSX平台上用于将Assets.car或xxx.app中打包的png图片、pdf等资源重新提取出来的开发者工具。Assets.car常见于iOS/Mac/Unity等开发中的资源打包。 https://github.com/pcjbird/AssetsExtractor Socket.io Unity socket.io client for Unity, power game client with node.js back-end https://github.com/floatinghotpot/socket.io-unity ![]() https://github.com/Reinisch/Darkest-Dungeon-Unity Unity的黑暗地牢端口。和原来的几乎完全一样。Android平台:PC /。 ![]() https://github.com/mofr/Diablerie Diablo 2 reimplementation on unity 在unity上重新执行《暗黑破坏神2》 ![]() https://github.com/winddyhe/knight Knight是一个基于Unity引擎的游戏GamePlay框架,提供一些简单易用的游戏框架接口,目的让开发者更加专注于游戏内容的开发。 它包含了一个完整的资源管理模块(打包、下载、加载、版本管理),一个基于ILRuntime的C#热更模块,一个基于MVVM的UI框架(支持热更新)以及其他基础功能的支持。 https://github.com/996icu/996.ICU/blob/master/README_CN.md https://github.com/996icu/996.ICU/blob/master/blacklist/README.md https://github.com/keijiro/WfcMaze ![]() https://github.com/yukiarrr/Il2cppSpy Unity IL2CPP Disassembler (for apk) Unity IL2CPP反汇编程序(适用于apk) ![]() https://github.com/mr-kelly/KSFramework KSFramework是一个整合KEngine、SLua/XLua/ILRuntime 的Unity3D Asset Bundle开发框架,并为程序、美术、策划、运营提供辅助工具集。 ![]() ![]() 热重载是KSFramework的开发重点——在不重启游戏的前提下,重载代码、配置表可立刻看到修改效果,最大限度的提升开发、调试的速度,方便运营阶段热更新。 对于程序人员,可以使用AssetBundle加载与打包、脚本化的UI、配置表代码自动生成、下载更新等基础功能模块,大大减少游戏周边基础功能的工作量; 对于策划人员,使用Excel进行编辑,可以在编辑过程中添加注释、图标、预编译指令,KSFramework会根据配置内容自动生成代码供程序使用。 对于美术人员,只需将项目需要用到资源放到指定目录,将会自动的生成Asset Bundle;程序加载Asset Bundle跟Resources.Load一样方便。 对于运营人员,利用KSFramework的热重载特性,可以针对运营需求,在项目运行过程中配置表、脚本代码在用户无知觉的情况下进行热更新。 ![]() https://github.com/yimengfan/BDFramework.Core [中]简单!简单!强大的Unity3d游戏工作流程!Unity3d框架:c#热修复(ILRuntime),资产管理器,ui工作流,网络调试…等等 https://github.com/martinhodler/unity-aseprite-importer ![]() https://github.com/huailiang/face-nn 网易的研究者提出了一种游戏角色自动创建方法,利用 Face-to-Parameter 的转换快速创建游戏角色,用户还可以自行基于模型结果再次进行修改,直到得到自己满意的人物。此项目按照论文里的描述建立。 ![]() https://github.com/Reinisch/Warcraft-Arena-Unity World of Warcraft client-server combat system implementation in Unity with Photon Bolt. 魔兽世界客户端-服务器战斗系统的统一使用Photon与 Bolt。 服务器实例和客户端连接Photon Bolt 魔兽世界的玩家控制器和相机 竞技场位置设置,洛丹伦地图 单位帧,动作栏,自定义热键,大厅UI 浮动文本,单位选择圆形投影 基本的本地化和拼写错误通知 咒语,ui和角色声音 法术、投射物和光环的视觉效果 法术,法术效果,光环和光环效果 ![]() https://github.com/Justin-sky/Nice-Lua 基于xlua的MVVM框架,支持Addressables, 统一渲染管线等Unity新特性 https://github.com/MEyes/uMVVM 参考文献:https://awesomeopensource.com/projects/unity/unity3d |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |