
游戏开发
文章平均质量分 74
kakashi8841
爱好编程,喜欢游戏。游戏全栈开发。
展开
-
Unity-IOC
1. 在开发中为何要使用`IoC`2. 如何从0开始实现一个精简的`IoC`3. 使用`IoC`前后代码带来怎样的变化原创 2022-05-15 02:06:30 · 2869 阅读 · 2 评论 -
和你关系不好的U3D主程不愿意被你知道的性能优化知识
这周20:00会在优快云做一个关于Unity3D性能优化的分享。主要介绍一本系统讲解在Unity3D中进行性能优化的书,并且以现实项目为例,讲解如何利用本书进行性能优化。原创 2020-06-04 22:16:21 · 1000 阅读 · 1 评论 -
迟来的2015年终总结
2015过去已经有二十多天了,今天才决定写这篇年终总结,因为我觉得今天才能给我的2015画上比较完美的句号。一、回忆 2015是我奋斗的一年,是充实的一年。在经历了1年多的创业,终于在8月份宣布终止创业。 虽然公司解散时我没有说什么,但我的心情是不舍和复杂的。多少个昼夜的加班加点却也没有做成一个成功的产品。只有当你付诸心血才能感受那种切肤之痛。 但是可贵的是我收获了一些兄弟,能信任,在最艰难的时候原创 2016-01-21 01:45:20 · 6663 阅读 · 8 评论 -
[Shader]NGUI与灰化
1、灰化的需求很多時候,我们做游戏会遇到一种情况。比如一个技能图标,可以点的时候是正常的颜色,不能点的时候是灰色的。又比如一个功能,开放的时候是正常颜色,没开放的时候是灰色的。更常见的就是,比如你的QQ好友,不在线头像也会变成灰色的。那么,上述种种情况就出现了一种需求,把一个图片变成灰色的。2、说说灰化与灰度首先,你不能说让美术出两套图,一套彩色一套灰色的吧。这样会增加资源占用。那么我们只能想办法原创 2015-05-04 12:05:20 · 10856 阅读 · 3 评论 -
[Shader]NGUI与粒子系统
版权所有,转载须注明出处!喜欢火影、喜欢Java、喜欢unity3D、喜欢游戏开发的都可以加入木叶村Q群:3790762271、前言在很久很久以前,流传着在NGUI中使用unity3D自带粒子系统的方法。有一种称为RenderQ,另一种称为Render Texture。然而,或许是随着历史的原因,有些已经逐渐被人们淡忘。使用方法随着应用的条件不同或残缺不全,或效果错误。我,不相信命运,踏上了找寻遗原创 2015-04-07 22:14:40 · 10903 阅读 · 1 评论 -
[实用工具]Unity调用外部EXE或Shell命令
版权所有,转载须注明出处!喜欢火影、喜欢Java、喜欢unity3D、喜欢游戏开发的都可以加入木叶村Q群:3790762271、开门见山的需求有的时候,我们想把一些外部命令集成到unity中,比如,你想通过点击Unity中的一个按钮,就更新SVN(假设该项目是受SVN管理的)。那么,就涉及到一个Unity调用外部可执行文件、bat/shell等。这个需求是挺常见的,也是不难实现的。2、简单明了的实原创 2015-04-11 19:49:56 · 19602 阅读 · 2 评论 -
Unity游戏开发——C#特性Attribute与自动化
这篇文章主要讲一下C#里面Attribute的使用方法及其可能的应用场景。比如你把玩家的血量、攻击、防御等属性写到枚举里面。然后界面可能有很多地方要根据这个枚举获取属性的描述文本。比如你做网络框架的时候,一个协议号对应一个类的处理或者一个方法。比如你做ORM,一个类的属性是否映射持久化文件中的属性,映射过去的属性名是什么。1、什么是Attribute如果用过Java的Annotation的同学,可原创 2014-12-12 14:40:05 · 16234 阅读 · 2 评论 -
设计一个字节数组缓存类
版权所有,转载须注明出处!1、为什么要在做网络通信的时候,经常需要用到:读:就是我们需要从网络流里面读取字节数据,并且由于分包的原因,我们需要自己缓存这些数据,而不是读完立刻丢掉。写:我们需要把各种类型的数据变成字节写入。比如把int、string、short等变成字节数组写入流。2、需要什么我们需要设计一个类来实现:支持可以不停地往这个类中添加字节支持写入int、string、short等基础数原创 2014-12-19 11:31:41 · 6304 阅读 · 0 评论 -
在Unity中定义统一的对象搜索接口
我们经常要在Unity中以各种方式搜索对象。比如按名字搜索、按tag、layer或者是查找名字为xxx开头的对象。本文是介绍以一种统一的接口来搜索对象。1、定义统一的搜索接口 /// /// 游戏对象搜索接口 /// public interface IGameObjectFinder { /// /// 搜索原创 2014-12-03 22:20:39 · 11378 阅读 · 8 评论 -
让Mac启动的时候自动启动mysql
之前安装mysql的时候,安装器自动添加了系统服务,启动系统的时候会自动启动mysql。不过今天升级Mac OSX到10.10.1 Yosemite之后,发现启动系统的时候mysql没启动了。那就试一下用mac的launchctl来实现这个功能吧。方法也简单。1、编辑一个mysql启动文件。在终端里面输入:sudo vi /Library/LaunchDaemons/com.mysql.mysql原创 2014-11-29 17:32:40 · 19340 阅读 · 1 评论 -
在Unity3D中实现高效的战斗飘字
这周有网友提到用NGUI做战斗冒血,冒伤害等文字性能太差。确实如此,我之前(NGUI 3.8.2,1000块的Android机器上)在Profile中也发现UIPanel占用CPU奇高。因此最终自己在战斗飘文字这一块没有使用NGUI,而是自己创建Mesh来处理。优化前后在手机上每秒大概增加了10帧。先看一下效果。可以看到DrawCall和NGUI一样都为1。这个 MeshText 就是我自己写的H原创 2016-01-27 19:18:28 · 19751 阅读 · 1 评论 -
我翻译的Unity3D书籍出版啦(编程向)
我翻译的Unity3D书籍终于出版啦。特点:1、针对Unity52、如何使用Unity3D编辑器只是简略带过3、重点讲如何在Unity3D中编写质量更高的代码4、以游戏实例引导你开发游戏5、各种图片、音频资源格式的特点和针对平台的一些优化与选择书的目录可以在亚马逊看到。点击这里。下面放出封面。大家看完有啥问题的都可以在这里或者发邮件到john.cha@qq.com与我交流哦。原创 2016-06-22 17:02:24 · 43426 阅读 · 31 评论 -
我做游戏开发这八年
我做游戏开发这八年简述与编程擦肩而过从图像设计到痴迷编程入门编程沉迷编程Java的图形编程就职游戏开发2011,第一次面试&实习生第一个游戏2012年,第二个重量级IP游戏2013年,转战手游与创业2014-2015,第一次创业2015,西山居和多益网络2016-2018,第二次创业2018至今,360游戏艺术(岂凡网络)技术总监简述这篇文章并不是想教会大家如何开发游戏,更不能教大家如...原创 2019-08-25 19:11:08 · 59580 阅读 · 260 评论 -
《Unity5实战》一书的勘误
本文主要用于做《Unity 5实战》一书第一版的勘误收集。大家有发现问题可以通过以下方式联系我:1、在本博文回复中说明。我会不定期上来修正问题。2、发邮件到john.cha@qq.com3、加入群552599149谢谢支持与理解。1、第五章代码清单5.7中的ShuffleArray方法:书中错误代码:private int[] ShuffleArray(int[] numbers) { int原创 2016-08-09 14:29:51 · 4563 阅读 · 2 评论 -
VR预览
VR预览Unity VR使得开发者能直接从Unity中以VR设备为发布目标,而不需要在项目中使用任何额外的插件。它提供了兼容多种设备的基础API和特性集。它已经被设计于对外来设备和软件提供向前兼容性。VR API表面上进行了很小的设计,但它将会随着VR的发展而增强。 通过使用Unity中原生的VR支持,你可以获得:对每个VR设备的稳定版本使用单一的API接口和不同的VR设备交互不需要针对每种设翻译 2016-11-03 21:22:35 · 3901 阅读 · 0 评论 -
Unity3D VR(Virtual Reality, 虚拟现实)
VR(虚拟现实)是一个快速发展的领域。这部分描述如何设置以及在Unity中使用虚拟现实硬件。Unity当前对Oculus,OpenVR,PlayStation VR和Gear VR提供了原生支持。相关向导:虚拟现实搜索Unity Knowledge Base以获取更多关于虚拟现实的提示,技巧和问题方法。目录VR预览VR参考VR设备VR音频声场定位技术翻译 2016-10-31 21:09:46 · 5544 阅读 · 0 评论 -
第一章-宝箱抽奖模块与代码设计(一)
宝箱抽奖模块与代码设计(一)宝箱抽奖模块与代码设计一无聊的开场白每篇文章的背后都有个高大上的故事怎样的代码才算是好的代码简单的需求简单的代码Java实现一些基本的类玩家类抽奖服务类先大致确定抽奖方法lottery的逻辑确定后的LotteryService代码如下扣除资源方法tryCostResource应该怎么实现dropItem与大转盘优化资源处理下班前的悬念无聊的开场原创 2016-08-24 14:53:31 · 16184 阅读 · 7 评论 -
第二章-宝箱抽奖模块与代码设计(二)
宝箱抽奖模块与代码设计(二)作者 卡卡 博客 http://blog.youkuaiyun.com/kakashi8841 邮箱 john.cha@qq.com上集回顾* 由于本文章关联性较强,因此建议先阅读前一篇文章http://blog.youkuaiyun.com/kakashi8841/article/details/52300476 * 在我们快下班的时候,策划留下了两个问题,然后挥挥手自己就下班了。 1原创 2016-08-31 00:40:07 · 4965 阅读 · 3 评论 -
第三章-宝箱抽奖模块与代码设计(三)
宝箱抽奖模块与代码设计(三)作者 卡卡 博客 http://blog.youkuaiyun.com/kakashi8841 邮箱 john.cha@qq.com上集回顾* 由于本文章关联性较强,因此建议先阅读前一篇文章http://blog.youkuaiyun.com/kakashi8841/article/details/52374714 * 上集我们完成了代码后,虽然心中还想着优化代码,但是最终还是按捺不住诱惑原创 2016-09-06 01:49:53 · 4281 阅读 · 0 评论 -
游戏与代码设计(Java)目录
宝箱抽奖专题 第一章-宝箱抽奖模块与代码设计(一) 第二章-宝箱抽奖模块与代码设计(二) 第三章-宝箱抽奖模块与代码设计(三) 项目git地址 https://github.com/johncha/CodeDesign-1 如果你对本文有什么建议或意见,可以发邮件到john.cha@qq.com或到blog.youkuaiyun.com/kakashi8841中留言。原创 2016-09-06 02:01:14 · 2968 阅读 · 1 评论 -
手游开发攻防——二、基础篇(更新完)
通过一个官方demo来分析Unity项目中的一些知识点和应用。原创 2014-09-21 16:51:30 · 20322 阅读 · 11 评论 -
手游开发攻防——二、基础篇
《手游开发攻防——二、基础篇》已经更新完。主要是通过一个官方的DEMO,来分析Unity3D开发中的一些知识点和应用、注意的事项。大家可以去看看。有什么的可以提出来交流。http://blog.youkuaiyun.com/kakashi8841/article/details/39451739原创 2014-11-09 01:09:02 · 6148 阅读 · 0 评论 -
Uni2D 入门 -- Asset Table
Uni2D资源表格(Asset Table)与资源自动更新翻译 2013-12-31 23:05:13 · 5485 阅读 · 0 评论 -
Uni2D 入门 -- Skeletal Animation
Uni2D V2.0 引进了一个新的skinning 特性:由于内置骨骼动画编辑器你现在能增加骨头到你的sprite并立刻让他们动画。为了这样做,你的sprite只需要几步设置,通过posing 模式就可以达成翻译 2013-12-30 22:52:00 · 11660 阅读 · 0 评论 -
Uni2D 入门 -- Animation Clip 和 Animation API
一个animation clip是可重用的帧集合,它以给定的帧率显示sprite。每一帧包含的texture和可选事件。Uni2D除了提供可视化来处理精灵动画,还提供了强大的API使得控制和监听动画。具体看看...翻译 2013-12-27 16:58:50 · 19408 阅读 · 0 评论 -
Java如何中断Http请求线程
今天刚好有位同事问我,用Java请求Http的时候,有时候不希望阻塞太长时间,想做个监视然后可以中断请求的。他的请求是放在独立线程中的,那么怎样中断一个请求?我们先看看Thread的interrupt方法,能否做到这一点:关于中的安全检查机制这里就不讨论了。我们只看interrupt能做什么。首先分几种情况:1、线程被wait、join、sleep等方法阻塞时,in原创 2013-12-10 14:41:13 · 10142 阅读 · 1 评论 -
swing超绚丽系列一—— 俄罗斯方块[源码+可运行jar]
swing超绚丽系列一—— 俄罗斯方块[源码+可运行jar]1、消行使用了自己写的一个简单粒子效果。2、很多外发光文字是已经封装好了一个工具类,可以直接使用。3、固定方块和背景的渐变色是纯代码产生的效果。4、右边带缓动的积分槽5、没做等级和难度,大家有兴趣自己稍微改下代码就OK啦6、代码有点乱。GamePanel是主要的俄罗斯逻辑,ScorePanel是右边的积分面原创 2012-03-10 01:49:26 · 22706 阅读 · 21 评论 -
Java多线程-1
多线程能利用现代CPU的多核心特性,提高程序的性能,尤其在游戏开发中使用更为广泛。在Java中提供了各种工具类,关键字来实现多线程的。多线程中最难的莫过于线程同步和线程协作,怎样实现同步?下面本人提出自己解决多线程的一些观点:比如有个boss,多个玩家可以打他,这时候需要对boss进行同步。案例代码1(synchnorized加锁):synchnorized原创 2012-02-04 11:17:30 · 2138 阅读 · 0 评论 -
纯Java开发的游戏引擎V0.5--DEMO2 -- 物理引擎
项目命名: JPhysicalEngine项目目的: 自己爱好/毕业设计项目人员: http://blog.youkuaiyun.com/kakashi8841运行机器: Intel P8600 2.4GHz、2G内存、Intel GMA X4500 HD 开发环境: Linux UBuntu 10.10开发语言: Java开发工具: Eclipse项目描述: 使用Java开发的2D游戏物理引擎,可以使得以后开发类似愤怒的小鸟、雷电等物理、碰撞、动作类游戏可以更快速、更方便。项目进度: 【已实现】原创 2011-05-05 15:44:00 · 20555 阅读 · 34 评论 -
纯Java开发的游戏引擎V0.4--DEMO2 -- 物理引擎
<br />项目命名: JPhysicalEngine<br />项目目的: 自己爱好/毕业设计<br />项目人员: http://blog.youkuaiyun.com/kakashi8841<br />运行机器: Intel P8600 2.4GHz、2G内存、Intel GMA X4500 HD <br />开发环境: Linux UBuntu 10.10<br />开发语言: Java<br />开发工具: Eclipse<br />项目描述: 使用Java开发的2D游戏物理引擎,可以使得以后开发类似愤怒的小原创 2011-04-24 11:49:00 · 4477 阅读 · 3 评论 -
Uni2D —— 入门(全)
Uni2D 入门Uni2D 入门 -- AtlasUni2D 入门 -- Animation Clip 和 Animation APIUni2D 入门 -- Skeletal AnimationUni2D 入门 -- Asset Table原创 2014-01-02 18:20:23 · 7287 阅读 · 1 评论 -
第一次参加投融资峰会获奖
第一次,也是唯一一次参加投融资峰会就获奖。说明了我们产品还是不错的!继续努力~!相关链接各大网站都有报道,这里给出一个 http://tech.sina.com.cn/roll/2013-12-05/14308978843.shtml原创 2014-01-05 02:32:10 · 6362 阅读 · 9 评论 -
2013总结——告别页游,迎接手游
一、告别页游,回忆往事 2013,在动网先锋完成了我主导的第一个ARPG页游《西游降魔篇》(没错,正如名字一样,这个页游是和星爷合作授权开发的,可惜运营表现...)的开发并上线之后,由于某些原因,我提出了离职。离职的原因很多,或许是看到别人创业,勾起我一直想创业的野心。或许是对现状的不满...... 感谢领导一直以来对我的栽培。谢谢:陈礼国、张洁、郑荣金。我从毕业入职以来,一直原创 2014-01-03 14:56:53 · 14718 阅读 · 58 评论 -
手游开发攻防——一、游戏引擎的选择
现在手游火的一塌糊涂,引擎也是层出不穷除了引领3D市场的Unity3D,独霸2D市场的Cocos2D-X之外,还有虚幻、Sphinx等,甚至搜狐也开发了国产的Genesis-3D引擎。其它的不多少,这里主要就对比Unity3D和Cocos2D-X,帮助大家选择。如果你想开发一个2D游戏,有着C++/C/LUA之一的基础,那么Cocos2D-X也许比较适合你。他本身就为2D游戏设计,原创 2014-09-14 20:26:14 · 9222 阅读 · 3 评论 -
记录一次帮策划写的基于VBA的数据转化工具
由于策划计算的表格结构和程序实际使用的数据表结构不一定一致,因此有时候经常需要做数据转化。把策划自己的表格转成程序需要的格式,然后再导入数据库。这次也是策划有个表,里面有多个字段分别表示多个属性,但是程序考虑到通用,不想一个属性增加一个字段,因此想用一个字段,然后采用JSON格式来表示所有属性。因此,帮策划写了个VBA实现多个字段合并成JSON的。这个VBA可以通过Ctrl表格来配置:源表原创 2014-07-27 20:37:27 · 4695 阅读 · 0 评论 -
Unity3D客户端和Java服务端使用Protobuf
Unity3D和Java通信,如何在客户端Unity3D中使用Protobuf,并使得发布在IOS后正常工作?如何在服务端Java中使用Protobuf?如何使得Protobuf的前后端一键生成?原创 2013-12-16 16:59:06 · 33647 阅读 · 22 评论 -
Unity3D中UI图片模糊,不清晰解决怎么解决
很久没写博文,今天刚好有同事问到:NGUI为什么做的界面图片那么模糊,比美术给的图片相比不是很清晰。其实这个问题解决方法很简单,只要把NGUI生成的图集的图片类型改成“GUI”或者“Advance”(去掉generate mip maps),而且Filter Mode都选择(Point)。这样即可。原创 2014-06-30 20:03:37 · 43647 阅读 · 3 评论 -
2014 破旧立新,重新启程
一、祭奠从2013年秋出来创业,一直比较坎坷。先发几张图片祭奠我们逝去的项目:这个手游项目是我们第一个U3D项目,大概做了4个月。几经波折,终于在今年4月底找到投资。那为啥还祭奠呢,后面会说到。接下来说说我们的曲折。二、变数有个主美却离开去网易了。那时候我感触很深。大家经历了半年没工资,自己垫钱生活,每天加班,赶项目。到了最后拉到投资,能开始拓展人员,能给自原创 2014-06-08 14:42:35 · 15387 阅读 · 21 评论 -
递归删除所有SVN文件
@echo offSETLOCAL ENABLEDELAYEDEXPANSIONset delPath=D:\PathWantToDeleteset suffix=.svnfor /f %%i in ('dir /s /b /A:H %delPath%') do ( if "%%~xi" == "%suffix%" ( del "%%i\*" /q /a rd "%%原创 2014-04-13 17:32:40 · 2480 阅读 · 0 评论 -
Uni2D 入门 -- Atlas
我为什么应该使用Texture Atlas?使用Atlas是一个普遍的好做法,而且它有很多好处。当有某些需要在屏幕渲染的时候,它背后带来的是draw call。由于不同的原因(例如渲染状态改变),一个draw call是一个很慢的操作,因此我们需要保持较低的draw call来保证较高的帧率。在移动设备上,接近30-40个draw call就开始变得危险了翻译 2013-12-27 01:37:26 · 8995 阅读 · 1 评论