Unity3D游戏开发之游戏基地实现

Unity3D游戏开发之游戏基地实现

ID:39891228

大小:1.22 MB

页数:24页

时间:2019-07-14

Unity3D游戏开发之游戏基地实现_第1页
Unity3D游戏开发之游戏基地实现_第2页
Unity3D游戏开发之游戏基地实现_第3页
Unity3D游戏开发之游戏基地实现_第4页
Unity3D游戏开发之游戏基地实现_第5页
资源描述:

《Unity3D游戏开发之游戏基地实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、在做一个策略类的游戏时,需要实现一个基地的功能,功能并不是太复杂,默认只能显示场景的一部分,然后通过场景(地形)查看场景中的其他部分(但是摄像机不能超出地形),当点击建筑时,建筑选中并且有选中效果,当点击非建筑时,选中效果消失!并且可以拖动场景中的建筑到一定地方,因为准确需求还不明确,所以事先做了个基地的DEMO!最终效果如下:20141011163816_4843.jpg(85.64KB,下载次数:0)下载附件 保存到相册5 天前上传      第一步:先布局好大体场景界面,如下图,只有两个建筑,一个平面(用于绘制格子,因

2、为没有足够的资源,格子未显示),另外还有一个叫BuildingCamera的摄像机,这个摄像机非常重要,主要目的是为了让拖动的对象始终显示在最上层!20141011170314_1875.jpg(153.27KB,下载次数:0)下载附件 保存到相册5 天前上传下面我们需要给场景添加一个Layer,我们取名叫BuildingLayer,如下图:20141011171246_8281.jpg(143.83KB,下载次数:0)下载附件 保存到相册5 天前上传20141011171256_3593.jpg(38.96KB,下载次数:

3、0)下载附件 保存到相册5 天前上传    添加好层之后,我们需要修改BuildingCamera摄像机的参数,Layder设置为BuildingLayer,需要修改BuildingCamera的ClearFlags为DepthOnly,CullingMask为Building,并且要确保Depth的值大于MainCamera的值,如下图:20141011164521_2500.jpg(148.82KB,下载次数:0)下载附件 保存到相册5 天前上传我们给Plane添加SceneGrid.cs脚本,这个脚本什么也没有,主要是

4、为了方便PhysisUtils.cs脚本检测对象,如下图:文章来自【狗刨学习网】20141011165022_3593.jpg(149.49KB,下载次数:0)下载附件 保存到相册5 天前上传SceneGrid.cs代码如下:1.usingUnityEngine;2.usingSystem.Collections;3.4.publicclassSceneGrid:MonoBehaviour{5.6.      //Usethisforinitialization7.      voidStart(){8.      9.  

5、    }10.      1.      //Updateiscalledonceperframe2.      voidUpdate(){3.      4.      }5.}复制代码接着,我们给建筑对象(可拖动的对象)添加SceneBuilding.cs脚本,如下图:20141011165207_6406.jpg(170.56KB,下载次数:0)下载附件 保存到相册5 天前上传SceneBuilding.cs代码如下:1.usingUnityEngine;2.usingSystem.Collections;3.4.p

6、ublicclassSceneBuilding:MonoBehaviour5.{6.      publicstringbuildingType;7.8.      ///9.      ///默认材质10.      ///11.      privateMaterialdefaultMaterial;12.13.      voidAwake()14.      {15.          this.defaultMaterial=this.gameObject.renderer.sharedMaterial;16.  

7、    }17.18.      ///19.      ///设置建筑选中/未选中状态20.      ///21.      ///Ifsettotruestatus.22.      ///Material.23.      publicvoidChangeSelect(boolstatus,Materialmaterial)24.      {1.          if(status)2.          {3.                material.SetTexture("_MainTex",this

8、.defaultMaterial.GetTexture("_MainTex"));4.                this.gameObject.renderer.sharedMaterials=newMaterial[]{this.defaultMaterial,material};

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。