代码改变世界

[置顶] [U3D Demo] 手机飞机大战

2015-10-11 16:34 by 阿诚de窝, 1306 阅读, 收藏, 编辑
摘要:游戏截图使用插件DOTweenNGUI游戏介绍游戏使用C#开发,素材是《全民飞机大战》中提取出来的,该游戏最早是去年由Flash Air+Starling开发的Demo,后来我修改了一版使用Unity3D开发的Demo,现在的Demo是第二个版本,是在上一版的基础上添加了大量的细节得到的完整游戏De... 阅读全文

[置顶] [U3D Demo] 手机FPS射击游戏

2015-07-25 13:54 by 阿诚de窝, 913 阅读, 收藏, 编辑
摘要:游戏截图使用插件DOTweenEasy TouchUGUI游戏介绍游戏使用C#开发,是在《Unity3D手机游戏开发》一书第3章游戏的基础上优化和修改的。机枪镭射光线和枪口特效取自Unity3D附带的Demo《AngryBots》。添加和修改了游戏逻辑,使其更具可玩性。受伤效果同样取自《AngryB... 阅读全文

[置顶] [AS3 3D Demo] Stage3D学习过程中开发的3个Demo

2015-05-26 08:15 by 阿诚de窝, 807 阅读, 收藏, 编辑
摘要:1.飞机大战基于Starling开发,使用了对象池技术的Demo。2.3D人物2D背景游戏Demo基于Away3D开发,实现了3D资源管理、寻路和跳跃等功能。3.全3D游戏Demo基于Away3D和AwayPhysics开发,实现了全3D场景下的对话和移动等功能。 阅读全文

WebGL学习笔记(十四):一些零碎的记录

2019-09-06 12:15 by 阿诚de窝, 13 阅读, 收藏, 编辑
摘要:HUD和Billboard 这两个名词都指向同一种东西,即始终面向摄像机的面片,该技术在游戏中大量使用,比如UI的绘制、模型头顶的名称和血条等等都需要使用到。 交换缓冲区 在PC上使用的OpenGL开发时,会存在两个缓冲,前台缓冲和后台缓冲,其中前台缓冲用来显示屏幕上的图像,后台缓冲则是用来绘制的, 阅读全文

WebGL学习笔记(十三):拾取

2019-09-06 12:13 by 阿诚de窝, 5 阅读, 收藏, 编辑
摘要:目前为止,我们还没有涉及到交互相关的内容,实际上,我们是需要知道我们点击的地方下面的第一个物体的信息,这个过程称为拾取。 简单拾取实现 我们可以通过颜色来获取是否成功点击,具体方式如下: 示例请点击:https://hammerc.github.io/dou3d-ts/examples/learni 阅读全文

WebGL学习笔记(十二):加载模型文件

2019-09-06 12:10 by 阿诚de窝, 13 阅读, 收藏, 编辑
摘要:目前为止,我们用到的模型顶点uv信息等,都是直接定义在代码中的,实际使用中,这些数据应该是由3D编辑器编辑好后按照一定的格式存储在文件中的,我们需要从文件中提取出对应的数据之后,组合成我们可以使用的信息来使用。 OBJ格式 3D模型文件格式有许多种,我们这里只看 OBJ 格式的模型文件,这是一种纯文 阅读全文

WebGL学习笔记(十一):混合和透明

2019-09-06 12:09 by 阿诚de窝, 16 阅读, 收藏, 编辑
摘要:到目前为止我们绘制了不少模型,用到了不少颜色,颜色中有四个分量(RGBA),其中的A分量表示透明度,这个分量目前为止我们还没有真正的用到; A分量,表示的是当前的透明度,如果设定为 0.5 就会半透明,可以看到半透明的模型,也可以看见模型后面的东西; 开启混合 要实现透明,需要开启混合,会使用到下面 阅读全文

WebGL学习笔记(十):雾化

2019-09-06 12:06 by 阿诚de窝, 6 阅读, 收藏, 编辑
摘要:雾化是指距离我们较远的物体看不清晰的情况,比如模拟大雾环境,或者模拟水下环境时会用到。 实现雾化的方式有很多种,我们这里使用的是线性雾化的方式; 线性雾化 线性雾化比较简单,我们算出每个像素点到摄像机的距离之后,就可以确定当前像素的雾化因子,用雾化因子就可以算出新的颜色值; 示例点击这里:https 阅读全文

WebGL学习笔记(九):阴影

2019-09-06 12:05 by 阿诚de窝, 13 阅读, 收藏, 编辑
摘要:3D中实现实时阴影技术中比较常见的方式是阴影映射(Shadow Mapping),我们这里也以这种技术来实现实时阴影。 阴影映射背后的思路非常简单:我们先以光的位置为视角进行渲染,我们能看到的东西都将被点亮,看不见的一定是在阴影之中了(这里会将是否可视的信息作为深度贴图进行渲染)。假设有一个地板,在 阅读全文

WebGL学习笔记(八):光照

2019-09-02 12:08 by 阿诚de窝, 16 阅读, 收藏, 编辑
摘要:局部光照与全局光照 局部光照 只考虑光源到模型表面的照射效果,运算量较小; 全局光照 考虑到环境中所有表面和光源相互作用的照射效果,即让没有直接受光照射的位置也会受周围反射光的影响,运算量较大; Phong反射模型 Phong光照模型是真实图形学中提出的第一个有影响的光照明模型,该模型只考虑物体对直 阅读全文

WebGL学习笔记(六):纹理贴图

2019-08-21 21:22 by 阿诚de窝, 22 阅读, 收藏, 编辑
摘要:只可以绘制纯色的模型是不够的,为了呈现出更真实的模型,我们还需要通过纹理贴图给模型进行上色。 丢失上下文 GPU作为一种公用资源,是会被多个进程同时使用的,在资源不足的情况下(比如PC或手机系统进入休眠状态前或被唤醒后),我们持有的上下文会出现丢失的情况,为了保证程序运行的健壮性,我们必须在丢失上下 阅读全文

WebGL学习笔记(七):输入和动画

2019-08-21 21:22 by 阿诚de窝, 14 阅读, 收藏, 编辑
摘要:目前为止,我们绘制出来的3D物体都是静止的,接下来我们需要让桌面上的小盒子可以根据我们按键(上下键)前进后退; 输入方面,监听按键和鼠标消息直接在document上添加对应的监听就行了; 动画这块,我们引入了webgl-utils.js类库,其中的方法requestAnimFrame可以按60帧的帧 阅读全文

WebGL学习笔记(五):变换库

2019-08-01 15:32 by 阿诚de窝, 34 阅读, 收藏, 编辑
摘要:在WebGL开始绘制之前,我们需要通过自己对3D空间进行矩阵和向量的运算,使用网上已经成熟的转换库,可以避免自己去实现这些复杂的数学运算。 我们这里选择的是gl-matrix库,下载地址:https://github.com/toji/gl-matrix 变换运算 在最终开始绘制之前,我们需要把3D 阅读全文