第二次作业

本文解析了3D游戏编程与设计的作业内容,包括游戏对象与资源的概念,Unity游戏案例分析,Unity脚本生命周期,GameObject、Transform和Component的关系,以及预设和对象克隆的区别。

3D游戏编程与设计 第二次作业

简答题

1.游戏对象指游戏内的所有独立物件的集合,如人物、建筑、地形等。资源指游戏中除游戏对象以外的文件,如背景音乐、剧情文本、CG等。资源是为游戏对象服务的,为了能更好地营造游戏的气氛,以玩家能身临其境地投入游戏中为目的来设计的。

2.下载了2个游戏案例(在https://unity3d.com/cn/learn/tutorials中),3D游戏Tower Defense和2D游戏2D Rougelike。下面是这两个游戏的资源、对象组织结构的分析:

首先是Tower Defense Template

在这里插入图片描述

Assets下的分类分别为动画、音频、数据、文件、字体、小图标/3D贴图(然而里面没放什么内容,因为都放在后面的用户界面/模型的文件夹下了)、材料、模型、特效(爆炸特效、发光特效等小型特效)、后处理、预制、场景、脚本、用户界面。

在这里插入图片描述

再看看游戏对象树,在WorldObjects之下,有着基础火箭塔、机枪塔、超级塔、激光塔、能量收集塔等游戏对象,每一个对象下面还有许多的细分对象,以实现防御塔地部分移动性。据此可以推测,像地图、敌方部队等对象应是采取贴图的方式来实现的,因此不存在于游戏对象树内。

在这里插入图片描述

另外一个游戏案例为2D Rougelike

在这里插入图片描述

Asset下的分类为游戏封面、音频、字体、场景、脚本和教程信息(这个游戏是面向制作游戏的新手的)。

在这里插入图片描述

再看看Main menu,发现其下的所有子类都没有有关游戏对象的项目,因为这只是一款2D游戏,游戏对象完全可以通过贴图+脚本的模式来实现基本移动,因此便没有必要在Unity内建立对象来操作了。

在这里插入图片描述
3.代码如下所示:
在这里插入图片描述
把这一段代码粘贴到镜头上,点击运行后停止,得到的log信息如下:
在这里插入图片描述
在这里插入图片描述

根据这两张图容易得出:
Awake():在游戏开始时执行,只执行一次
Start():在游戏开始时执行,只执行一次,在Awake()后执行
Update():每一帧执行一次
FixedUpdate():每Fixed Time执行一次
LateUpdate():每一帧执行一次,在Update()后执行
OnGUI():每半帧执行一次(这个是上网查的,不知为何在这里没有出现)
OnEnable():在激活脚本时执行。
OnDisable():与OnEnable相对,在未激活脚本的时候执行

4.GameObject(游戏对象):统一场景中所有实体的基类。
Transform(变换):物体的位置、旋转和比例。
Component(部件):所有附加到游戏对象的东西的基类。

Table游戏对象的 Inspector 面板如下:
在这里插入图片描述
从上往下第一个框为Table的activeSelf属性,可以修改对象的名字、标记和所在层等
第二个框为Transform属性,可以修改对象的位置、角度和比例
第三个框说明了该物体被分为了cube网格类
第四个框为Mesh Renderer属性,可以修改对象的材质、光线等属性
第五个框为Box Collider属性,可以修改对象的碰撞箱
以上的属性都可视为Table这个对象的部件。

三者的uml图关系如下:
在这里插入图片描述
5.预设和对象克隆都可以快速生成有规律的大规模场景。
不同点在于预设的基础对象发生变化,则所有通过预设实例化的对象都会随之变化,便于批量处理;但对象克隆得到的实例不会与本体有所关联,便于局部修改。

编程题

传送门

数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)内容概要:本文围绕“数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究”展开,提出了一种结合数据驱动与分布鲁棒优化方法的建模框架,用于解决电热综合能源系统在不确定性环境下的优化调度问题。研究采用两阶段优化结构,第一阶段进行预决策,第二阶段根据实际场景进行调整,通过引入1-范数和∞-范数约束来构建不确定集,有效刻画风电、负荷等不确定性变量的波动特性,提升模型的鲁棒性和实用性。文中提供了完整的Matlab代码实现,便于读者复现和验证算法性能,并结合具体案例分析了不同约束条件下系统运行的经济性与可靠性。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合从事综合能源系统、鲁棒优化、不确定性建模等相关领域研究的专业人士。; 使用场景及目标:①掌握数据驱动的分布鲁棒优化方法在综合能源系统中的应用;②理解1-范数和∞-范数在构建不确定集中的作用与差异;③学习两阶段鲁棒优化模型的建模思路与Matlab实现技巧,用于科研复现、论文写作或工程项目建模。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现细节,重点关注不确定集构建、两阶段模型结构设计及求解器调用方式,同时可尝试更换数据或调整约束参数以加深对模型鲁棒性的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值