GAMESH

游戏美术动画unity资源搬运工!

剧情党,完美控!
桐崎千棘
当前位置:首页 > 学习 > 正文内容

unity游戏引擎开发的ARPG游戏DEMO

admin6年前 (2020-06-05)学习9497860

耗时一个月左右终于完成了这个ARPG游戏的demo,基本框架已经达到了我的要求,只是还有些小bug需要后面慢慢修复!

demo功能包括:

移动(走动-小跑-疾跑)

普通攻击

无限连击

空中攻击

空中对地攻击

8个技能(采用RT+ABXY和 LT+ABXY进行组合)

坐骑

游泳

宠物

敌人AI(多技能攻击,自动追踪)

镜头缩放

视角控制

商店

切换武器

装备/道具

任务系统

技能系统

角色状态栏

背包

npc对话

npc任务

本人是一个游戏动画师,对于程序方面有些吃力,靠着日积月累的一点c#知识勉强改出了自己想要的功能,游戏动画量多很多地方没有细做,需要以后慢慢细化!

这个demo素材均来自网络,所以只供学习研究使用!如果我打算把它继续做下去估计会购买正版素材,毕竟现在人们为了避免不必要的麻烦,对版权越来越重视了!游戏的基本框架是Action-RPG Starter Kit6.5,场景美术是Handpainted Forest Environment,我是在这些基础上改进过来的!

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第1张

为了达到一个比较好的arpg效果我增加了一些新的功能,比如突进,翻滚,跳跃攻击,技能跟随,锁定敌人,手柄震动。。。。。。。为了达到效果满意所以动画方面绝对不能少,下面是animator

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第2张

从图片可以看出动画数量是不少的!

  个人比较偏爱手柄玩游戏,所以游戏按键大部分都是适配了xbox游戏手柄!增加了震动反馈,当受到打击时释放技能时手柄均会震动!使游戏玩起来更有手感!为了游戏npc更智能我使用了NPCPopulator插件制作群体npc动画,npc会随机走动在指定范围内!unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第3张


为了增加打击感,使用了动画速度控制,当击中敌人时攻击动画会把速度变成0.1,持续0.3秒且镜头会震动。

IEnumerator animspeed1()
    {
      

        animator.speed = 0.1f;
        yield return new WaitForSeconds(0.3f);
        animator.speed = 1f;


       

    }

自动锁定面前敌人,让攻击失误减小

public void OnGetEnemy(Transform player, int radius, int angle)
    {

        List<GameObject> mList = new List<GameObject>();
        //球形射线检测,得到主角半径2米范围内所有的物件
        Collider[] cols = Physics.OverlapSphere(player.position, radius);
        //判断检测到的物件中有没有Enemy
        if (cols.Length > 0)
        {
            for (int i = 0; i < cols.Length; i++)
                //判断是否是怪物
                if (cols[i].tag.Equals("Enemy"))
                { //判断敌人是否在主角前方60度范围内


                    Vector3 dir = cols[i].transform.position - player.position;
                    if (Vector3.Angle(dir, player.forward) < angle)
                    {
                        mList.Add(cols[i].gameObject);



                    }
                }


            float distance_min = 10000;    //主角与怪物的最近距离
            float distance = 0;            //当前怪物与主角的距离
            int id = 0;                    //与主角最近的怪物的编号
                                           //遍历所有敌人,计算距离并比较
            for (int i = 0; i < mList.Count; i++)
            {

                distance = Vector3.Distance(transform.position, mList[i].transform.position);
                if (distance < distance_min)
                {
                    //找到一个更近的
                    distance_min = distance;
                    id = i;

                }
            }


            if (mList.Count > 0)
            {


                Vector3 targetPos = mList[id].transform.position;
                //攻击点面向怪物


                targetPos.y = this.transform.position.y;
                this.transform.LookAt(targetPos);//使主角望向距离最近的敌人并开始攻击
                targetPos.y = targetPos.y + 1;
                attackPoint.LookAt(targetPos);

            }


            // cols[i].GetComponent<BaseHero>().OnTakeDamage();



        }
        return;
    }

游戏受到攻击手柄震动,这里引用了XInputDotNet这个插件

 IEnumerator SetVibration(float right, float left, float tim)
    {
        if (this.tag == "Player") { 
        Debug.Log("震动");
        // XInputDotNetPure.dll
        XInputDotNetPure.GamePad.SetVibration(_type, right, left);
        yield return new WaitForSeconds(tim);
        XInputDotNetPure.GamePad.SetVibration(_type, 0, 0); }
    }

游戏场景截图

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第4张unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第5张

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第6张

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第7张

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第8张

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第9张


unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第10张

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第11张

unity游戏引擎开发的ARPG游戏DEMO 3dmax 游戏动画 unity 游戏引擎 独立游戏 第12张

游戏视频


如果你对ARPG开发感兴趣可以试着联系我共同研究!游戏试玩过两天单独放出来!

安卓版试玩下载

扫描二维码推送至手机访问。

本サイト上に掲載の文章、画像、写真などを無断で複製することは法律で禁じられています。全ての著作権はGAMESHに帰属します。

本文链接:https://pylblog.com/post/183.html

分享给朋友:

相关文章

猫耳小美女3d模型下载

猫耳小美女3d模型下载

高精度可爱的漂亮女孩模型,格式为fbx通用3d格式。文件大小:185m文件格式:fbx绑定:有贴图:有贴图大小4096*40960.5元购买文件...

3dmax官方免费杀毒工具

3dmax官方免费杀毒工具

3ds Max 杀毒工具是 Autodesk 官方发布的用于安全地检测并移除恶意代码。恶意代码可能会损坏 3ds Max 环境和场景文件,导致数据丢失和不稳定,还有可能通过共享 3ds Max 场景文...

3dmax各种问题解决方案

3dmax各种问题解决方案

做动画已经几年了,一年中大部分的时间都在跟3dmax打交道!每天总会遇到许多奇葩的问题,然后这里我就根据自己经验总结一些决绝解决办法,希望对大家有帮助!   1.0  &...

3dmax动作库

3dmax动作库

3dmax动画管理系统,支持biped系统动画快速存储读取!为广大动画师提供便捷,加速动画制作效率。程序支持将场景渲染gif动画,方便预览!程序分为两个模块,一个用作导出动画,一个用作加载动画。动作库...

3dmax批量导出/导入

3dmax批量导出/导入

这是一个免费的脚本,非商业用途。这是将模型从3ds Max传输到ZBrush / Unity / UDK /的完美脚本。基本上,它将对象导出到多个文件。支持的格式:max,obj,fbx,3ds,as...

3dmax bones骨骼动画曲线顺滑轨迹乱转解决

3dmax bones骨骼动画曲线顺滑轨迹乱转解决

今天在做项目时需要做一个小鸟眩晕的动画,首先先让小鸟转一个圆,然后我key了三帧奇怪的现象发生了,原本这三帧的效果轨迹线应该是一个规则的圆圈但是现在出现的是一个不规则的8字形如图:为什么会这样我也没具...

评论列表

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。