收藏 分销(赏)

unity3D本科生实训报告.doc

上传人:天**** 文档编号:4496399 上传时间:2024-09-25 格式:DOC 页数:14 大小:3.64MB 下载积分:8 金币
下载 相关 举报
unity3D本科生实训报告.doc_第1页
第1页 / 共14页
unity3D本科生实训报告.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
unity3D本科生实训报告 12 2020年4月19日 文档仅供参考,不当之处,请联系改正。 实训报告 题目: untiy3D游戏实训小结 实训方式   导师制  班 级    ( 级数媒1班)   届 别    ( )    学 号        姓 名          指导老师 (导师制导师/预就业导师/统一实训导师) 计算机学院 9月 一、 实训目的 1.1、理解使用Unity3D制作游戏的基本过程和方法。   1.2、理解Unity3D软件的操作界面  1.3、掌握地形的创立和简单编辑方法  1.4、掌握游戏场景中光源的添加和设置方法  1.5、掌握场景中简单对象的创立与属性设置方法  1.6、掌握场景中玩家角色的创立与设置  1.7、掌握基于碰撞检测的游戏逻辑脚本编程实现  二、 实训意义 2.1、 贯彻坚强实践环节和理论联系实际的教学原则,增加学生对专业感性认识的深广度,运用所学知识和技能为后续课程奠定较好的基础。 2.2、经过实训,开阔学生眼界和知识面,获得计算机硬件安装和系统维护的感性认识。与此同时安排适量的讲课或讲座,促进理论同实践的结合,培养学生良好的学风。 2.3、实中进行专业思想与职业道德教育,使学生了解专业、热爱专业,激发学习热情,提高专业适应能力,初步具备职业道德观念。 2.4、经过对专业、行业、社会的了解,认识今后的就业岗位和就业形式,使学生确立学习方向,努力探索学习与就业的结合点,而发挥学习的主观能动性。 三、 实训内容 3.1场景搭建 3.1.1利用基础物体搭建场景: 游戏对象的Transform属性能够进行位置、旋转、大小的设置。 属性: 1、 transform.position在世界空间坐标transform的位置 2、transform.rotaition//旋转 3、transform.scale//缩放 方法: 1、位移:transform.Translate 2、旋转:transform.Rotate 3、围绕旋转:transform.RotateAround 查找:Transform.Find //经过名字查找子物体并返回它 3.1.2搭建地形 1、 地形绘制 2、 草地绘制 3、 添加树木 4、 添加天空盒子 5、 增加雾气和水湖 3.2利用基本物体制作小游戏: 3.2.1 gameobject随机生成 GameObject是Unity场景里面所有实体的基类. 对象创立:GameObject cube=GameObject.CreatePrimitive (PrimitiveType.Cube); 克隆对象:GameObject.Instantiate (cube);//克隆一个cube对象 销毁对象:GameObject.Destroy (cube, 2f);//两秒之后cube对象销毁 对象的查找:GameObject go=GameObject.Find ("Cube"); GameObject go2=GameObject.FindWithTag ("cube") 3.2.2碰撞检测 碰撞器(Collision) OnCollisionEnter(Collision col){}//进入 OnCollisionStay(Collision col){}//逗留 OnCollisionExit(Collision col){}//退出 触发器(Trigger) OnTriggerEnter(Collider col){}//进入 OnTriggerStay(Collider col){}//逗留 OnTriggerExit(Collider col){}//退出 区别:是否勾选IsTrigger,触发器必须勾选上Is Trigger,碰撞器不需要。 3.3UI设计 1. 游戏开始按钮 2.介绍按钮3.设置按钮(音量控制) 4.切换动画录制 3.4小游戏详细设计 分数统计 public static int score=0; public GameObject scorer; 最高分纪录 highscore.GetComponent<Text>().text =PlayerPrefs.GetInt("recorder").ToString (); if(score>=target){NextButton.SetActive (true);} else{OverButton.SetActive (true);} 时间控制: InvokeRepeating ("CountDown",0,1); void CountDown() { time-= 1; } Time.deltaTime   //计时 游戏暂停: 游戏进行中,玩家可点击暂停按钮,出现暂停界面,并出现相应按钮选项。 游戏结束, 当剩余时间为0时,游戏结束,显示当前得分与最高得分。达到目标值,进入下一关,若没达到目标值,进入结束界面。 3.5实训最终游戏设计 3.5.1游戏简介: 游戏开始,玩家可经过WASD键控制player进行上下左右的移动控制 游戏进行中,会随机产生各种物体,如海藻,海星,硬币,碰撞将会产生不同的效果,增加得分或生命值。若碰到炸弹则将破坏船体。 若达到关卡所需分数,游戏短暂暂停,增加分数值和生命值,达到下一关炮弹出现数量及速度增加,即游戏难度增加。 3.5.2游戏开始界面: 包括下拉式菜单栏,最高分统计,开始按钮,音量设置。 主菜单栏:设置有出现动画,包含shop按钮和missions按钮 Shop:菜单: 我的物品:显示我当前拥有的物品,包括生命值,加速器,防护罩及财富数量。 玩家能够根据需要和自己当前的财富值购买所需物品,用于接下来的游戏。 CURRENT MISSIONS:用于显示玩家当前需要完成的任务。 3.5.3游戏进行 点击开始按钮,游戏开始,开始动画启动,游戏界面展开。 float amtToMove = backspeed * Time.deltaTime; transform.Translate(Vector3.right * amtToMove); if (transform.position.x < -19.3f) { transform.position = new Vector3(26.03f, transform.position.y, 0); } 游戏背景控制:由两张背景图片构成,进行无缝连接,不断循环运动,与潜艇产生相对运动。 预设体的产生:以小组为单位,每隔一定的时间,随机产生已经设置好的物体队形。 产生的物体,同一组的以相同的时间向右运动,十秒后销毁物体。不同组别的物体从不同的初始位置产生。 游戏暂停界面:时间暂停,能够选择游戏重新开始或退出游戏。 碰到炸弹,触发爆炸效果,潜艇失控,下沉,游戏结束。 游戏结束,显示当前所得分数,若生命值大于1,玩家可选择消耗爱心,从游戏结束位置继续前行,分数,距离等数据累计,不清零。若当前无爱心值,则游戏彻底结束。 若潜艇前进距离达到目标值,显示get界面,增加相应生命值和财富值,选择下一个关卡,游戏继续,同时游戏速度增加,难度加大。相应目标值增加。 四、 心得和体会 刚开始实训的时候,其实心里是比较恐惧的,因为对Unity 3D这样的软件完全没有认知,对于这门课程的学习也处于比较茫然的状态,能够说是抱着尝试的心情开始这门课程的学习的。开始使用软件的时候,不知道从何下手,于是慢慢跟着老师进行操作,渐渐地,我发现其实并没有我想象中那么困难,一般的操作还是能够在书本上学到的,可能最终完全掌握会有难度,可是对于当前的要求,还是比较易于实现的。在学习并实践的过程中,可能在脚本游戏的代码编写上还是出现最多问题的,有的时候就是照搬书本上的代码,也会出错,不但仅是粗心,也是我对于代码并不熟悉导致的,在一遍遍的修改中,我对代码的编写也更加熟练,相比较之前的生疏,现在算是比较得心应手了。另外,比较困扰我的就是摄像机位置的各方面调整,有的时候很难调整到想要的角度,最后只能将就,这点让我很是纠结。对于这种情况,我试着各种方法达到理想效果,如果说我改变不了摄像机,那我只能改变我设置的场景、对象的位置了,虽然这样的方法比较笨,而且可能会比较繁琐,可是最终也帮助我实现了想要达到的效果。  我最终还是自己尝试着学习了Unity 3D的操作,可能我所做所学的都是基础的知识,相对简单的,可是我还是学到了很多,不能说了解但也是熟悉了这个软件。希望在以后的工作中能够好好利用本次实训所学习到的内容。 
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服