Unity开发之工具—导表(Excel)的制作分析

在项目开发中,需要开发周边的工具以提高效率,比如关卡编辑工具(方便新增关卡),技能配置工具(方便调整数值),导表工具(方便处理策划和程序中的配置数据),下面就说一下最简单的导表工具制作。

在开发过程中,项目需求是由策划提供的,他们擅长使用的工具多数是Excel。如何整理、变更和方便策划调整数值以及程序使用,都是需要预先考虑好的。

一、处理游戏中众多的数据,同样使用面向对象的方式,以关系型数据为基础来创建表及表之间的关系。

比如:关卡表

怪物表
关卡和怪物是一对多的关系,为了减少表的数量,也便于维护,可以在同一条记录中记录多个怪物,同时为了设置在战斗场景中的尺寸,使用分[……]

Read more

Unity开发之网络—集成Protobuf

  1. 下载protobuf 源码 mgravell/protobuf-net
  2. 复制protobuf-net-master\src\protobuf-net 目录到Assert下的任意目录
  3. Assert目录下创建smcs.rsp和gmcs.rsp 文件内容都是:-unsafe (可用文本文件创建然后改名,后缀为rsp)
  4. 打开protobuf-net-master\src下的protobuf-net.sln 编译生成ProtoGen 可执行文件(使用2015打开报错,可将protobuf-net-master\assorted\ProtoGen复制替换protobuf-net-[……]

Read more

Unity开发之Shader—AR涂涂乐项目实战

Unity3D Shader示例之—AR涂涂乐实现原理

Unity3D Shader示例之—AR涂涂乐实现方法

最近一段时间忙于项目,日志好久没有更新了,现在挤点时间来一发!

曾经对AR涂涂乐的原理进行了分析(详见开头链接),但和实际项目还有一些差距。

  • 主角显示在屏幕中间
  • 脱卡
  • 模型接受光照

下面分别解决这些问题!

要实现追踪目标显示的屏幕中间很简单,一句话搞定:

如何实现脱卡呢,需要解决两个问题,第一个是离开识别卡,追踪目标不消失,第二个是成功完成一次着色后,不再着色,否[……]

Read more

OpenGL ES学习实践—Shader实现不显示图片4个角

前一段时间遇到一个问题,如果在程序中不改变图片的情况下,把图片4个角去掉。在看到这个题目的时候,想到通过UV坐标可以实现,但具体的细节不甚明白。如下图

如何过滤斜线覆盖的坐标呢?

这个问题就要用数学来解决了:假设截取的长度为e,因UV坐标的范围是[0,1],图中标出边界点的坐标,可通过直线公式分别解出各条直线。

因在window上测试,UV坐标的原点在左上角。求出的各条直接为:
左上:y = -x + e
右上:y = x + e – 1
左下:y = x + 1-e
右下:y = -x + 2-e

根据直线公式分得出落在斜线部分点的条件为:
左上:y[……]

Read more

OpenGL ES学习之四—你好三角形(顶点缓冲区对象)

加载顶点属性的方式二:顶点缓冲区对象(VBO)

使用缓冲区对象,减少客户内存和图像内存之间数据的复制,提高性能(CPU到GPU数据复制)

预定义宏

用户数据结构

初始化

绘制函数

不使用缓冲区绘制

使用缓冲区绘制
[crayon-5d0[……]

Read more

OpenGL ES学习之三—你好三角形(顶点属性数组)

加载顶点属性的方式一:顶点属性数组

结合绘制三角形的实例,介绍使用定义顶点属性及其赋值的方法。

初始化,获得程序对象

绘制函数

使用常量指定顶点属性

初始化

绘制函数

不知道为什么三个顶点的颜色不一样…

工程源码:CocosShader

OpenGL ES学习之二—着色器与程序

主要代码来自《OpenGL.ES.3.0.Programming.Guide.2nd.Edition》

在原书代码基础上,加入到Cocos的工程。具体的使用及API介绍会在代码详细描述,原理及流程前面已经有所说明,不再赘述!

函数声明:

函数定义:

获取程序对象

查询统一变量

 

工程源码:[……]

Read more

OpenGL ES学习之一—重装上阵(Reloaded)

Cocos OpenGL/ES学习之一—你好,三角形(1)概览

Cocos OpenGL/ES学习之一—你好,三角形(2)着色器GLSL

Cocos OpenGL/ES学习之一—你好,三角形(3)OpenGL ES 着色器与程序

上面是以前写的使用Cocos学习OpenGL ES日志,想法是很好的,理论结合实际,认识才能更深刻。但OpenGL 毕竟不是那么容易熟练掌握的,导致顾此失彼,进展缓慢。所以这个方法不是很好。

现在准备还是先从OpenGL ES API入手,对于Cocos的封装,暂时不去研究了,现在重新开始,希望进展顺利!

注意:示例从原书中来,部分S[……]

Read more

Unity 开发之—问题汇总

  • 无法识别:参照官方提供的示例Vuforia-3-ImageTargets,实现自定义的Target时确保下面选项勾选:

如果不选中,是无法成功识别的!

  • Vuforia导出为iOS工程运行报错
    错误信息为:

问题原因:项目工程导出环境为Windows 10
解决办法:将项目在Mac OS X下导出不再报错

  • 打包安装APK,报错:Failure to initialize! Your hardware does not support this application, sorry![……]

Read more