![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏
CopperDong
纯属巧合
展开
-
骨骼动画导论
http://blog.csdn.net/jimoshuicao/article/details/9300817骨骼动画导论先说明,这篇文章由我翻译自Evan Pipho的<<FocusOn 3D Models>>一书的内关于骨骼动画第五章的内容,去掉了前面的说明和最后的Demo说明,包含了所有的理论内容,转载请注明出处,谢谢!理解骨骼动画骨骼动画是使用“骨头”来运动一个模...转载 2018-03-23 19:50:16 · 524 阅读 · 0 评论 -
WebGL编程指南(1)简介
书本源代码 https://download.csdn.net/download/qfire/10371055 2009年,Khronos建立了WebGL工作小组,开始基于OpenGL ES着手建立WebGL规范,并于2011年发布了WebGL规范的第1个版本。本书主要基于第1版的WebGL规范编写,后续更新目前都是以草案的形式发布,如有需要,也可参考。www.khronos.org/r...原创 2018-04-24 18:52:35 · 1117 阅读 · 0 评论 -
WebGL编程指南(2)绘制和变换三角形
书本源代码 https://download.csdn.net/download/qfire/103710552.1 绘制多个点 不管三维模型的形状多么复杂,其基本组成部分都是三角形,只不过复杂的模型由更多的三角形构成而已。 WebGL提供了一种很方便的机制,即缓冲区对象(buffer object),它可以一次性地向着色器传入多个顶点的数据。缓冲区对象使WebGL系统中的一块内存区域,我...原创 2018-04-24 19:48:46 · 535 阅读 · 0 评论 -
WebGL编程指南(3)高级变换与动画基础
书本源代码 https://download.csdn.net/download/qfire/10371055本章要介绍的技术,是复杂的WebGL程序的基础。3.1 平移,然后旋转 为了简化编程,大多数WebGL开发者都使用矩阵操作函数库来隐藏矩阵计算的细节,简化与矩阵有关的操作。目前已经有一些开源的矩阵库。 本书矩阵变换库:cuon-matrix.js,允许你通过与OpenGL中类...原创 2018-04-24 20:23:17 · 419 阅读 · 0 评论 -
WebGL编程指南(4)颜色与纹理
书本源代码 https://download.csdn.net/download/qfire/103710554.1 将非坐标数据传入顶点着色器 点的尺寸// MultiAttributeSize.js (c) 2012 matsuda// Vertex shader programvar VSHADER_SOURCE = 'attribute vec4 a_Position;\n' ...原创 2018-04-24 21:51:29 · 486 阅读 · 0 评论 -
Three.js开发指南(1):介绍
https://github.com/josdirksen/learning-threejs本地Web服务器的不同环境:用Python > python -m SimpleHTTPServer用NPM > npm install -g http-server > http-server用Mongoose -- 在Mac/Windows上可以移植将书本代...原创 2018-04-20 16:39:41 · 933 阅读 · 0 评论 -
WebGL编程指南(5)进入三维世界
书本源代码 https://download.csdn.net/download/qfire/103710555.1 视点、观察目标点和上方向 我们可以用上述三个矢量创建一个视图矩阵,然后将该矩阵传给顶点着色器。视图矩阵可以表示观察者的状态,含有观察者的视点、观察目标点、上方向等信息。Matrix4.setLookAt()函数可以根据上述三个矢量来创建出视图矩阵。ch07/LookAtT...原创 2018-04-25 16:17:32 · 266 阅读 · 0 评论 -
WebGL编程指南(6)光照
书本源代码 https://download.csdn.net/download/qfire/103710556.1 光源类型 点光源光、平行光、环境光、聚光灯光等。 反射类型:漫反射和环境反射根据光线和表面的方向计算入射角:6.2 运动物体的光照效果逆转置矩阵6.3 点光源光在对点光源光下的物体进行着色时,需要在每个入射点计算点光源光在该处的方向...原创 2018-04-25 17:01:29 · 245 阅读 · 0 评论 -
WebGL编程指南(7)层次模型
书本源代码 https://download.csdn.net/download/qfire/103710557.1 多个简单模型组成的复杂模型层次结构模型:单关节模型:绘制层次模型:多节点模型:7.2 着色器和着色器程序对象:initShaders()函数的作用WebGL如何将字符串形式的GLSL ES代码编译为显卡中运行的着色器程序...原创 2018-04-25 17:18:02 · 676 阅读 · 0 评论 -
WebGL编程指南(8)高级技术
书本源代码 https://download.csdn.net/download/qfire/103710558.1 雾化(大气效果)8.2 OBJ文件原创 2018-04-25 17:29:55 · 230 阅读 · 0 评论 -
游戏AI-1:追逐和闪躲
代码https://resources.oreilly.com/examples/9780596005559/追逐/闪躲问题由两部分组成。首先要做出追或逃的决策判断。其次是开始追或逃,也就是让追击者追猎物,或者让猎物尽可能离追击者远一点,免得被抓到。追逐猎物是最简单、最容易写而且也是最常用的方法,就是在每次的游戏循环中,更新追击者的坐标,让追击者和猎物的坐标离得愈来愈近。这种算法不去管追击...原创 2019-07-03 16:20:35 · 943 阅读 · 0 评论 -
游戏AI-2:移动模式
代码https://resources.oreilly.com/examples/9780596005559/移动模式是制造智能行为幻觉的简单方式。实现移动模式的标准做法是选取想要的模式,再将控制数据填入某个数组或多个数组。控制数据由特定的移动指令组成,比如向前移动再转弯,借此迫使计算机控制的物体或者角色按所需模式移动。利用这些算法,你可以建立圆形、方形、蛇形、曲线以及任何类型的模式,将之...原创 2019-07-03 17:37:41 · 463 阅读 · 0 评论 -
游戏AI-3:群聚
通常在视频游戏中,非玩家角色必须群聚移动,而不是个别行动。比如一群羊在吃草、一群人在镇上的广场闲逛。Craig Reynolds在其1987年SIGGRAPH论文《Flocks,Herds,and Schools: A Distrubuted Behavioral Model》中提到的那个算法。基本群聚Craig Reynolds的“类鸟群”(boids)群聚算法,产生的运动给人留下的...原创 2019-07-04 09:32:21 · 769 阅读 · 0 评论 -
游戏AI-5:基本路径寻找及航点应用
寻找路径的问题有很多不同类型。没有一种解决办法可以适用各种类型的路径寻找问题。解决办法和每个游戏特定的路径寻找的需求细节有关。基本的路径寻找基本算法if (positionX > destinationX) positionX--;else if (positionX < destinationX) positionX++;if (positionY...原创 2019-07-04 14:13:08 · 385 阅读 · 0 评论 -
Three.js开发指南(11):定制着色器和渲染后期处理
如何创建自定义的着色器11.1 设置后期处理 设置Three.js库为后期处理做准备:1)创建一个EffectComposer(效果组合器)对象,然后在改对象上添加后期处理通道。2)配置该对象,使它可以渲染我们的场景,并应用额外的后期处理步骤。3)在render循环中,使用EffectComposer渲染场景、应用通道,并输出结果。11.2 后期处理通道简单通道11.3 创建自定义...原创 2018-04-22 19:51:31 · 496 阅读 · 0 评论 -
全景探秘游戏设计艺术(1):游戏设计师
一个游戏设计师要考虑的事情是很多的,这些事情包括游戏规则、视觉效果、给玩家的感觉、计时规则设定、游戏节奏、威胁设定、奖励和惩罚机制及玩家体验外的所有东西,这些问题都是一名游戏设计师需要思考和解决的东西。 对于游戏设计师来讲,最重要的技能就是倾听。这些倾听的渠道可以被分为五大类:团队、玩家、游戏、投资人和自己。这本书的大部分内容都是关于如何倾听来自这5方面的声音。 制原创 2018-03-23 19:52:08 · 1193 阅读 · 0 评论 -
全景探秘游戏设计艺术(2):游戏机制
游戏机制就是一款游戏的真正核心。机制 1:空间 既不离散,也不连续。 拥有一定的维度 拥有可以或不可以连通的边界区间。lens #21: 功能空间 使用这个lens来思考游戏在剥离了所有表面元素之后真正所处的空间。请询问自己如下问题: 1、这个游戏的空间是离散的还是连续的? 2、游戏原创 2018-03-26 16:35:16 · 980 阅读 · 0 评论 -
HTML5与WebGL编程(1):介绍
代码https://github.com/tparisi/Programming3DApplications HTML5是HTML标准的大规模修订,包括语法的清理、新的JavaScript语言特性和API、移动端支持以及突破性的多媒体支持。HTML5平台的核心是一系列先进的图形技术。WebGL,使得JavaScript支持硬件3D加速渲染。WebGL基于OpenGL,几乎原创 2018-04-15 10:21:39 · 2181 阅读 · 0 评论 -
HTML5与WebGL编程(2):Three.js
代表作http://www.ro.me/ Three.js的作者是巴塞罗那的Ricardo Cabello Miguel,或许你更熟悉他的另一个称呼Mr.doob。Three.js由Mr.doob早期在3D作品开发展示会上的作品发展而来。在现有工具都不能满足需求的情况下,Mr.doob开始开发自己的工具,这套工具一开始是用运行在Adobe Flash平台上的ActionScript编写的。原创 2018-04-15 12:10:21 · 746 阅读 · 0 评论 -
HTML5与WebGL编程(3):Three.js中的图形和渲染
Three.js提供了人们对3D代码库期望的特性,以及用多边形网格构建的2D和3D几何图形,包含层级结构物体和变换的场景图像,材质、纹理和灯光,实时阴影,开放给用户定义的可编程着色器,以及一个可用于高级特殊效果的、支持多通道和延迟渲染技术的灵活渲染系统。3.1 几何图形和网格 包括预置的几何形状(如立方体和圆柱)、路径绘制形状、2D挤出几何体,以及用户可扩展的基类,以供我们自由添加自原创 2018-04-15 16:20:44 · 1774 阅读 · 1 评论 -
Three.js开发指南(2):使用构建Three.js场景的基本组件
讲解一些构成Three.js场景的基础组件2.1 创建场景 场景的基本功能:添加、删除物体 在场景中添加雾化效果:物体离得远,就越模糊 使用材质覆盖属性:场景的overrideMaterial属性用来设置所有物体的材质2.2 使用几何和网格对象 Three.js库附带了很多现成的几何体,你可以在三维场景中使用它们。 可以通过定义顶点和面,手工创建几何体。 ...原创 2018-04-22 11:29:44 · 301 阅读 · 0 评论 -
Three.js开发指南(3):使用Three.js里的各种光源
光源3.1 探索Three.js库提供的光源3.2 学习基础光源 AmbientLight:影响整个场景的光源 在使用其他光源的同时使用AmbientLight,目的是弱化阴影或添加一些颜色。用色应该尽量保守。如果你指定的颜色过于明亮,那么你很快就会发现画面颜色过于饱和了。 使用THREE.Color()对象:用十六进制字符串(#0C0C0C)或十六进制数值指定颜色。 ...原创 2018-04-22 15:22:27 · 405 阅读 · 0 评论 -
Three.js开发指南(4):使用Three.js的材质
材质结合几何体可以构成网格。材质就像是物体的皮肤,决定几何体外表的样子。可以决定一个几何体看起来是否像金属、透明与否,以及是否显示成线框。4.1 理解共有属性 材质基类,THREE.Material。共有属性分成了三类: 基础属性:可以控制物体的透明度、是否可见或如何引用物体。 融合属性:决定物体如何与背景融合 高级属性:可以控制底层WebGL上下渲染物体的方法...原创 2018-04-22 15:51:21 · 392 阅读 · 0 评论 -
Three.js开发指南(5 6):使用Three.js的几何体
本章涉及的几何体包括:二维PlaneGeometry(平面)CircleGeometry(圆形)ShapeGeometry(塑形)三维CubeGeometry(立方体)SphereGeometry(球体)CylinderGeometry(圆柱)TorusGeometry(圆环)TorusKnotGeometry(环面紐结)PolyhedronGeometry(多面体)IcosahedronG...原创 2018-04-22 16:07:40 · 426 阅读 · 0 评论 -
Three.js开发指南(7):粒子和粒子系统
使用粒子(particle)可以很容易地创建出很多细小的物体,可以用来模拟雨滴和雪花。7.1 理解粒子 创建粒子7.2 粒子、粒子系统和BasicParticleMaterial 除非使用CanvasRenderer类,否则你就需要用ParticleSystem类来显示粒子7.3 使用HTML5画布格式化粒子 在CanvasRenderer类 在WebGLRenderer7...原创 2018-04-22 16:35:40 · 799 阅读 · 0 评论 -
Three.js开发指南(8):创建、加载高级网格和几何体
使用下面两种方法来创建高级几何体和网格:组合和合并:首先要讲解的是使用Three.js自带功能来组合和合并已有的几何体。从已有的几何体中创建出新的几何体。从外部加载:如何使用Blender导出Three.js支持的网格格式。8.1 几何体组合和合并 对象组合:当从一个几何体创建网格,并且使用多种材质时,Three.js就会创建一个组。8.2 从外部资源中加载几何体 读取几种三维...原创 2018-04-22 17:38:44 · 546 阅读 · 0 评论 -
Three.js开发指南(9):创建动画和移动相机
介绍Three.js是如何支持动画操作的,四个主题:基础动画:修改对象的三个属性,位置、旋转和缩放移动相机:在场景中移动相机的能力变形和蒙皮:制作复杂模型的动画主要有两种方式。使用变形技术,定义几何体之间的过度;以及使用骨骼和蒙皮技术处理这种过渡加载外部动画:从外部文件中加载动画9.1 基础动画 使用requestAnimationFrame函数 用Tween.js做动画:这个库...原创 2018-04-22 18:06:58 · 662 阅读 · 0 评论 -
Three.js开发指南(10):加载和使用纹理
将纹理应用到网格上10.1 在材质中使用纹理 纹理有几种不同的用法,可以用它们来定义网格的颜色,也可以用它们来定义高光、凹凸和反光。但我们首先要看的是最基础的方法,用纹理为网格上的每个像素指定颜色。 加载纹理并应用到网格:纹理最基础的用法是在材质上设置贴图。几乎所有图片都可以当作纹理来使用。但是为了达到最佳效果,最好使用正方形的图片,其长宽大小是2的次方。例如大小为...原创 2018-04-22 19:33:47 · 378 阅读 · 0 评论 -
游戏AI-6:A*路径寻找算法
路径寻找设计得不好会让游戏角色看起来很愚笨很不真实。A*算法可以提供有效的办法来解决路径寻找问题。它可以保证在任何起点及任何终点间找到最佳的路径,当然,前提是确实存在这种路径。如果起点和终点间没有障碍物,有明确的视线,那么用A*算法就大可不必了;改用既快速又有效的视线移动算法比较好。如果CPU功能不太强,A*也可能不是最佳替代方案。虽A*很有效,但仍然会耗用不少CPU运算能力,尤其是,如果你必须同...原创 2019-07-05 10:25:20 · 490 阅读 · 0 评论