Creating RTS Game With Unity3d(Chinese Edition) Part I 使用Unity3d制作即时战略游戏

翻译 2013年09月03日 21:38:37

  (以下为原著翻译版)

    我将会开始连载一个关于在Unity3d中创建即时战略类型游戏的教程。我将在Windows操作系统中使用Unity3d免费版进行演示,并且使用C#脚本语言。文章中很大一部分会是程序,因此你最好了解C#基本语法,以及其他的语言基础。我会重点介绍我这样做的目的,但不会用大量的篇幅去介绍关于语法的细节。还有就是因为我们要使用Unity3d,你应该对Unity3d有一定的了解,这篇教程对于一个初学者可能会有些难度。

    同时,我也将分享这片教程的项目源码:https://github.com/stormtek/unity-rts-demo

    

    目标:

  我们的目标是制作一个现代的实时战争策略游戏(Real-Time Strategy Game)。文章将会实现到这些:
            多个队伍(其中一个是由玩家控制
            选择每个单位,例如选择某个建筑,步兵,还有资源!
            玩家将控制每一个单位(例如步兵)和建筑物。
              玩家可以在一些特殊的建筑中创建新的步兵(例如兵营)
            创建一些特殊的单位,他们会建筑新的建筑物。
            创建一些可以采集资源的单位,让他们来维持经济!!
              创建界面来显示一些关于玩家的信息:

                    玩家现在拥有的资源。
                     玩家选择的单位(建筑)。
                     当前选择的单位(建筑)的选项。

            一个非常棒且实用的菜单!
            保存和载入游戏。

      好吧,这看上去似乎并不简单,但这完全可以实现。 那么,是时候开始了!


      准备:


    首先,我们要做的是下载并安装Unity3d,如果你早已完成这一步(我相信你早已完成,你可以在www.unity3d.com/download 下载),请继续往下看。
      我不认为如果我们的开发平台不同会对这个教程有着很大的影响(我使用的Windows7)。当你进入了Unity3d引擎后,你将会看见这样的界面:
    (此处括号内内容为翻译时添加)

             Project(项目)视图
             Hierarchy (层级) 视图
             Inspector (检索工具) 视图
             Scene (场景) 视图
             Game (游戏预览) 视图
       还有就是Console(控制台),虽然我们在这个教程中将几乎不会用到它,但在开发过程中会经常使用Log输出来调试。

       现在你已经准备好使用Unity3d了(至少你的电脑准备好了!),是时候来创建一个新的项目(File -> New Project ...)  ,我将会叫它RTS Tutorial(即时战略教程)。但是这个名字你可以随意起。通常,Unity3d(在Windows操作系统中)将会把新建的项目文件放在MyDocuments(我的文档)中,当项目已经创建后修改项目的路径也非常简单,因此你不用担心你需要把项目文件放到哪。

        当我们创建了这个项目后,我们应该先创建一个空的场景。新的场景已经包含了一个主摄像机。现在我们要做的是保存这个场景(File->Save Scene)。我打算叫这个场景为“Map(地图)”,当你选择保存后,你将会看见你的场景已经被保存在项目文件中的Asset文件夹。


   第一个对象:

        现在我们要做的事会让你很清晰的看见你做了什么,现在让我们来做一些东西来代表地面。我会用一个Plane来制作地面。
        首先我们要创建一个Plane(Game Object-> Create Other -> Plane),将它放置在坐标原点(0,0,0),并将缩放调至(100,1,100),这样做将会让它的长和宽都变成100个单位,这会看起来更像一个地面,为了让它更像,我要将它改名为Ground(地面)。注意我并没有调整Y轴的缩放,因为我们并不需要调成地面的高度。
                                                                                                  

                                                                                                                      Ground 设置

         现在来创建一个Cube,放置于(0,2,0),缩放调整为(10,4,10),这个盒子将会在整个地面的中间,且拥有高度,因此它必须要比地面高(坐标Y轴),同样需要有高度(缩放Y轴)。


                                                                                                                                                                                                             

                                                                                                                         Cube 设置


         到此,我们的场景一直在使用着默认包含的环境照明,这就是说这看起来并不是黑色的,但是不会很亮,因此我们需要添加一个灯,这里我使用点光源(Point Light),并把它改名为Sun(太阳)。我们模拟一个太阳,首先要模拟它的位置,把“太阳”放置在(100,400,100),这看上去很高。之后将点光源太阳的范围(Range)设置为1000,这会让它照射的地面。
  
                                                                                     

                                                                                                                           Sun 设置

                                                                   
           最后,我们要移动摄像机,来让我们能够看见刚才做的这一切, 将主摄像机(Main Camera)放置在(20,10,-20),并且将旋转角度设置为(15,-45,0)

                                                                                                           

                                                                                                                          Camera 设置

                好,这就是在第一张我们需要做的,首先我们创建了一个Plane作为地面,和一个Cube,我们又加上了一个点光源作为太阳。最后,我们又移动了摄像机,让我们可以看见我们做的这些。


                                                                             


                                                                                                         最后,你的场景看上去应该是这样


              这一章就这些内容了,非常简单,不是吗? 下一章,我们将会开始创建整个游戏的架构,并且让我们可以控制摄像机移动。



                                                                                                                                        第一章完,更多内容,尽情期待。
                                                                                                                                          最后一次编辑:Wed 4 Sep,2013
                                                                                                                                                By Spinach  HaoYan QI
                     

Unity实战 RTS3D即时战略游戏开发(八) HUD的使用 小地图显示

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这一章我们讲处理HUD的显示与隐藏,首先我们找到在第一章所提供的下载链接中找到Resources—》Content3中找到HUD.U...

Unity实战 RTS3D即时战略游戏开发(二)

大家好,我是Zander,我们接着来开发Rts3D即时战略性游戏,本次所需要的资源大家可以在上篇文章所给的链接中下载。      首先、我们要在下载好的工程包中找到Scenes文件夹并打开RTSMa...

Unity实战 RTS3D即时战略游戏开发(十一) 建造AI、生产AI

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这节课我们接着来讲AI的相关部分(建造AI、生产AI)。Ai 要知道如何建造建筑,在拥有足够的钱和无人机就可以创建。例如没有建筑...

Unity实战 RTS3D即时战略游戏开发(十二) 战斗AI的控制

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这节课我们接着来讲AI的相关部分:战斗AI。          游戏中要进行战斗,就需要让AI会攻击,首先在一定范围内如果有足够的...

Unity实战 RTS3D即时战略游戏开发(三)

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。上一章我们为场景添加了Manager,以及玩家初始化信息。 下面我们来完成以下功能:导航网格的设置、摄像机的操控、以及制作单位预设。...

Unity实战 RTS3D即时战略游戏开发(四)

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。上一章我们添加了突出显示玩家的状态显示,这节课我们来处理一下单位被选中或取消时的效果,通用的办法是使脚本处理每个可交互的对象,但是我...

Unity实战 RTS3D即时战略游戏开发(十一) 单位生产

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。在 游戏中我们要建筑也能生产无人机,这一章我们就来实现一下具体操作。       首先在Actions文件夹下创建CreateUn...

Unity实战 RTS3D即时战略游戏开发(十) 可建造地点标示

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这一节我们来讲在地图上哪些区域可以建造建筑,哪些地方不可以。      建筑在地形上跟随鼠标,但是并没有标记指示在哪里可以建造,我...

Unity实战 RTS3D即时战略游戏开发(十) AiController

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。这节课我们开讲AI的相关部分。在游戏中,游戏AI有行为树,决策树、状态机等可选。我们将使用基本的等待队列,AI的每次决策都会返回一个...

Unity实战 RTS3D即时战略游戏开发(六) Navigation Mesh 自动寻路

大家好,我是Zander,我们接着来开发Rts3D即时战略游戏开发。上一章我们创建了鼠标管理控制器,接下来我们要为单位添加寻路功能。为了能让单位在地图上移动,我们需要知道在哪里点击了鼠标右键,首先要创...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Creating RTS Game With Unity3d(Chinese Edition) Part I 使用Unity3d制作即时战略游戏
举报原因:
原因补充:

(最多只允许输入30个字)