自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello Captain

3D入门中

  • 博客(10)
  • 资源 (56)
  • 收藏
  • 关注

原创 无聊之作 对 手游十万个为什么(神之刃) 的解包分析笔记 (游戏引擎)

从神之刃开始,对这个游戏的引擎就充满了好奇,要什么样的手法把一个游戏包减少到40M。虽然有些童鞋总喜欢说无非就是压缩资源减少图片大小毫无技术含量这等话,但我们公司是做不到的。十万个为什么手游版的出现,让我想尽自己能力去分析看看。

2015-03-29 17:31:06 3624

原创 GLES 顶点缓冲区对象(VBO)

使用顶点数组时,指定的顶点数据保存在系统内存中,在进行glDrawArrays 或者glDrawElements 的时候,需要把这些顶点数据复制到显卡内存。很麻烦。其实我们想想,直接把顶点数据保存在显卡内存中,这样不是就免去了复制这一步操作。这种方法可以改进渲染性能,而且降低了内存带宽消耗。

2015-03-26 01:05:48 2504

原创 GLES 顶点数组之 结构数组 与 数组结构

在OpenGL ES中指定顶点数据可以使用一个顶点数组对每个顶点指定,例如顶点位置信息 ,也可以将一个常量值用于一个图元的所有顶点,例如图元的颜色。即常量顶点属性和顶点数组。

2015-03-24 23:13:31 2154

原创 Unity3d 人物换装之 一个Shader处理3张图片 减少DrawCall

虽然GameObject数量减少了,但是DrawCall一个都没有减少哦!之前是4个,合并之后仍然是4个。简单的来说呢,就是一个材质球,一个DrawCall。也就是说呢,一个Shader,一个DrawCall。既然知道了一个Shader一个DrawCall,那我们就开始着手去处理,把红、绿、蓝这三张图片,在一个Shader中进行处理,只使用一个材质球,这样就只有1个DrawCall了。

2015-03-24 00:51:55 5237 4

原创 Unity3d 人物换装 之 Mesh 合并 (材质合并)

在Unity中提供了模型动画合并的功能,也就是说我们可以把人物模型的4个部位合并到一个GameObject中。

2015-03-23 20:13:10 9690

原创 C++调用Android函数弹出一个提示框中出现的问题总结

使用C++编写游戏然后在Android上面运行,使用NDK编译过程中难免出现一些问题,在这里把这些问题记录下面。今天解决的是JNIEnv、jobject全局变量的使用!

2015-03-23 19:46:26 2255

原创 Unreal4新建工程导出Android安装包 教程

1、打开UEditor,新建一个空的C++项目,不要附带资源。2、点击菜单编辑-项目配置,切换到Android SDK选项卡,对里面的Android SDK、Android NDK、Java 、Adt版本进行路径配置。特别注意最后的Android NDK Version配置,默认是Android-19,请把它改为latest 。不然如果你电脑上面没有Android-19的NDK,就

2015-03-23 19:45:27 4903

原创 Unity3d 换装 之 模型动画分离

在手游中换装成了越来越不可缺的一个功能,毫无疑问各式各样的时装为游戏增添了不同的色彩。对于2D手游,或许是更换对应的序列帧,也或许是如同3D手游一般,更换模型动画。对于游戏中的人物,一般分为头、上身、下身、武器四大部分就可以了。所以在游戏中,我们把这四部分单独做四个模型动画,然后动态拼接为一个整体,达到换装的效果。

2015-03-23 19:44:14 8708

原创 Unity3d 游戏角色换装

对于2D游戏来说,角色换装就是更换对应人物图片。对于3D游戏,如果一个角色模型是一个整体,那么换装就是更换整个模型或者简单的,更换这个模型对应的Material。如果换装之后人物角色的外形变了,例如各式各样的武器,武器A是短刀,武器B是太刀,武器C是巨剑。那么就需要把模型拆分,例如上面说的更换武器,那么至少要把人物角色模型拆分为 人物模型+武器模型。

2015-03-23 19:43:47 2806

原创 Unity3d 换装 之 模型动画分离

在手游中换装成了越来越不可缺的一个功能,毫无疑问各式各样的时装为游戏增添了不同的色彩。对于2D手游,或许是更换对应的序列帧,也或许是如同3D手游一般,更换模型动画。对于游戏中的人物,一般分为头、上身、下身、武器四大部分就可以了。所以在游戏中,我们把这四部分单独做四个模型动画,然后动态拼接为一个整体,达到换装的效果。

2015-03-01 15:31:53 2130

UGUI 屏幕适配 导致 BoxCollider无效 解决记录

昨天导出安卓包之后,在我的MX2上安装,测试发现 子弹碰到 敌机 毫无反应,敌机碰到我的飞机毫无反应,因为设计时的屏幕尺寸是640x940,而MX2是800x1280。第一反应是屏幕分辨率问题。

2015-06-04

Unity3d调用Lua

前面介绍了在 Unity3d 中通过 Plugin 功能来调用 C++ DLL 中的函数 以及回调的使用方法,但最终目的还是让 Unity3d 中可以调用 Lua 脚本中的函数,现在来实现。 首先关注前面两篇文章: 1、Unity3d 调用C++ DLL (Win平台) 2、Unity3d 调用 C++ DLL之 DLL回调Unity3d (C++ DLL回调 C#函数)

2015-05-16

在Unity3d中使用C++ DLL

在Unity3d中使用C++ DLL

2015-05-14

扩展Unity3d 组件方法,简化API使用 - C#特性之 Extension Method

我们知道,Unity使用的是 Mono ,而Mono 是C# 的一套开源的实现,C#中的大部分特性在Mono中都已经被实现了。包括 C# 的Extension Method 。

2015-05-10

Unity3d 导入图片 自动修改Texture Type

Unity3d 的新版 UI 系统在给我们带来很大便利的同时,也添加了一些小麻烦。每次从电脑中导入图片到 Unity3d 中都需要手动设置Texture Type为Sprite (2D and UI) 及设置 Packing Tag。对于需要打包为一个图集的图片,我们一般把它们放到一个文件夹中。 基于以上,我们可以让图片的 Packing Tag 自动设置为 文件夹的名字。

2015-05-07

Unity3d游戏安装包 极限减少之 四分图、二分图 (NGUI向)

在这个酒香也怕巷子深,游戏不打广告不买用户不刷榜就会死的时代。每个游戏代理都想让CP提供的安装包越小越好,能99M绝对不要100M。但是游戏开发商们在一遍一遍踢出无用的资源,一点一点得把游戏包扣小,发现大小还是减不下来,该怎么办,这时只有拿美术资源开刀了。

2015-04-14

Unity3d 性能优化 OnBecameVisible/OnBecameInvisible

Unity3d 性能优化 OnBecameVisible/OnBecameInvisible

2015-04-13

用C++来实现类Unity3d的AddComponent

用C++来实现类Unity3d的AddComponent 如何使用类名来创建类实例。

2015-04-11

Ogre3d 之使用 Android NativeActivity

昨天把Ogre3d 编译到Android 平台安装之后,再回头看代码才发现,在Android工程中居然没有Java源文件,从Manifest文件中才知道原来使用的是 NativeActivity 。这一下让我犯糊涂,没有Java文件,没有Activity,那我要接入广告或者其它的一些SDK该怎么做呢?如果我要从一个Activity再跳入游戏界面那该怎么做呢?

2015-03-28

jom 多线程执行nmake的工具

jom 多线程执行nmake的工具,直接输入jom就可以执行了

2015-03-27

Unity3d 人物换装之 一个Shader处理3张图片 减少DrawCall

我通过一个例子,将三个带有不同颜色 RGB的立方体,合并Mesh和材质到Character这一个GameObject中。这样原本对3个GameObject的操作只需要对Character这一个GameObject进行操作就好了。但是我们的任务还没有完成。

2015-03-24

Unity3d 人物换装 之 Mesh 合并 (材质合并)

中介绍了如何把人物身体部分动画组合起来让人物模型动起来,但是在UnityEditor中可以看到,模型的4个部分是以4个GameObject的形式独立存在的

2015-03-23

Unity64 AStarPath 寻路失效 Bug解决 IOS64 IL2CPP - Bad date/time format in the zip file

把游戏项目迁移到IOS64 上面又出现了自动寻路无效的BUG,在XCode Console中有提示AStarpath异常

2015-03-07

Unity3d 调用 C++ 函数 实现加密防破解 (Android向)

因为Unity 采用C# 作为主要语言,代码编译之后作为DLL存在与执行文件中,这就给我们带来很大的一个问题,反编译非常容易。

2015-02-07

图片打包加密小工具

图片打包加密小工具 可以用来打包加密文件 支持多文件夹

2015-01-24

Unity3d Sqlite数据库

Unity3d Sqlite数据库 sqlite的DLL文件,在Unity安装目录可以找到。

2014-10-09

LitJson C#

LitJson 文章地址 http://blog.csdn.net/huutu/article/details/24298349

2014-04-22

OpenGL 画直线 WIN7 VS2012

OpenGL 画直线 WIN7 VS2012

2013-10-10

OpenGL VS2012环境搭建以及第一个OpenGL例子(WIN7 64位系统)

OpenGL VS2012环境搭建以及第一个OpenGL例子(WIN7 64位系统)

2013-10-10

Android游戏设计之-------游戏音效的播放 SoundPool

Android游戏设计之-------游戏音效的播放 SoundPool

2013-09-26

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(二)

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(二)

2021-01-19

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(一)

OpenGL ES 学习教程(十七) Unity GPU Instance 原理及 GLES 实现(一)

2021-01-16

使用Docker简化运维工作 星辉畅娱技术分享.pdf

用Docker简化运维工作 是星辉畅娱的技术分享。内容由我收集网上文章以及个人开发经验组成。用Docker简化运维工作 是星辉畅娱的技术分享。内容由我收集网上文章以及个人开发经验组成。

2019-05-20

一键生成Android/Android-HD/IOS 多尺寸ICON

一键生成Android/Android-HD/IOS 多尺寸ICON

2017-06-17

Lua 单例的实现

Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。程序猿说要有单例然后有了单例 这里用 Person 和 Student 来作为例子。有少许解释在代码中。

2015-11-04

Lua 类的继承与override

Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。

2015-11-04

Lua 类的继承与函数override

Lua中没有类的概念,但是程序猿说要面向对象,然后就有类。程序猿说要继承 和override,然后就有了继承 和 override 。

2015-11-04

Lua 中实现类

Lua中是没有类的概念的,但是程序猿说要面向对象,所以就有了。

2015-11-03

C++ 中调用 Lua 函数

在 C++中调用 lua 中的函数并处理返回值

2015-11-03

tolua++ 编译 及使用 简单介绍

tolua++ 编译 及使用 简单介绍 tolua++ 是用来把 C++代码 生成 在Lua中使用的接口的工具,编译步骤比较繁琐。

2015-11-03

使用Qt(mingw)编译FreeType为 .a 静态库

选择Qt来做工具的UI,但是因为安装的是mingw版本的Qt,之前在VS中使用的lib静态库这一下就派不上用场了,网上搜索到可以用工具把 lib 文件转换成 .a 文件,但是自己尝试后没有生成成功,加之这种转换也有各种局限性,所以还是把 FreeType的源代码下过来,用Qt新建一个Lib工程来编译。

2015-08-26

Unity3d 在Inspector 中 设置添加回调函数

在做一些开场动画或者其它指定事件触发 一类功能时,需要在编辑环境下设置添加回调函数。 一开始尝试直接使用delegate 来编写,测试发现没有效果,在谷歌搜索到Unity论坛有人提到 delegate 不能被序列化到Inspector 中使用,建议使用 UnityEvent 。

2015-07-16

C#中使用Obsolete标志代码过期

C#中使用Obsolete标志代码过期

2015-07-10

TexturePacker UGUI Importer

TexturePacker UGUI Importer TexturePacker官方的图片导入处理插件

2015-06-23

LZMA C# SDK 结合 UPK打包 多文件夹 Unity3d实例

LZMA C# SDK 结合 UPK打包 多文件夹 Unity3d实例

2015-06-22

LZMA C# SDK 子线程压缩与解压缩 Unity3d实例

计划在项目中使用 不压缩的Assetbundle ,所以需要对Assetbundle 进行手动压缩打包,因为之前有对 十万个冷笑话的打包分析,所以这次坚定选择 LZMA压缩算法来压缩Assetbundle。

2015-06-22

Mono2.0 对C#闭包 与 donet 不同的实现导致Unity的Bug 及解决方案

Mono2.0 对C#闭包 与 donet 不同的实现导致Unity的Bug 及解决方案

2015-06-20

Unity5 Assetbundle简单使用 及 打包Material文件超大的问题

简单的来说,Unity5中新添加的 AB 打包,和我们平时使用的方式一样,原理就是 为每个文件创建一个依赖文件,然后汇总到一个总的依赖文件中,在游戏最开始运行的时候需要加载这个 总的依赖文件,然后加载 Assetbundle的时候,从中获取到依赖关系来加载依赖。

2015-06-13

UGUI 实现Button长按效果(RepeatButton)

在商店中购买、在背包中出售、使用一种物品的情况下,需要对按钮进行长按处理,来快速增加或减少 物品个数。在Unity的 GUI中有一个RepeatButton可以用,在NGUI中有OnPressed 回调可以使用,但是在 UGUI 中的 Button 并没有这种功能,就需要自己添加。

2015-06-10

慎用Outline ,UGUI Outline实现原理分析

使用 UGUI 制作背包的时候,同事发现如果背包中添加了大量的物品,比如两百个,Unity就会出错,提示 Canvas element contains more than 65535 vertices. This is not supported 。意思就是 Canvas下面的顶点数过多。

2015-06-06

空空如也

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

TA关注的人

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