你怎么确定一个Vector3,int,或float变量是否被分配了一个值?一个方便的方式就是使用可空类型! 有时变量携带重要信息,但仅仅有在特定的游戏事件发生时触发.比如:一个角色在你的游戏可能闲置,直到他被告知去一个指定的目的地. public class Character : MonoBehaviour {     Vector3targetPosition;       voidMoveTowardsTargetPosition()     {        if(targetPosit…
游戏开发中IIS常见支持MIME类型文件解析 .apkapplication/vnd.android .ipaapplication/vnd.iphone .csbapplication/octet-stream .plistapplication/xml .json application/json Atlasapplication/x-AtlasMate-Plugin .unity3dapplication/octet-stream…
大家好,我是秦培,欢迎关注我的博客,我的博客地址blog.csdn.net/qinyuanpei. 在上一篇文章中,我们通过自己定义着色器实现了一个简单的在3D游戏中选取.显示物体轮廓的实例. 在文章最后,博主给大家留下了一个问题,就是我们的这样的方法存在一定的问题,无法运用到复杂的模型上. 原因是什么呢?这要从这样的方法的原理上来说.事实上这样的方法相似于摄像机的视角方向上对物体进行了一个投影.这样的话,假设模型被其他物体遮挡的话,就会出现渲染不全然的问题.如图所看到的,有一位朋友在评论中提出…
大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.众所周知,在RPG游戏策划中最为重要的一个环节是数值策划.数值策划是一个关于游戏平衡方面的概念,它是一种非常深奥的概念. 游戏从某种意义上 是多种选择的组合,因此假设一个游戏失去平衡,那么就会降低选择而影响游戏的乐趣. 数值策划人员通常须要依照一定的规则和方法将整个游戏系统的相关数值调整到一个合适的范围.以确保玩家能够有很多其它地选择以增强游戏的可玩性.数值策划是近年来国内游戏行业从国外游戏…
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使用U3D 5.3.X之后版本已经集成的单元测试模块Editor Test Runner. 0x01 你好,TDD TDD,测试驱动开发改变了我们常见的工作流程,不要求先写逻辑代码,反而要求先完成测试代码.待测试代码完成之后,我们再将目光转移到逻辑代码,根据测试的要求,完成逻辑代码,使之能够通过经过拆…
一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被.机械等等,比如一个大楼的3D模型图.3D模型也包括玩具和电脑模型领域. 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯.电子阅读.网络游戏.虚拟社区.电子商务.远程教育等等.甚至对于旅游业,3D互联网也能…
一.什么是物理引擎? 四个世纪前,物理学家牛顿发现了万有引力,并延伸出三大牛顿定理,为之后的物理学界的发展奠定了强大的理论基础.牛顿有句话是这么说的:“如果说我看得比较远的话,那是因为我站在巨人的肩膀上.” 日常工作生活中,我们写文档需要Word.Excel.Visio等办公软件,写程序需要Visual Studio.Eclipse等各种集成开发环境.美术设计需要3dsMax.Maya.Photoshop等,正是因为有了这些强大的工具,我们的工作效率才会越来越高效.所以用记事本写代码.用Wind…
在游戏开发中,游戏角色占了很大的篇幅,可以说游戏中所有的内容都是由主角所带动.这里就介绍一下角色类的设计和持久化. 一.角色类应用场景和设计思想 游戏中的角色类型不一而足,有不同的技能,有不同的属性等等.有些一个玩家只有一个角色,有些一个玩家可以有多个角色.这里就目前项目来描述一下角色类的构造,思路都是类似的. 早期我写角色类都是直接一个Class,然后想到什么属性就往里面添加,如果游戏过程中需要对属性的修改,逻辑判断也写在这个类中,这样必然导致类的庞大和臃肿,最后你自己也忘记了自己写在什么地方…
Unity3D游戏开发之连续滚动背景 原文  http://blog.csdn.net/qinyuanpei/article/details/22983421 在诸如天天跑酷等2D游戏中,因为游戏须要表现出运动的感觉,通常都会使游戏背景连续循环滚动以增强视觉效果,那么今天,博主就来带领大家一起来实现连续滚动背景吧! 首先来讲述一下原理,准备两张连续的图片(博主这里使用了一张图片,好吧,我偷懒了),我们使用正交投影的摄像机对准第一张背景,然后使用脚本让图片自右向左開始移动,当第一张图片移出摄像机的…
提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一篇中,我们学会了怎么在Unity中搭建游戏的场景,而且设置模型的物理属性. 在第二篇中.我们学会了怎么在unity中使用脚本.而且创建了大部分的游戏逻辑,包括投球和得分! 在这最后一节中,我们将会为用户创建一个菜单系统,而且和GameController进行交互,我们開始吧. 在设备上測试 到眼下为…
大家好,我是秦元培,欢迎大家继续关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei. 首先感谢大家对我博客的关注,今天我想和大家分享的是一个飞机大战的项目.这是一个比較综合的项目,希望对大家学习Unity3D有所帮助,我会在文章最后给出项目代码. 作为一个游戏而言.游戏策划十分重要,所以在開始今天的文章之前,我们先来了解下这个项目的策划. 我们的玩家是一个飞机.玩家能够使用A.D.S.W四个键位来控制飞机位置,当按下空格键时,我方飞机能够向敌机发射炮弹.当敌机中弹后将降…
大家好,我是秦元培.我參加了CSDN2014博客之星的评选,欢迎大家为我投票,同一时候希望在新的一年里大家能继续支持我的博客. 大家晚上好.我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.终于到了更新博客的时间.从昨天下午開始,博主開始设计一个跑酷的游戏,到晚上睡觉前这个游戏已经基本完毕. 博主今天早上七点钟就起来了,到早上十点钟终于把整个游戏写完了. 所以,今天的博客的主题就是<Unity3D游戏开发之跑酷游戏项目解说>. 从博主自身来考虑这…
大家好,我是秦元培.欢迎大家关注我的博客,我的博客地址是:blog.csdn.net/qinyuanpei.终于在各种无语的论文作业中解脱了,所以立即抓紧时间来这里更新博客.博主本来计划在Unity3D游戏开发之从<魂斗罗>游戏说起(上)--目标追踪这篇文章后再写一篇<Unity3D游戏开发之从<魂斗罗>游戏说起(下)>,只是眼下博主的项目进度有些缓慢,所以想等项目稳定下来以后再和大家分享. 作为大家等待博主更新博客的回报,我们今天来说一说Unity3D中的游戏场景异步…
用户输入- Unity3D游戏开发培训   作者:Jesai 时间:2018-02-12 14:28:45 用户输入Input 鼠标按键: -方法:GetMouseButton(); -方法:GetMouseButtonDown() -方法:GetMouseButtonUp() -参数为int,0表示左键,1表示右键,2表示滚轮 键盘输入 -方法:GetKey() -方法:GetKeyDown() -方法:GetKeyUp() -参数为KeyCode枚举,表示按的某个键 控制对象 控制对象的位置…
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51088236 在上一篇博客中讲了利用向量点乘在游戏开发中应用的几种情景.本篇博客将用一个简单的小例子来讲解在实际的游戏开发中如何利用向量的叉乘来解决问题. 向量叉乘的几何意义 叉积的长度 |a×b| 可以解释成以a和b为邻边的平行四边形的面积. 混合积 [a b c] = (a×b)·c可以得到以a,b,c为棱的平行六面体的体积. 关于向量叉乘的其他定义.规律以及应用有兴…
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/50810102 向量在游戏开发中是非常实用的,我们在学校学完向量的知识后,只知道向量的基本知识,但对于如何将所学到的向量知识运用到实际的游戏开发中却不知所措.我计划写几篇关于向量在游戏中的应用的文章,总结一下在实际工作中所遇到过的运用向量机智处理问题的技巧.接下来要写的东西都是记录在我的云笔记中,现在计划整理一下后分享出来. 对于向量的那些基本性质我不想说太多,有兴趣的读者…
一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何无美工天赋,一直在游戏开发的门口晃悠, 前些日子装逼看过MonoGame和Cocos2d这两个游戏引擎,但一直也没有实际操作过.直到上周一,从微博上看到Unity3D 4.2版本正式对Windows Phone 和 Windows 8进行了支持,于是乎不再犹豫,一个从未做过游戏开发,对游戏开发也丝毫…
注:ccp是cocos2dx中的一个宏定义,#define ccp(__X__,__Y__)CCPointMake((float)__X__, (float)__Y__),在此文章中表示坐标信息 1.笛卡尔坐标系 你可能在学校的几何学上已经知道笛卡尔坐标系.如果你忘记了,下面的图片可以让你回忆一下: 有3中类型的坐标系在游戏开发中你会用的到. 1)UI坐标系: 一般用于iso.android.windows sdk中: 原点(x=0,y=0)在左上角. x方向从左侧向右侧递增. y方向从屏幕顶部…
定义的位操作:通俗点说,,位计算是计算机操作二进制整数. 无论整数可以用二的方式来表示进度,不同类型的其长度的整数位的是不一样的.INT8要么char靠8个月2 位表示,INT16或者short是由16个2进度位表示,INT32是由32位状态位表示. 位运算在游戏中的应用 往往,在游戏开发中做位运算的时候,我关注的主要是某一位的值是0,还是1.而并非去关注这个整数的值是多少. 比方:00100010,这个8位的整数从右到左.它的第一位为0,第二位为1.第三位为0.第六位为1. //检查state…
朋友,大家好.我是秦培,欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 首先博主要自我反省,过了这么久才来更新博客,这段时间主要是在忙着写期末的作业,所以博主基本上没有空暇时间来研究技术.希望大家谅解啊.有时候,博主会情不自禁地想,假设当初选择了计算机专业,此时此刻.我可能会有很多其它的时间来和大家分享我在学习过程中的感悟吧,有时候博主感觉自己非常孤独,在身边找不到和自己志同道合对技术感兴趣的人.这可能是博主在大学里最大的遗憾了,一个人的成长环境非常重要.当你无…
大家好.欢迎大家关注由我为大家带来的Unity3D游戏开发系列文章,我的博客地址为:http://blog.csdn.net/qinyuanpei.        在上一篇文章中,我们基本上实现了一个小地图的功能,今天呢,我们来实现怪物AI,所谓怪物AI就是指我们为怪物编写一定的算法.使其能够具备一定程度的智能化,以增强游戏的可玩性.在一般的RPG游戏中,怪物通常在一个游戏设定的范围内巡逻.当玩家进入怪物的警戒范围时,怪物就会由巡逻状态转变为攻击状态,向玩家进行攻击,那么,我们今天就来实现一个简…
目录 1. 按 2. pdf 3. 配套资源 3.1. Unity网络游戏实战第二版 3.2. Unity网络游戏实战第一版 4. 视频教程 5. 更多坦克大战代码 1. 按 本文主要分享了: Unity网络游戏实战(含第一版和第二版)(罗培羽 著) Unity3D游戏开发(含第一版和第二版)(宣雨松著) 另外还有: Unity3D视频教程 其他多个版本的坦克大战源码 2. pdf https://sn9.us/dir/13403389-36671301-a6290f 3. 配套资源 3.1.…
投影方式- Unity3D游戏开发培训   作者:Jesai 2018-02-12 20:33:13 摘  要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他3D渲染管线具有重要作用.本文详细介绍了透视投影的原理和算法实现,包括透视投影的标准模型.一般模型和屏幕坐标变换等,并通过VC实现了一个演示程序. 在Unity3D里面,投影方式决定了我们人眼看到的场景,投影方式一般分为透视投影和正交投影两种,透视投影相当于我们人的眼睛看到的东西.越远越小,越近越大…
内置3D对象-Unity3D游戏开发培训 作者:Jesai 2018-02-12 19:21:58 五大面板: -Hierachy:当前场景中的物体 图 1-1 -Project:项目中的所有资源 图 1-2 -Scene:当前场景的预览图 图 1-3 -Inspector:属性 图 1-4 -Game:游戏视图,以摄像机视觉查看场景,可以预览到玩家看到的内容 图 1-5 图 1-6   快捷键分别是Q.W.E.R,第一个手是移动,第二个是XYZ坐标移动,第三个是球型旋转,第四个2D视图. -Q…
Unity3D游戏开发培训 作者:Jesai 时间:2017-01-08 修改:2017-01-09 12:36:15 1         项目的构成 图1-1 如图1-1所示,Unity3D的项目构成主要分成三部分: Assets:资源解包,例如 3D 模型. 2D 纹理和声音的会在在此目录中的某个地方   Library:类库,此属性包含Unity3D 使用配合资产(tie assets)和逻辑一起在scenes的引用关系.这里还放置您设置的editor preferences. platf…
算法.数据结构.与设计模式等在游戏开发中的运用 (一):单例设计(Singleton Design) 作者: Compasslg 李涵威 1. 什么是单例设计(Singleton Design) 在学校学习面向对象编程中的一些常用的设计模式时,我第一次系统的接触到了单例设计(Singleton Design),或者说单例设计模式.所谓设计模式(Design Pattern),指的是在软件开发中针对一些常见问题提出的可复用的解决方式:而单例设计便是针对在面向对象编程中一些只会被实例化一次.或只允许…
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/50972976 在上一篇博客中讲了利用向量方向的性质来解决问题.这篇博客将继续用一个简单的小例子来讲解如何将向量的点乘性质应用到实际的游戏开发中. 向量点乘的几何定义 设二维空间内有两个向量U和V,它们的夹角为θ([0, π]),则内积定义为以下实数: 向量点乘的公式:U·V = |U||V|cosθ 根据该公式可以退到下面三条结论: 1. U·V > 0,表示向量U和V之…
在HTML5游戏开发中,js可以使用Event对象的addEventListener(添加事件监听).dispatchEvent(触发事件)实现监听机制,如果在coocos2d-x中,去实现这种机制该怎么办?   根据之前PureMVC(JS版)的经验,其中经典的观察者模式可以让我们引用到cocos2d-x中.我们可以尝试着把PureMVC(C++版)中的Notification(我称之为消息机制)引用进来,能让我们很轻易在Cocos2d-x开发的游戏中地实现监听.   其实Cocos2d-x在…
在基于TypeScript的LayaAir HTML5游戏开发中使用AMD AMD AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义".这是目前最流行的JavaScript/TypeScript代码的管理方式.本文介绍了如何在基于TypeScript的LayaAir HTML5游戏开发中使用AMD来组织代码.本文参考资料列表中包含了更多关于AMD的信息. 示例项目 示例项目源码从这里下载https://githu…
借助AMD来解决HTML5游戏开发中的痛点 游戏开发的痛点 现在,基于国内流行引擎(LayaAir和Egret)和TypeScript的HTML5游戏开发有诸多痛点: 未采用TypeScript编译器的增量编译模式导致无法达到极致的编译效率,进而编码.运行.调试循环不流畅. 代码的组织方式是使用namespace,为了减少代码长度和提高代码输入的效率,一般使用import来创建别名,但是工具流不支持自动的import或者import检查.手动去写import降低了编码的效率. 使用namespa…