
游戏开发及技术
文章平均质量分 53
码农CGGG
现在是一个游戏开发者
展开
-
人生成就达成,从0开始完成一个github 5kstar的开源项目
历时2年多业余时间,从0开始做了一个github 5K star的开源游戏项目。原创 2022-07-10 20:57:32 · 1055 阅读 · 1 评论 -
xlua生成Wrap代码排除指定dll
我们在使用xlua打包的时候,如果整个工程里有加入代码混淆的一些dll,可能会导致Generate Wrap的时候出错,我们可以手动添加一些过滤条件,排除这些dll因为xlua本身似乎只提供方法的BlackList,我们使用修改源代码的方式。在Utils.cs修改GetAllTypes函数,添加如注释所在代码public static List<Type> GetAllTypes(bool exclude_generic_definition = true){ List<Typ原创 2022-03-26 15:34:55 · 1744 阅读 · 0 评论 -
在Unity中,PlayableBehaviour如何获取片段的开始和结束时间?
在Unity的timeline相关自定义代码编写中,有时候会需要在PlayableBehaviour中获取TimeClip的开始和结束时间,通过PlayableBehaviour提供的接口我们会发现找不到对应的属性或者方法。这篇回答中有详细解释:How to access the clip timing (start, end time) in PlayableBehaviour functions这里附代码实现方式,需要在Track、Asset和Playable通过三次传递:[TrackClipTy原创 2022-03-03 09:50:59 · 7580 阅读 · 0 评论 -
unity中使用代码调整AnimationClip的面板属性
在unity中,我想要批量修改AnimationClip的属性,发现直接使用AssetDatabase获取到的AnimationClip没有提供该接口。到处找文档也找不到合适的方法。。最后苟且试出来的,居然不叫同一个名字(代码如下,在AnimationClipSettings中,有一堆属性)using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using Unity原创 2021-07-10 11:56:59 · 1357 阅读 · 3 评论 -
金庸群侠传3D重制版
还在开发中!摆了一晚上战斗地图~看上去有点那么感觉了。原创 2021-03-10 01:50:40 · 5397 阅读 · 2 评论 -
赛博朋克+卡通渲染没有任何违和感
最近在稍微研究一下角色的3D制作,亲手尝试从建模到渲染的全流程。在做到给二次元小姐姐(应该是网上下载的战双的角色模型,做的真心很不错)绑头发、裙子等动态骨骼的时候,突然想到如果二次元角色放到赛博朋克里是一个什么样的感觉(赛博朋克2077电脑配置有点低,想回头换显卡再考虑玩),于是在unity的AssetStore下载了一个品质相当不错的赛博朋克场景,再弄了个极乐净土……跑起来居然没有什么违和感,看来二次元“3A”游戏的发展潜力还是相当大的。左侧的MM使用的标准PBR流程,中间和右侧的都是使用卡通原创 2020-12-19 00:00:24 · 624 阅读 · 1 评论 -
2DxFX 1.6修正版,支持UGUI的Image组件
2dxfx应该是目前unity上的最实用的2d shader库了,但它的1.6版本不支持UGUI(1.7已经支持,但我暂时没有找到下载。)稍微改了一下代码,让它可以也支持UGUI的Image!核心思想就是增加一个基类,让所有的effect组件都继承它,然后原来调用GetComponent<Renderer>().material的地方,都改成this.rendererMaterial基类代码usin原创 2016-01-08 18:09:00 · 2222 阅读 · 0 评论 -
unity让shader支持UGUI Mask
shader支持UGUI MASK需要添加Shader "XXXXX"{Properties{...//MASK SUPPORT ADD_StencilComp ("Stencil Comparison", Float) = 8_Stencil ("Stencil ID", Float) = 0_StencilOp ("Stencil Operation", Float) = 0_S原创 2016-01-13 16:24:49 · 8912 阅读 · 2 评论 -
谨以此纪念即将诞生的《江湖X》
结束总是新的开始,从业余时间出于爱好做游戏,到由于大家喜欢不断的出新版本,到水到渠成的进入游戏行业,再到出来独立做自己喜欢的游戏。一步一步的走过来,欣慰的发现,身边的小伙伴越来越多,越来越靠谱,玩家的期待也越来越大。从一开始到现在总是很有乐趣,这才是我喜欢的事物、事情、事业。近日看着游戏逐步定型、完善,在这个游戏即将诞生之前,发一些我们开发过程中的设计、演算手稿,谨以此纪念原创 2016-03-04 00:16:24 · 2408 阅读 · 1 评论 -
写的一个UGUI下Image控件做序列帧动画的小工具
unity2D使用序列帧做动画,一般都用2d SpriteRenderer,它的好处是能够沿用图片原有的大小和锚点。特别是我们使用TexturePacker打图集的时候并且Trim边缘空白的时候,可以直接使用它,而不用在程序中调整它的位置等信息。然而我们如果使用UGUI系统,SpriteRender缺有挺多冲突,特别是当我们组合使用的时候,渲染顺序导致的问题很多。所以我期望有一个基于UGUI的动画解原创 2016-03-14 21:24:38 · 7944 阅读 · 3 评论 -
原创游戏,金庸群侠传X 0.5发布
web单机游戏,无需下载,完全免费,点击即可开始游戏。地址:点击这里开始游戏 “飞雪连天射白鹿,笑书神侠倚碧鸳”。曾几何时,你是否沉浸在武侠世界为您带来的江湖恩怨情仇?曾几何时,你是否幻想过自己是否也能成为一代大侠?曾几何时,你是否也在经典游戏《金庸群侠传》中闯荡过?你是否也挥过令人蛋疼的野球拳?是否挑战过令人振奋的华山论剑?是否血虐过十大善人/十大原创 2014-05-18 14:01:24 · 21034 阅读 · 1 评论 -
ulua整数溢出的BUG
我们在使用unity5.x开发的新游戏《江湖X》中使用ulua做一些业务逻辑。前期为了开发迅速,没有使用wrap,使用的动态反射(所以很慢)。这两天针对性优化,将lua wrap用了起来。发现一个诡异现象:在editor中跑得很正常的逻辑,在IOS真机上整型都溢出了。 具体内容是我们在C#的一个类中记录了攻击扣血(负数),传到LUA中后变成了一个越界整数,结果直接变成给敌方加血了。。还是一个巨大原创 2016-05-14 23:26:05 · 3067 阅读 · 1 评论 -
unity 2D摄像机移动导致FPS骤降的大坑
开发过程中发现 摄像机移动导致了FPS骤降,经过反复确认,最后发现是 screen space的CANVAS打开了pixel perfet选项。导致摄像机跟随移动的时候,FPS大降将其关闭以后,一切正常。查了一下unity manuel,这个选项是用来反锯齿的。在2D的摄像机移动过程中,打开就是一个坑……原创 2015-12-23 10:23:36 · 3927 阅读 · 0 评论 -
unity异步从外部文件加载音频和图片
标准的从Resources和Assetbundle读取这里不做介绍了,主要的应用场景是从互联网http服务器 或者从本地的文件夹读取资源。音频加载逻辑:音频是可以直接读取文件后同步返回一个AudioClip的句柄,然后开始加载,加载到可以播放的时候,即开始播放。方法: WWW www = new WWW(ModManager.ModBaseUrl + p原创 2015-12-18 16:06:05 · 10147 阅读 · 0 评论 -
unity 2D Sprite网格Slice工具
unity提供对2D sprite的切图,目前最新版5.2.2提供三种方式:AutomaticGrid by Cell SizeGrid by Cell Count按道理来说应该满足各种切图了,但若我们的图上存在纯透明的元素,而我们需要按编号来取图,则unity切图时会由于智能略过透明元素,如下图我们希望均匀的将它切成12*12的格子,并且从左上到右下编原创 2015-11-09 19:56:52 · 6490 阅读 · 0 评论 -
unity 新GUI系统阻挡原生collider的方法
场景:1、场景里有小怪,小怪可以响应点击2、有UI界面(如物品栏)显示后,点击事件穿过UI到小怪身上去了(按道理UI界面显示的时候,后面的应该不响应)问题:UI系统如何block住raycast?尝试:1、给UI系统的canvas增加canvas group,将blocks raycasts勾去掉(无效)2、将UI的canvas的Ui scale Mod原创 2015-11-09 20:06:15 · 3565 阅读 · 0 评论 -
unity给LineRenderer添加collider
需求:在使用LineRenderer的时候,需要能够使其能够触发鼠标点击事件。想实现如下图,点击线能够实现向相邻的节点移动:我们的线是使用LineRenderer画的,那么问题来了,给这条线加上一个BoxCollider2D的刚体确实能够触发,但是会导致判定区域过大,当线集中的时候,会出现误判。我们希望有一个更精准的Collider。于是我们给线做一个Capsu原创 2015-09-16 21:13:32 · 6265 阅读 · 1 评论 -
unity sprite packer注意事项
1、图片多的情况下,不想修改图片时卡到爆,请设置edit->editor settings->sprite packer Mode : enabled for builds2、Resources目录下文件默认不打包!Resources目录下文件默认不打包!Resources目录下文件默认不打包!Resources目录下文件默认不打包!3、默认打包最大长款2048原创 2015-07-18 15:44:33 · 5131 阅读 · 1 评论 -
【unity填坑日记】Array[] Contains导致IOS AOT编译错误
使用枚举类型的Array的Contains方法,在IOS真机上报错AOT,经查,Contains方法属于System.Linq,但诸如 string[]、int[]等使用均不会有问题,枚举类型直接就真机调试挂了。。估计是使用了动态代码。修改:不使用Contains,直接使用一个for循环做判断。原创 2015-08-10 11:13:36 · 2314 阅读 · 0 评论 -
【unity填坑日记】unity IOS 32/64兼容编译使用TextAsset导致的问题
使用unity编译IOS,32位下正常,切换成32/64兼容(IL2CPP/universal)的模式下,从assetbundle里读取xml,报错“text node cannot appear in this state”经检查,原代码XmlAssets.LoadAsset (url).ToString() 返回的是XML字符串,而在IL2CPP下,返回的是类型(Tex原创 2015-08-09 11:38:53 · 2355 阅读 · 0 评论 -
【UNITY填坑日记】unity图片资源优化神器dither4444
用过UNITY的朋友们都应该知道,unity为了在运行时提升装载资源的速度,采用了单独的图片压缩方式。而并不是我们平时所接触的JPG、PNP等。简单来说,UNITY资源最后打包出来的图片基本上会大大超出我们原文件大小。简而言之,图片资源大小和以下几点相关图片长宽大小图片是否是2的幂次方图片是否是正方形图片的压缩格式我们以IOS平台为例子,unity提供了 DXT(4位和8位)、16BIT、原创 2016-05-17 02:13:01 · 6578 阅读 · 1 评论 -
【Unity填坑日记】UGUI崩溃巨坑:UI::CanvasRenderer::SyncDirtyElements
在使用UGUI的项目中经常遇到诸如0x0000000140044A66 (Unity) Unity::GameObject::IsActive 0x00000001411B2E73 (Unity) UI::CanvasRenderer::SyncDirtyElements 0x00000001411BFAC9 (Unity) UI::CanvasManager::UpdateDirtyRende原创 2016-06-13 01:07:53 · 10609 阅读 · 4 评论 -
重置3D版《金庸群侠传》,进行中
最近个人叫上了一个内部美术小伙伴在工作之余做一个很有意思的事情,拿《汉家江湖2》的引擎移植经典版《金庸群侠传》通过铁血丹心论坛s大(金庸群侠传c++开源版作者)的帮助,以及参考部分原版金庸的代码、资源结构,我在我们工作室的正在开发的游戏《汉家江湖2》引擎上编写了一个简单的demo,并且能够粗略的跑起来。我也将开发中demo的一些视频发给了河洛的徐昌隆大大,受到超级多鼓励和赞扬。重置这个游戏,也...原创 2019-06-20 18:53:34 · 12681 阅读 · 13 评论 -
如何从0开始开发一个实时联机游戏
这是一篇严肃的联机游戏开发入门介绍,本文所述代码开源,文末可获得地址。关于游戏的实时联机对战,目前是很多游戏开发者研究课题,也延伸出了很多概念,如“状态同步”、“帧同步”,目前很多游戏开发框架也提供了这样的开发一些理念和组件,比如unity的The High Level API等等。本文不希望传授如何用框架、服务端引擎等来搭建一套商业级的框架。而是希望从最基本的网络通信原理开始,一点点的进...原创 2018-07-15 16:02:28 · 19147 阅读 · 5 评论 -
成就达成:AppStore付费榜第一名
新的高度,虽然在预期内但还是有一些兴奋。 作为一个纯靠口碑,不刷榜、不买量、不花一分钱推广的游戏,这个成绩已经比较令人欣慰。 继续加油努力!原创 2017-05-19 00:11:59 · 2667 阅读 · 1 评论 -
从0开始搭建一个战棋游戏的AI(初级教程)
战棋类游戏一直以高策略性著称,其中不乏经典之作如“三国志英杰传”、“三国曹操传”、“炎龙骑士团”、“金庸群侠传”等等。今天,我们就如何一步步从0开始实现一个简单的战棋类游戏AI,概述一下此类游戏AI的设计思路和算法。(什么?AI是啥?——人工智能,通俗来说就是电脑的自动策略。)战棋类游戏的关卡设计思想经典战棋类游戏一般来说AI都比较简单,丰富高可玩性的关卡和极限挑战难度,还是要靠关卡设计来做:比如什原创 2017-04-24 00:01:49 · 20767 阅读 · 4 评论 -
unity安卓在华为设备上无法锁屏的问题解决
我们最新的研发测试版本出现一个问题:在华为的设备上,无法锁屏 。具体表现形式为1、按HOME键,原来有3个安卓虚拟按键,只剩下一个三角形箭头,并且按下没用 2、锁屏后应用自己重新开屏,并且机器反复自动重复“锁屏”-“开屏”的步骤我们确认应用中 1、AndroidManifest.xml中WAKE_LOCK是关闭的 2、Application.runInBackground = false最后排查原创 2017-02-14 15:21:21 · 2907 阅读 · 1 评论 -
《江湖X》开发笔谈 - 谈谈配置表的那些事
大家好,我是汉家松鼠工作室创始人cg,今天我们来借我们开发中的游戏《江湖X》,来工程化的谈一下配置表以及它引申出来的各种概念。(我们本文只讨论游戏开发技术、管理,不讨论具体的游戏内容设计。)江湖X虽然是一款独立游戏,但我们在系统框架级别,希望它是一个能够容纳项目团队扩展乃至未来作为我们所有游戏引擎框架的一个模板。简而言之,我们希望实现一个完整的配置表打包体系,并且融入到我们整个项目,贯穿了开发、测试原创 2016-10-29 23:39:59 · 2758 阅读 · 4 评论 -
lua遍历调用C#泛型List、IEnumberable、Dictionary
在使用lua的时候,我们经常需要调用遍历调用C#中的泛型结构(诸如List、IEnumberable、Dictionary)。 在LUA中最通用的遍历方法是针对table的调用,所以我们可以将C#中的数据结构转换为lua table原创 2015-12-25 15:38:17 · 12459 阅读 · 0 评论 -
《江湖X》开发笔谈——服务器技术架构
作为一个网络游戏,虽然目前游戏内的许多设定我们还在补充,我们抛开江湖X的游戏业务层面的设计,纯介绍一下江湖X的服务器技术框架。先简单介绍一下几个核心技术点:江湖X是一个基于长连接的网络游戏江湖X运维托管依赖于公有云环境,当然,也可以独立部署江湖X支持一部分非核心代码的热更新江湖X的设计目标为同服容纳同时在线数千玩家,容纳百万级玩家信息能做到10秒级的全服/单个账号精确回档再说一下开发基础原创 2016-09-15 13:05:17 · 2638 阅读 · 3 评论 -
unity集成安卓微信支付的坑点
Unity安卓微信支付中遇到的一些坑点总结。原创 2016-09-15 11:41:32 · 10545 阅读 · 3 评论 -
《江湖X》开发那些事 - 2.技术选型
【江湖X】游戏开发技术解析 系列博客原创 2016-08-02 02:51:08 · 2546 阅读 · 2 评论 -
《江湖X》开发那些事 - 1.开篇
【江湖X】游戏开发技术解析 系列博客——开篇原创 2016-08-02 01:25:01 · 2525 阅读 · 1 评论 -
tolua学习资料汇总贴
原文地址点击这里tolua工程地址 https://github.com/topameng/tolua uluaGIT地址 https://github.com/jarjin/uLua视频教程地址 http://pan.baidu.com/s/1gd8fG4N 游戏框架地址 https://github.com/jarjin 游戏案例地址 http://www.ulua.org/showcas转载 2016-06-20 12:55:11 · 7070 阅读 · 0 评论 -
【UNITY填坑日记】UGUI不消耗DRAW CALL的EventTrigger接收器
在UGUI中,所有接收EventTrigger事件的GameObject均需要有graphic组件。比如我们需要做一个不显示的矩形控件框来接收鼠标点击事件,那么有一种丑陋的方法是添加一个image组件,然后将颜色设为透明。但明显这样的做法不符合我们洁癖程序员的风格,而且还会占用额外的DrawCall性能开销。我们需要一种既能够完整的接收事件,又不消耗GC的方法。经实验,以下代码可行。using Un原创 2016-05-17 01:54:08 · 3648 阅读 · 0 评论 -
unity IOS xml序列化真机运行JIT问题
问题描述:unity输出IOS真机调试,XML序列化出错,报错类似如下:ExecutionEngineException: Attempting to JIT compile method 'System.Reflection.MonoProperty:GetterAdapterFrame, int> (System.Reflection.MonoProperty/Getter原创 2015-07-13 16:27:35 · 2664 阅读 · 0 评论 -
手游《白猫计划》系统概括
自己总结的手游《白猫计划》系统概括思维导图原创 2015-04-30 14:55:21 · 1847 阅读 · 1 评论 -
一个基于社交群的破冰游戏设计
很偶然认识了一个做社交应用的朋友,他的问题主要是如何在一个职场圈子的类似微信群里,为大家提供一个破冰的游戏,活跃群气氛。于是我帮他设计了一个社交应用的游戏规则,在此MARK一下。这个游戏规则是我在飞机上偶然想出来的~脉圈破冰游戏“篝火晚会”规则设计场景分析:1、游戏旨在提供“破冰”的手段,希望设计一个规则能让群成员持续参与;2、手机使用的时间是片段式的,游戏原创 2015-04-22 21:33:38 · 6875 阅读 · 0 评论 -
GDE-X 进展 战场框架2
今天实现了战场人物移动动画,玩家选择菜单,人物资源获取,人物攻击动画,多种攻击模式 并且对一些方法进行了重构和封装,使得整体框架更加合理。 上截图原创 2010-04-20 21:02:00 · 1065 阅读 · 0 评论 -
GDE-X 游戏引擎框架草案 及 开发模式
近期准备和朋友们一起开发一款金庸群侠传X的小游戏,使用silverlight技术。准备在开发这款游戏的时候同步开发属于我们自己的silverlight游戏引擎。这次由我主要负责引擎方面的设计和开发。这两天了解了一下silverlight的一些功能,也看了一下深蓝的QXEngine。感觉其比较偏重于界面展示方面,而我觉得我们这个引擎应该是从整体上,包括游戏框架调度、游戏规则等方面原创 2010-04-07 18:54:00 · 1471 阅读 · 0 评论