Unity游戏开发完整项目,全套代码+资源
项目简介
一个Unity3D开发的角色扮演游戏,适合初学者参考学习,也可以用来做毕业设计,解压即可使用。
资源链接
RPG游戏《狩魔猎人》全套代码+资源
演示视频: https://b23.tv/oqvhQGZ
资源介绍
游戏场景 2种
人物模型 6种
怪物模型 4种
武器模型 20种
粒子特效 50+
装备、道具图标 56+
UI素材若干
攻击、走路、死亡等动画若干
游戏大小
1.23g(压缩包628m)
游戏功能设计
游戏分为10部分,分别是游戏界面设计、游戏地图设计、角色设计、怪物系统、游戏道具设计、背包系统、商店系统、战斗系统、任务系统、存储系统。
游戏界面设计
游戏界面
![](/assets/blank.gif)
主菜单
![](/assets/blank.gif)
角色创建界面
![](/assets/blank.gif)
游戏界面
![](/assets/blank.gif)
商店界面
![](/assets/blank.gif)
任务界面
![](/assets/blank.gif)
角色属性界面
![](/assets/blank.gif)
背包界面
部分代码展示
怪物有限状态机实现
void StateUpdate(){//如果目标存在且非死亡状态,切换攻击状态if (target && state != MonsterState.Death){state = MonsterState.Attack; }switch (state){//空闲状态case MonsterState.Idle:if (anim.isPlaying == false){int num = Random.Range(0, 10);switch (num){case 0:case 1:case 2:case 3:case 4:anim.CrossFade("idle");break;case 5:case 6:anim.CrossFade("idle_lookaround");break;case 7:case 8:anim.CrossFade("roar");break;case 9:state = MonsterState.Walk;break;}}break;//行走状态case MonsterState.Walk://如果没有播放行走动画if (anim.IsPlaying("walk") == false){int i = Random.Range(0, monsterManager.nextPos.Length);nextPos = monsterManager.nextPos[i].position;transform.LookAt(new Vector3(nextPos.x, transform.position.y, nextPos.z));}anim.CrossFade("walk");//如果正在播放行走动画if (anim.IsPlaying("walk") == true){controller.SimpleMove(transform.forward * walkSpeed);DistanceUpdate(nextPos);if (distance < 0.5f){anim.Stop();state = MonsterState.Idle;}}break;//追逐状态case MonsterState.Run:break;//攻击状态case MonsterState.Attack:if (target){Attack();}else{state = MonsterState.Idle;}break;//死亡状态case MonsterState.Death:break;}}
物品逻辑
public virtual void OnEndDrag(PointerEventData eventData){if (currentGrid.name == "Destroy"){Destroy(gameObject);}//如果格子有2个以上物品if (transform.parent.transform.childCount > 1){GameObject itemEx = transform.parent.transform.GetChild(0).gameObject;//如果是装备if (itemEx.tag == Tags.Equipment){itemEx.GetComponent<Equipment>().transform.SetParent(itemEx.GetComponent<Equipment>().currentGrid);}//如果是药水else if (itemEx.tag == Tags.Potion){itemEx.GetComponent<Potion>().transform.SetParent(itemEx.GetComponent<Potion>().currentGrid);}//如果是材料else if (itemEx.tag == Tags.Material){itemEx.GetComponent<ItemMaterial>().transform.SetParent(itemEx.GetComponent<ItemMaterial>().currentGrid);}itemEx.transform.localPosition = Vector3.zero;}ObjectsDialog.instance.ShowDlg(transform.position);}
Unity游戏开发完整项目,全套代码+资源相关推荐
- (Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?
游戏行业作为当下最火热的行业之一,受到了很多人的喜爱,也有很多同学想要进入游戏开发行业,但常常找不到靠谱的学习资源,不知道如何在入行前拥有项目经验,我为大家准备了最实用的unity游戏开发学习资料,助 ...
- Unity游戏开发——新发教你做游戏(三):3种资源加载方式
文章目录 一.前言 二.Unity的目录结构规范 1.Resources(不是很推荐把资源放这个目录) 2.RawAssets(存放生资源) 3.GameRes(存放熟资源) 4.StreamingA ...
- 40个Unity游戏开发小阴招
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 Unity游戏开发小技巧集结,不用谢我,我只是大自然的搬运工 1. 借助 Prefab 暂存数据 可以直接在脚本的 In ...
- Unity游戏开发之游戏存档方式
目录 1.Unity自带存储方式PlayerPrefs 2.XML存储方式 3.Json类型存储方式 1.Unity的序列化问题 2.Unity中支持序列化的类 3.Unity中Json的使用方法 4 ...
- Unity游戏开发-游戏热更新以及登录流程
本篇主要分享基于热更新的游戏初始化方案. 整体初始化的流程大致为:检查是否需要解压资需要则解压,之后再检查是否存在需要热更新的资源文件需要则更新,更新完成后则初始化结束可进入登录界面. 关于登录这块的 ...
- 零基础小白如何自学 Unity 游戏开发?(送 Unity 教程)
如何自学 Unity? 初级阶段:学习编程语言 初级阶段:编程实践 中级阶段:继续学习编程语言 Unity 教程赠书活动 内容简介 作者简介 赠书方式 如何自学 Unity? 有很多同学对 游戏开发 ...
- Unity游戏开发官方入门教程:飞机大战(十)——敌人的爆炸和移动
Unity版本:Unity 2018.2.14f1 原视频链接:https://unity3d.com/cn/learn/tutorials/s/space-shooter-tutorial 教程目录 ...
- confluence 编辑器这次没有加载_喵的Unity游戏开发之路 - 多场景:场景加载
如果丢失格式.图片或视频,请查看原文:喵的Unity游戏开发之路 - 多场景:场景加载 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏 ...
- (完结)Unity游戏开发——新发教你做游戏(七):Animator控制角色动画播放
文章目录 一.前言 二.Animator状态机组织 三.过渡条件 四.用代码设置过渡条件,触发动画播放 五.CharacterAniLogic.cs完整代码 一.前言 文章列表 Unity游戏开发-- ...
最新文章
- 「AI不惑境」残差网络的前世今生与原理
- flowable 配置自定义表单_Flowable用代码自定义流程
- linux useradd命令使用示例
- 在robotframework中连接数据库进行操作
- arm中断保护和恢复_嵌入式ARM系统异常和中断处理知识总结
- Linux bunzip2命令:bz2格式的解压缩命令
- 哪些因素造成外贸网站没效果?
- 苹果紧急修复已遭 NSO Group 利用的 iMessage 0day以及另一个0day
- modelsim调用产生随机数及创建虚拟类
- Apache OpenNLP下载
- Quartus JIC 焼写
- 当电子工程师十余年,感慨万千
- 第6章 DataNode
- 计算机制图大赛,制图大赛简介
- 中图分类法----O 数理科学和化学
- flutter 带未读消息的底部导航
- ​2021年数模国赛A题国二摘要及经验分享(回忆篇,附部分代码)
- 3dmax中如何赋予材质
- java swing实现图文混排_跟我学Java Swing之游戏设计(4)
- 什么是多态?为什么要使用多态?什么时候用多态?多态是如何实现的?使用多态有什么好处?