一个基础的3DRPG游戏
介绍
使用Unity3D开发,总代码6000+行,主要是一套简单的代码框架,具备一定的扩展性。游戏中填充了第一关的内容以展示功能。(仍然有许多改进空间)
战斗系统
在动画中添加事件从而调用伤害判定函数,使用Cast函数进行伤害检测
交互系统
使用Physics.Raycast()检测屏幕中央可交互物体,目前游戏中包含对话物、拾取物、宝箱三类可交互物体
物品系统
ScriptableObject实现的物品配置
通过实现IBeginDragHandler、IDragHandler、IEndDragHandler、IPointerDownHandler、IPointerEnterHandler、IPointerExitHandler、IPointerClickHandler七个接口,从而实现拖动更换物品所在的物品格、光标悬浮时显示物品详细信息、点击以使用/购买/出售物品的功能
AI系统
使用Navigation来对AI进行控制,从而在移动时自动避开障碍物。目前包含四类AI:
- 士兵:通过判断与玩家之间的距离改变行为模式,远距离时在自身一定范围内游走待机,中距离时主动向玩家移动,近距离时攻击或后撤
- 野猪:在初始位置周围选取固定坐标并来回游走,在受到攻击后会改变移动速度进入奔跑状态
- 野兔:类似于野猪,但在玩家靠近时便会逃走
- 村民:在配置好的路径点之间来回移动,并在对应位置播放待机动画
展示
3DRPG项目展示
一个基础的3DRPG游戏相关推荐
- golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)
此文写在golang游戏开发学习笔记-创建一个能自由探索的3D世界之后,感兴趣可以先去那篇文章了解一些基础知识,在这篇文章里我们要创建一个简单的2D游戏场景以及配套的人物,并实现人物运动和碰撞检测功能 ...
- python写一个游戏多少代码-使用50行Python代码从零开始实现一个AI平衡小游戏
集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym, ...
- c++代码小游戏_用Python编写一个打乒乓球小游戏
Python功能十分强大,从科学计算到人工智 能,当然Python还可以编写游戏代码喔,虽然不是主流,但是是否应该了解一下呢?茶余饭后,编写一个很有趣的小游戏,编程半小时,能玩一整天,不断的调整游戏参 ...
- 这是我第一次使用代码创建出一个窗口【python 游戏实战 01】
前言 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题.此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课 ...
- 如何制作一个基于Tile的游戏 2 Cocos2d-x 2 0 4
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在第一篇 ...
- html5游戏开发-零基础开发RPG游戏-开源讲座(四)
了解上三篇的内容请点击: html5[color=rgb(68, 68, 68) !important]游戏开发-零基础开发RPG游戏-开源讲座(一) http://www.html5cn.org/a ...
- c语言min函数_C语言探索之旅 | 第一部分第十课:第一个C语言小游戏
内容简介 前言 准备工作和建议 我的代码 改进方案 第一部分第十一课预告 1. 前言 上一课是 C语言探索之旅 | 第一部分第九课:循环语句 . 经过前面这么多课的努力,我们终于迎来了第一个比较正式的 ...
- UE4-如何做一个简单的TPS角色(一)-创建一个基础角色
打开UE4进入创建项目界面,选择游戏,第三人称项目进入下一步 按照以下配置创建一个项目,命名任意,一定要包含初学者内容!!!关系到后面素材使用 项目创建完成后,先创建一个Level文件夹,在文件夹中创 ...
- python 2048游戏的设计_Python练习:100行代码实现一个简易的2048游戏
一.任务目标 1.一个在命令行下的2048游戏 2.主要实现功能:判断游戏是否结束:在随机空白位置生成新的数字:上下左右四个方向上进行平移数字并将能合并的数字进行合并:接收键盘输入:将数字阵列显示到命 ...
最新文章
- cpc无法获取系统office信息_智能云信息发布系统解锁信息获取新方式
- JDK 竟然是这样实现栈的?
- 如何创建高质量的TypeScript声明文件(六) - 示例
- JZOJ 3871. 【NOIP2014八校联考第4场第1试10.19】无聊的游戏(game)
- HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引
- java 短链跳转原理_给你代码:短链接生成原理
- Linux中最受欢迎的邮件传输代理(MTA)
- 一种非常实用的系统掉电检测和保护电路---摘自:周立功单片机
- LeetCode 263. Ugly Number
- 设置背景图片的两种方式,并解决手机端背景图片高度自适应问题
- python变量的数据类型
- Android实践--监測网络状态
- 随机数生成器python_Python中的随机数生成器
- 转:Subversion TortoiseSVN: Installed and started on Windows 2003 server and local machines
- c语言英文字母降序排列,英文单词排序
- 优秀课程案例:使用Scratch制作打弹球游戏3-过关增强版
- Python 对象烤地瓜
- python中len是什么函数_总结Python中len()函数的使用实例
- 天翼数字生活C++客户端实习
- 美国国家航空航天局NASA的软件项目开源啦~
热门文章
- 男性的12种健康食物!
- ios wallet开发_Wallet app-想知道钱都花哪去了?试试它吧#iOS #Android
- 应急响应之日志排查方法,Windows篇
- 2017秋-软件工程第五次作业(1)-【探路者】团队选题展示(文案+美工)
- 攻防世界 base64stego
- 报错These relative modules were not found:
- 我的周记2——“天道酬勤
- pycharm 改回插入模式
- 尚医通-医院详情功能(二十七)
- catia dse_DSE Graph评论:Graph数据库起双重作用