Webgl 的魅力在于可以创造一个自己的 3D 世界,但相比较 canvas2D 来说,除了物体的移动旋转变换完全依赖矩阵增加了复杂度,就连生成一个物体都变得很复杂。
什么?!为什么不用 Threejs?Threejs 等库确实可以很大程度的提高开发效率,而且各方面封装的非常棒,但是不推荐初学者直接依赖 Threejs,最好是把 webgl 各方面都学会,再去拥抱 Three 等相关库。
上篇矩阵入门中介绍了矩阵的基本知识,让大家了解到了基本的仿射变换矩阵,可以对物体进行移动旋转等变化,而这篇文章将教大家快速生成一个物体,并且结合变换矩阵在物体在你的世界里动起来。
这次没有带来游戏啦,本来还是打算用一个小游戏来介绍阴影,但是发现阴影这块想完完整整介绍一次太大了,涉及到很多,再加上业务时间的紧张,所以就暂时放弃了游戏,先好好介绍一遍 webgl 中的 Matrix。
这篇文章算是 webgl 的基础知识,因为如果想不走马观花的说阴影的话,需要打牢一定的基础,文章中我尽力把知识点讲的更易懂。内容偏向刚上手 webgl 的同学,至少知道着色器是什么,webgl 中 drawElements 这样的 API 会使用~
背景:不知道大家还记不记得上次那个 3D 迷宫游戏,有同事吐槽说游戏中间有一个十字瞄准器,就感觉少了一把枪。好吧,那这次就带来一款第一人称射击游戏。写 demo 锻炼,所以依旧用的原生 webgl,这次重点会说一下 webgl 中关于摄像头相关的知识,点开全文在线试玩~~
背景:前段时间自己居然迷路了,有感而发就想到写一个可以让人迷路的小游戏,可以消 (bao) 遣 (fu) 时 (she) 间 (hui)
没有使用 threejs,就连 glMatrix 也没有用,纯原生 webgl 干,写起来还是挺累的,不过代码结构还是挺清晰的,注释也挺全的,点开全文开始迷宫之旅~
先贴上文地址:http://www.alloyteam.com/2016/03/and-a-star-on-different-pixel-pathfinding-algorithm/
之前说到了起点和终点连线平移方式的不足,那这篇文章就介绍另一个给力的方法
演示地址:
http://westanhui.github.io/navigate/index2.html
注意:点击画障碍物,通过左键单击画多边形最后右键自动闭合图像
前言:
寻路是游戏中非常重要的一项功能,这项功能将直接体现出 AI 的智商如何。那说起寻路的算法,就不得不提标题上面的 A star 算法了。A Star(又称 A*),是结合了 Dijkstra 算法和贪心算法优点的算法,对此不了解的同学可以去搜索一下,这里不具体介绍实现,而是简单的说一下原理,为后面我们的主角铺垫。
A Star 的核心在于将游戏背景分为一个又一个格子,每个格子有自己的靠谱值,然后通过遍历起点的格子去找到周围靠谱的格子,接着继续遍历周围…… 最终找到终点。好了,A Star 的介绍就到这里了,因为它不是文章的主角。
文章篇幅较长所以分为上下文,下文地址:
上下文各有一种实现方式,区别看了就知道,此外上文包含了一些研究寻路的思考。
说到 websocket 想比大家不会陌生,如果陌生的话也没关系,一句话概括
“WebSocket protocol 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信”
WebSocket 相比较传统那些服务器推技术简直好了太多,我们可以挥手向 comet 和长轮询这些技术说拜拜啦,庆幸我们生活在拥有 HTML5 的时代~
这篇文章我们将分三部分探索 websocket
首先是 websocket 的常见使用,其次是完全自己打造服务器端 websocket,最终是重点介绍利用 websocket 制作的两个 demo,传输图片和在线语音聊天室,let's go
文章背景:在朋友手机上看到一个有趣的魔性游戏(不知道的无须百度,下面直接看我的就好~),一拍脑袋想把 navtive 端的移植到 web 上面来~虽然游戏玩法和主题是抄袭,但是技术可以保证百分百自己实现~
PS:写完发现网上已经有标准的 web 版,UI 和 native 一样,而我的是赶时间之作…… 一比较 UI,我很尴尬,请勿太介意……
先给 demo 地址~可以试玩!
http://westanhui.github.io/self-moxing-game/index.html
github 地址:https://github.com/westAnHui/self-moxing-game/blob/master/index.html
这一片文章技术上基本上都是后台相关的,不过比较浅~可以当做知识扩展来看~
做项目的时候遇到 RPC 通信,就研 zhe 究 teng 了一些相关的玩意,这是背景
注意标题:本文 C 的代码需要在 window 下执行
首先我们得知道什么是 IPC 通信
咳,以探索技术的精神进行一些猥琐的实现,先说明,如果你只想看最后乳摇的结果那就请 ctrl+F4 吧,因为网上有那些乳摇的 APP,制作出来绝对比我这个初探的方法好,我这个只是介绍我实现乳摇的过程思路与方法。
关于乳摇如何实现,我第一个想法是使用 metaball,因为是两个球嘛,然而发现根本就不行,Fail。最终使用的是液化算法去实现。
好了,下面是对液化算法的介绍。
Copyright © 2011-2021 AlloyTeam. All Rights Reserved. Powered By WordPress
粤ICP备15071938号-2