随笔分类 - 游戏开发
摘要:一、简介 基于油管一个老哥的教程做的教程,由于这个教程比较老,所以现在重新实现一遍会踩一些坑。实际上我更想用Windows的API去做一个这样的桌面,现在先用WallPaper Engine爽爽吧。 最终效果: 原理是用虚幻四导出的HTML5资源来启动一个Web服务,然后用WallPaper Eng
阅读全文
摘要:后处理 后处理可以理解为滤镜,是对渲染得到的帧缓冲再做一次处理的过程。 创建Shader 在Unity的资源管理器中右键Create->Shader->Image Effect Shader,创建出一个Shader,这个默认的Shader就是一个实现反相效果的Shader。 Shader "Hidd
阅读全文
摘要:交互 玩游戏的时候,我们需要用输入设备和游戏进行交互,那么游戏需要对玩家做出相应,比如说按下键盘的上下左右,角色就朝着对应的方向移动,按下技能键,角色就释放技能 键盘监听 响应 cocos2d x中要实现键盘监听,首先先编写游戏对键盘做成响应的函数 将这两个函数声明在 接下来是两个函数的定义 这两个
阅读全文
摘要:简析HelloWorld场景 以前使用cocos2d x 3.14的时候,HelloWorld并不是一个场景类,而是一个图层类,当时的HelloWorld::createScene()是长这样的 而现在的3.17的HelloWorld::createScene()长这样 区别就是HelloWorld
阅读全文
摘要:创建了cocos的工程以及初步了解了工程的结构之后,可以尝试自己改改代码了 游戏窗口的设置 首先是AppDelegate,找到AppDelegate.cpp中AppDelegate::applicationDidFinishLaunching这个成员函数 函数中有几行代码涉及到游戏的一些设置 调试信
阅读全文
摘要:这是我们新建好的工程,稍微解释一下我们开发windows的cocos应用所用到的几个文件夹的作用 Classes文件夹,存放游戏代码中的类的源码,当然我们放在别的地方也可以,只要配置好依赖关系就行了 cocos2d文件夹,引擎的内核、文档、工具等 proj.win32文件夹 ,存放windows32
阅读全文
摘要:该教程使用的cocos2dx的版本为3.14,3之后的大概都差不多 Python环境搭建: cocos2dx在windows上新建工程需要用到python脚本,安装python 2.7.x,可以上 "python" 官网下载,记住安装的路径 配置环境变量:右键我的电脑然后点击属性(或者控制面板 系统
阅读全文
摘要:1 静态库和动态链接库的区别动态链接库是在运行的时候被调用的,静态库在链接的时候被链接到最终生成的应用程序(.exe)中静态库需要用到的文件 (.lib .h)头文件(.h)提供接口,库文件(.lib)提供实现动态链接库需要用到的文件 (.dll .lib ...
阅读全文
摘要:这个笔记只是冯氏光照模型下漫反射光以及镜面光照的计算方式的笔记基础光照基础光照分为环境光,漫反射光,镜面光照环境光环境光是一个常量,表示在没有光源的情况下物体的光漫反射光漫反射光分量的计算方式将顶点的法向量标准化将片段到光源的方向向量标准化vec3 norm...
阅读全文
摘要:OpenGL和DirextX不一样,没有内置的数学库,于是我们需要找一个第三方库,按照LearnOpenGL的教程我们使用GLM库,可以到他们的官网下载glm常用的数据类型vec2 二维向量vec3 三维向量vec4 四维向量mat2 二阶矩阵mat3 三阶...
阅读全文
摘要:关于纹理一般游戏里的物体不一定都是纯色的物体,物体上面会有一些图片贴在上面,比如墙壁,箱子,地板,可以看到砖头、木板和大理石组成的图片,要把图片贴到计算机里的几何图形的话,就要把图片的颜色采样贴到几何图形上,采样是计算机经常干的工作,计算机要处理自然中的数据...
阅读全文
摘要:画一个正方形其实,画正方形就是画两个三角形,用四个顶点以及使用索引来实现完整代码在Square项目的Application.cpp里先贴上窗口初始化代码void BaseInit(){ glfwInit();//初始化 glfwWindowHint(GLFW...
阅读全文
摘要:最近找实习有一丢丢蛋疼,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊用OpenGL画一个三角形项目的简介记录一下跟着learnOpenGL学习的过程笔记里的代码放在github上,依赖都用相对路径配好了,直接下载就能用,IDE是V...
阅读全文
摘要:第一种方法,从Resources文件夹读取PrefabAssets/Resources文件夹是Unity中的一个特殊文件夹,在博主当前的认知里,放在这个文件夹里的Prefab可以被代码动态加载直接上代码GameObject Prefab = (GameObj...
阅读全文
摘要:Unity3D中的碰撞:在unity中,有普通碰撞体Collider和触发器(Trigger)两种碰撞体,两个普通碰撞体会发生碰撞并产生力学现象,触发器则像是个无法触碰而又真实存在的东西,也会触发碰撞事件,但另一个物体会穿过它,碰撞发生的前提是两碰撞体有一方...
阅读全文
摘要:Mathf.Lerp(float a,float b,float t)插值函数,当a ()获得对象的组件控制物体旋转相关:Quaternion: 四元数void Rotating(float h, float v){ Vector3 targetDir...
阅读全文
摘要:Unity使物体消失的三种方法GameObject.Destroy(gameobjcet);//在下一帧破坏物体gameObject.SetActive(false);//Unity2017新API,使用该方法设置物体是否存在于Hierarchy,activ...
阅读全文
摘要:transform:transform是GameObject的一个默认的组件,其包含着该对象的几种属性,坐标(Position)以及旋转角度(Rotation)和尺寸(Scale)。transform的子对象:transform.position 类型为Ve...
阅读全文
摘要:虽然最近Unity2018版本推出了自己的瓦片地图,但是这个瓦片地图有点BUG,在场景内把瓦片地图铺好做成预制体,动态生成的时候居然丢失了碰撞体,于是我决定还是使用Tiled软件绘制地图并使用Tiled2Unity插件导入项目Tiled下载地址Tiled2U...
阅读全文
摘要:元表Lua中提供了元表(Metatable),其实这个元表就比较像面向对象中的类了,可以通过给某些特殊的标识符赋值达到重载的效果,这些特殊的标识符有:名称功能__index元表的索引方法__newindex新分配元素的下标__add重载 ‘+’__sub重载...
阅读全文