项目简介

一个Unity3D开发的角色扮演游戏,适合初学者参考学习,也可以用来做毕业设计,解压即可使用。

资源链接

RPG游戏《狩魔猎人》全套代码+资源

演示视频: https://b23.tv/oqvhQGZ

资源介绍

游戏场景 2种

人物模型 6种

怪物模型 4种

武器模型 20种

粒子特效 50+

装备、道具图标 56+

UI素材若干

攻击、走路、死亡等动画若干

游戏大小

1.23g(压缩包628m)

游戏功能设计

游戏分为10部分,分别是游戏界面设计、游戏地图设计、角色设计、怪物系统、游戏道具设计、背包系统、商店系统、战斗系统、任务系统、存储系统。

游戏界面设计

游戏界面

主菜单

角色创建界面

游戏界面

商店界面

任务界面

角色属性界面

背包界面

部分代码展示

怪物有限状态机实现

    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游戏开发完整项目,全套代码+资源相关推荐

  1. (Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?

    游戏行业作为当下最火热的行业之一,受到了很多人的喜爱,也有很多同学想要进入游戏开发行业,但常常找不到靠谱的学习资源,不知道如何在入行前拥有项目经验,我为大家准备了最实用的unity游戏开发学习资料,助 ...

  2. Unity游戏开发——新发教你做游戏(三):3种资源加载方式

    文章目录 一.前言 二.Unity的目录结构规范 1.Resources(不是很推荐把资源放这个目录) 2.RawAssets(存放生资源) 3.GameRes(存放熟资源) 4.StreamingA ...

  3. 40个Unity游戏开发小阴招

    推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 Unity游戏开发小技巧集结,不用谢我,我只是大自然的搬运工 1. 借助 Prefab 暂存数据 可以直接在脚本的 In ...

  4. Unity游戏开发之游戏存档方式

    目录 1.Unity自带存储方式PlayerPrefs 2.XML存储方式 3.Json类型存储方式 1.Unity的序列化问题 2.Unity中支持序列化的类 3.Unity中Json的使用方法 4 ...

  5. Unity游戏开发-游戏热更新以及登录流程

    本篇主要分享基于热更新的游戏初始化方案. 整体初始化的流程大致为:检查是否需要解压资需要则解压,之后再检查是否存在需要热更新的资源文件需要则更新,更新完成后则初始化结束可进入登录界面. 关于登录这块的 ...

  6. 零基础小白如何自学 Unity 游戏开发?(送 Unity 教程)

    如何自学 Unity? 初级阶段:学习编程语言 初级阶段:编程实践 中级阶段:继续学习编程语言 Unity 教程赠书活动 内容简介 作者简介 赠书方式 如何自学 Unity? 有很多同学对 游戏开发 ...

  7. Unity游戏开发官方入门教程:飞机大战(十)——敌人的爆炸和移动

    Unity版本:Unity 2018.2.14f1 原视频链接:https://unity3d.com/cn/learn/tutorials/s/space-shooter-tutorial 教程目录 ...

  8. confluence 编辑器这次没有加载_喵的Unity游戏开发之路 - 多场景:场景加载

    如果丢失格式.图片或视频,请查看原文:喵的Unity游戏开发之路 - 多场景:场景加载 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏 ...

  9. (完结)Unity游戏开发——新发教你做游戏(七):Animator控制角色动画播放

    文章目录 一.前言 二.Animator状态机组织 三.过渡条件 四.用代码设置过渡条件,触发动画播放 五.CharacterAniLogic.cs完整代码 一.前言 文章列表 Unity游戏开发-- ...

最新文章

  1. 「AI不惑境」残差网络的前世今生与原理
  2. flowable 配置自定义表单_Flowable用代码自定义流程
  3. linux useradd命令使用示例
  4. 在robotframework中连接数据库进行操作
  5. arm中断保护和恢复_嵌入式ARM系统异常和中断处理知识总结
  6. Linux bunzip2命令:bz2格式的解压缩命令
  7. 哪些因素造成外贸网站没效果?
  8. 苹果紧急修复已遭 NSO Group 利用的 iMessage 0day以及另一个0day
  9. modelsim调用产生随机数及创建虚拟类
  10. Apache OpenNLP下载
  11. Quartus JIC 焼写
  12. 当电子工程师十余年,感慨万千
  13. 第6章 DataNode
  14. 计算机制图大赛,制图大赛简介
  15. 中图分类法----O 数理科学和化学
  16. flutter 带未读消息的底部导航
  17. ​2021年数模国赛A题国二摘要及经验分享(回忆篇,附部分代码)
  18. 3dmax中如何赋予材质
  19. java swing实现图文混排_跟我学Java Swing之游戏设计(4)
  20. 什么是多态?为什么要使用多态?什么时候用多态?多态是如何实现的?使用多态有什么好处?

热门文章

  1. 一袋土豆(小故事大道理)
  2. 承上启下:基于全域漏斗分析的主搜深度统一粗排
  3. 一款不错的LaTex作业模块
  4. 十二、垃圾回收的一些概念
  5. 【个人kivy学习笔记】
  6. Numpy数据存取与函数
  7. VSCode使用总结之——Ubuntu下设置鼠标后退键实现代码回跳
  8. 禁止网页在微信中下拉或者上拉露出“网页由XXX提供”
  9. 数字化转型中的五大陷阱
  10. 百度百科、搜狗百科、360百科、头条百科词条如何又好又快创建?五大杀手锏助力百科词条创建