• 熊拖泥的专栏「独立游戏开发群英会:姚姚丸」

    代表作: 《最终幻想13》、《最终幻想纷争012》、《零式》、《王国之心 3D》、《最终幻想15》、《最终幻想13雷霆回归》。

  • 虚拟现实教程汇总

    如果你希望在Oculus Rift DK2、Gear VR和Cardboard上开发内容,那么你一定会喜欢这个系列教程的!查看详情

  • Spine新手入门教程

    Spine 是一款针对游戏的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。

  • Quick-Cocos2d-x初学者教程汇总

    Quick(Quick-Coco2d-x)是 Cocos2d-lua 的一个豪华增强和扩展版本,它重写了支持代码、解决了内存泄露和只能使用全局函数做回调等等问题。Quick 能让开发者使用 Lua 这种简单易懂的脚本语言来编写游戏,并大大提高了开发效率。

  • 玄学之夜

    在散发着铜臭味的商业游戏环境里,还能有一群人如此纯粹的去探讨和分析游戏,夸张点说似乎与大环境有些格格不入,故而感觉很玄,后来闲谈的录音放在网上,俗称“玄学之夜”。去看看

『玄学之夜』强档节目,每周六晚9:00定期开聊游戏圈轶事,『雅文』和业内大神探讨分析纯粹的游戏。参与群语音请加群:8198073,录播合集猛戳 这里。

子龙山人带你学习OpenGL ES 2.0 :纹理贴图

大家好,我是子龙山人。我现在在厦门 Cocos2D-X 团队做游戏引擎开发。

我是一个技术 Geek,我喜欢研究好玩的技术,同时我也是一个 Emacs 党。

欢迎大家一起交流。

我的个人主页:http://zilongshanren.com/


在上一篇文章中,我们介绍了如何绘制一个立方体,里面涉及的知识点有VBO(Vertex Buffer Object)、IBO(Index Buffer Object)和MVP(Modile-View-Projection)变换。

本文将在教程4的基础之上,添加纹理贴图支持。最后,本文会把纹理贴图扩展至3D立方体上面。

基本方法

当我们把一张图片加载到内存里面之后,它是不能直接被GPU绘制出来的,纹理贴图过程如下:

首先,我们为之前的顶点添加纹理坐标属性并传到vertex shader里面去,然后把内存里面的纹理传给GPU,最后,在fragment shader里面通过采样器,就可以根据vertex shader传递过来的纹理坐标把纹理上面的颜色值用插值的方式映射到每一个像素上去。

接下来,让我们看看具体怎么做。

阅读全文»

Spine入门 —— 蒙皮

Spine?

Spine 是一款针对游戏的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。

本篇讲解 Spine 如果进行骨骼蒙皮。可以说有了蒙皮功能,2D 骨骼动画才真 是 2D 骨骼动画了。哈哈。我这里 Spine 的版本是【试用版 1.825】

首先,我用的是例子里的哥布林,删掉了多余的部分。这个例子中我们就为这 只长矛架设骨骼,并蒙皮。虽然简单,但道理是相通的。

  1. 选中长矛图片,勾选 Mesh。开启网格功能。

    网格是蒙皮和自由变形的基础,蒙皮的本质也就是让骨骼控制网格上的点。 如果一个点受 N 个骨骼影响,那么这些根骨骼将按百分比,分配谁控制的 多,谁控制的少。这种百分比,在角色装配中,称为“权重”(一个很坑 爹的翻译,丌过已经通用了,就忍忍吧。)在蒙皮的过程中,主要的工作 就是让权重值分配的合理,这样当骨骼进行动画时,图片的变形才更平滑。

阅读全文»

子龙山人带你学习OpenGL ES 2.0 : 绘制立方体

大家好,我是子龙山人。我现在在厦门 Cocos2D-X 团队做游戏引擎开发。

我是一个技术 Geek,我喜欢研究好玩的技术,同时我也是一个 Emacs 党。

欢迎大家一起交流。

我的个人主页:http://zilongshanren.com/


上篇文章中,我们介绍了VBO索引的使用,使用VBO索引可以有效地减少顶点个数,优化内存,提高程序效率。

本教程将带领大家一起走进3D–绘制一个立方体。其实画立方体本质上和画三角形没什么区别,所有的模型最终都要转换为三角形。

同时,本文还会介绍如何通过修改MVP矩阵来让此立方体不停地旋转。另外,大家还可以动手去修改本教程的示例代码,借此我们可以更加深入地理解OpenGL的normalized device space。

阅读全文»

Spine入门——IK约束

Spine?

Spine 是一款针对游戏的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。

本篇讲解 IK 约束,也就是大家期待已久的 IKPinning。此功能约束住 IK 链末 端,这样你可以通过操控父级反向驱动整条骨骼链。(好吧这也些都是屁话,其实 Spine 的 IK 约束只支持两根骨头,无所谓了。)

IK 约束本身没什么好讲的,不过官方就出了个演示视频,诈称以后会有更多细 节透露,不知道要等到几时,最近几天问这个的同学又比较多,就写出来大家分享 吧。这里通过两个简单的例子来演示 IK 约束的使用。

这个 IK 约束的功能,有点打补丁的感觉。不 MAYA,3DMAX 里的有点不同。 下面细说。

这里有你需要的资源

阅读全文»

Spine入门——反向动力学

Spine?

Spine 是一款针对游戏的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。

反向动力学 Inverse Kinematics (IK)

通常情况下,我们使用 FK 工具设置动画,它是正向动力学的缩写。当设置 手部位置动画时,FK 从上至下驱动,先转动大臂,再转动小臂来实现。大多数 情况下它能很好的达到我们想要的效果。但某些特殊情况比如:一个坐着的角色 手扶桌面,慢慢起身,这时 FK 需要不段的调整手部的位置,以使其能保持按在 桌面上。这将需要创建大量关键帧来实现。

IK 对于这种情况会更合适,它是反向动力学的缩写。IK 从下至上驱动。设 置好手部的位置后,角色起身时,手部保持不动,小臂和大臂的骨骼会自动旋转 到合适角度。

IK 也适合于完成其它一些任务,比如脚部会踩进地面的行走动画(例如游 戏场景中有一关沼泽地),可以在运行时通过调整 IK 目标(IK target)实现角色 在不平坦的地面上行走的效果,等等。在 Spine 中对骨骼的控制可以是 FK,可 以是 IK,可以是 FK/IK 两者混合的效果。当然也可以在动画中实现 FK 和 IK 之 间的平滑过度。(传说中的 FK/IK 无缝转换)

阅读全文»

子龙山人带你学习OpenGL ES 2.0 :使用VBO索引

大家好,我是子龙山人。我现在在厦门 Cocos2D-X 团队做游戏引擎开发。

我是一个技术 Geek,我喜欢研究好玩的技术,同时我也是一个 Emacs 党。

欢迎大家一起交流。

我的个人主页:http://zilongshanren.com/


上一篇文章中,我们介绍了uniform和模型-视图-投影变换,相信大家对于OpenGL ES 2.0应该有一点感觉了。在这篇文章中,我们不再画三角形了,改为画四边形。下篇教程,我们就可以画立方体了,到时候就是真3D了,哈哈。

为什么三角形在OpenGL教程里面这么受欢迎呢?因为在OpenGL的世界里面,所有的几何体都可以用三角形组合出来。我们的四边形也一样,它可以用两个三角形组合出来。

阅读全文»

Spine入门——认识界面

Spine?

Spine 是一款针对游戏的 2D 骨骼动画编辑工具。 Spine 旨在提供更高效和简洁 的工作流程,以创建游戏所需的动画。

优势 Benefits

在 Spine 中通过将图片绑定到骨骼上,然后再控制骨骼实现动画。 2D 骨骼动画 相对于传统的逐帧动画有以下优势:

  • 最小的体积: 传统的动画需要提供每一帧图片。而 Spine 动画只保存骨骼的动 画数据,它所占用的空间非常小,并能为你的游戏提供独一无二的动画。
  • 美术需求: Spine 动画需要的美术资源更少,能为您节省出更多的人力物力更 好的投入到游戏开发中去。
  • 流畅性: Spine 动画使用差值算法计算中间帧,这能让你的动画总是保持流畅 的效果。
  • 装备附件: 图片绑定在骨骼上来实现动画。如果你需要可以方便的更换角色的 装备满足不同的需求。甚至改变角色的样貌来达到动画重用的效果。
  • 混合: 动画之间可以进行混合。比如一个角色可以开枪射击,同时也可以走、 跑、跳或者游泳。
  • 程序动画: 可以通过代码控制骨骼,比如可以实现跟随鼠标的射击,注视敌人, 或者上坡时的身体前倾等效果。

摄影表

在动画制作过程中摄影表是最核心的地方。这里包含了所有重要的细节,通过它可以创建动画以及对时间轴进行微调。

阅读全文»

子龙山人带你学习OpenGL ES 2.0 :初识MVP

大家好,我是子龙山人。我现在在厦门 Cocos2D-X 团队做游戏引擎开发。

我是一个技术 Geek,我喜欢研究好玩的技术,同时我也是一个 Emacs 党。

欢迎大家一起交流。

我的个人主页:http://zilongshanren.com/


上一篇文章中,我在介绍vertex shader的时候挖了一个坑:CC_MVPMatrix。它其实是一个uniform,每一个cocos2d-x预定义的shader都包含有这个uniform, 但是如果你在shader里面不使用这个变量的话,OpenGL底层会把它优化掉。

但是,CC_MVPMatrix是在什么时候设置进来的呢?我在shader里面明明没有看到它,它从哪儿来的?别急,请继续往下读。

初识Uniform

在回答上面几个问题之前,让我们先来介绍一下什么是uniform。简单来说,uniform是shader里面的一种变量,它是由外部程序设置进来的,它不像vertex的attribute,每个顶点都有一份数据。除非你显式地调用glUniformXXX函数来修改这个uniform的值,否则它的值恒定不变。接下来,让我们修改myFragmentShader.frag,给它添加一个新的uniform数据:

阅读全文»

使用Cardboard SDK开发一款VR弹球游戏 —— 实现对手功能

如果你喜欢我们的教程,欢迎加入泰然网Unity交流群201505161
『泰然网』原创,转载请注明出处。

今天先来介绍一下本系列教程的作者 —— 沈庆阳,就是下面这货!

沈庆阳现在是一名大三学生,但是精通于使用U3D和UE,在学校期间就完成过多次项目外包,这个系列介绍居然还有清华大学出版社联系他。

阅读全文»

苹果推荐引不满,雅文带你了解真相

宋雅文,微博游戏领航员JY。大学专业是学电影制作与多媒体。

从2015年起开始针对一些有趣的话题做了一档在线语音交流节目《游戏的人》。感觉有太多话题值得聊,就这样周常节目《游戏玄学之夜》就和大家见面了,每周五定期开聊游戏圈轶事。

在散发着铜臭味的商业游戏环境里,还能有一群人如此纯粹的去探讨和分析游戏,夸张点说似乎与大环境有些格格不入,故而感觉很玄,后来闲谈的录音放在网上,俗称“玄学之夜”。

《贪婪洞窟》是一款结合冒险、策略、动作、解谜多种元素的创新游戏。作为玩家你的目标是经典RPG三要素:打怪,升级,穿装备。但是在画风上太有饥荒的风格了。

更多类容,欢迎观看哟!

?>