GAMESH

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

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

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

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

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

分享给朋友:

相关文章

高质量模型免费分享

高质量模型免费分享

网上找到的一个非常棒的模型,现在免费分享给大家,四边面的! 下载地址:https://pan.baidu.com/s/1ydpwtWU5bR4DeRD8g...

3dmax快速对齐插件升级版

3dmax快速对齐插件升级版

在平时用3dmax做动画的时候会遇到需要把两个无物体对齐的时候,如果只是物体对齐倒简单,如果需要对齐动画,可能3dmax自带的功能就有点坑爹了!比如有两个不同的物体需要做一样的动画,但是由于物体不一样...

可爱的Kitsune的3D模型-虚幻引擎资源

可爱的Kitsune的3D模型-虚幻引擎资源

可爱的Kitsune的3D模型。纵到史诗骷髅。完全模块化,包括不穿衣服的身体。包含不同的发型。通过材质实例轻松更改颜色。包含与 Live Link Face 应用程序兼容的 Apple Blendsh...

二次元美女角色模型11个动画支持unity虚幻引擎导入提供源文件

二次元美女角色模型11个动画支持unity虚幻引擎导入提供源文件

本动画和模型全网独家,绝无雷同!适用于学习和个人练习游戏开发使用,适用于制作3d动作游戏,本模型导出fbx文件支持各种主流游戏引擎,例如unity,虚幻。。。。。二次元美女角色文件共12个动画文件,提...

3dmax动画技巧-将鱼线浮出水面的部分固定(浮漂)

3dmax动画技巧-将鱼线浮出水面的部分固定(浮漂)

这周做一个钓鱼的项目时策划要求待机过程中鱼线露出水面的部分需要固定做一个浮漂,但是我的鱼线是用飘带插件解算的,下面始终在来回摆动。这就不得不需要我想办法去固定住露出水面的那一根骨骼了!首先我尝试使用i...

spine错误提示Uncaught Error: Animation not found: xxx或者spine is not defined

spine错误提示Uncaught Error: Animation not found: xxx或者spine is not defined

调用spine的webgl运行库时报错Uncaught Error: Animation not found: idle,意思就是提示我找不到对应的动画,但是实际上这个动画是存在的,经过反复测试最终发...

发表评论

访客

看不清,换一张

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