GAMESH

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

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

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

admin2年前 (2020-06-05)学习2308

耗时一个月左右终于完成了这个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

分享给朋友:

相关文章

unity次世代欧美古代场景Fantasy Megapack

unity次世代欧美古代场景Fantasy Megapack

论坛购买的资源,花了不少钱!资源看起来还不错,可以用到自己的平时练习中效果也还蛮不错!下载文件function dodo(){ layer.msg('即将弹出二维码页面! ', { tim...

unity制作2d横板过关demo

unity制作2d横板过关demo

unity制作的一款2d横板游戏demo,目前只是做着玩只有一关素材来源于网络!   有兴趣的可以下载来体验一下地址:https://pylblog.com/up/ind...

unity场景资源

unity场景资源

资源包名:Titan Town .unitypackage 泰坦之城村落场景 发布者:Purple Jump 价格:$10 适用版本:要求Unity 5.1.1...

unity3d启动一次后无法再启动

unity3d启动一次后无法再启动

前两天遇到一个奇葩问题,就是打开unity3d第一次开机可以正常启动,关闭后就没法再启动,就卡在界面那里。只有重启电脑才能再次打开,一开始我也不知道怎么解决。无意中我发现娱乐管家把unity禁止了联网...

A* Pathfinding Project 4.22下载

A* Pathfinding Project 4.22下载

A* Pathfinding Project 是一个功能强大并且易于使用的 Unity 寻路系统。通过快速的路径寻找,您的 AI 将立即在复杂的迷宫中找到玩家。非常适合 TD、FPS、RTS 游戏。看...

mmd转unity动画工具MMD4Mecanim网盘下载

mmd转unity动画工具MMD4Mecanim网盘下载

这是一个将PMX(PMD)+ VMD转换FBX到Unity(Mecanim)的运行的脚本。 支持物理骨骼!1下载zip文件并将其解压缩到mmd4mem.unitypackage将其复制到unity的...

发表评论

访客

看不清,换一张

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