3D游戏编程设计作业三

本文介绍了如何使用Unity3D进行3D游戏场景的构建,包括下载Fantasy Skybox创建游戏场景和地形编辑。同时,文章详细探讨了游戏对象的使用,解释了游戏对象作为组件容器的角色以及如何通过C#脚本来赋予它们功能。此外,还分享了编程实践,涉及动作分离的设计与实现,包括SSActionManager、CCMoveToAction和CCSequenceAction类的详细说明。
摘要由CSDN通过智能技术生成

1.基本操作演练

下载 Fantasy Skybox FREE, 构建自己的游戏场景

创建地形

首先添加一个Terrian对象,在Inspector窗口中对其进行修改

Inspector窗口中有很多功能,其中七个功能从左至右分别是造山,造等高地形,磨平山峰棱角可以让山峰更加平缓,造树,造草地,还有一些基本的设置

通过这些功能组建我们就可以在地形上自行发挥,可以在Assert Store里下载一些树和草的预设,创建草地的时候由于Unity的版本问题没有显示,但在Game运行状态下是可以看见的

我创建的地形运行图如下

首先在Assert Store里下载SkyBox并导入,这里随意选择一个好看的SkyBox

Import导入后,可以看到Assert中已经成功加入

在组件里添加天空盒,并将刚刚下载好的预设导入

再次运行可以看到一个基本的场景就搭建完成了

 

写一个简单的总结,总结游戏对象的使用

常见游戏对象有空对象,摄像机,光线,天空盒,地形,3D对象,声音,UI系统和粒子系统以及特效。均具有Active,Name,Tag,Layer属性.

根据Unity3D对GameObject的定义,游戏对象是游戏中人物、道具、场景等对象总称。它只包含一些基础的属性没有具体的功能,它们只是组件的容器,而组件实现了具体的游戏功能。在编程过程中我们可以给一个游戏对象添加C#代码脚本,挂载了脚本的游戏对象就有了具体的功能。代码中还可以对游戏对象的外观、位置等属性进行设置,游戏对象在游戏中的动作全部由脚本控制。所以,游戏对象的使用可以手动添加,但其功能基本由其组件决定。

 

编程实践

  • 牧师与魔鬼 动作分离版

    • 设计一个裁判类,当游戏达到结束条件时,通知场景控制器游戏结束

动作分离管理器的架构我按照课程网站架构进行设计,UML图如下

 

对于动作分离的实现,我参照了之前学长的博客发现其代码无法实现完全的动作分离,故我在其代码基础上做了改进

首先是动作管理器的几个关键类的实现

SSActionCallback接口

定义了事件处理接口,所有事件管理者都必须实现这个接口来实现事件调度

public interface ISSActionCallback{
	void SSActionEvent(SSAction source);
}

SSAction类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值