2018-05-16 13:11:25 qq_42162111 阅读数 1180
  • unity3D 六周带你开发《王者荣耀

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    2991 人正在学习 去看看 朱润
unity3D 六周带你开发《王者荣耀》—785人已学习
课程介绍    
jpg
    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。
课程收益
    通过结合实战讲解知识将更有利于你对unity3d的学习对王者荣耀游戏的认识,力求在最短的时间内掌握游戏开发过程。
讲师介绍
    朱润更多讲师课程
    7年从业经验,精通ios、安卓、linux等技术,曾主导开发苏宁易购项目、苏宁电子书项目、百阅阅读器项目、杭州葫芦网项目、苏宁云信项目、苏宁易付宝项目、苏宁彩票项目、云中宝项目、江苏东方股票交易软件、郑州棉花股票交易所软件等多个项目。
课程大纲
  第1章:认识unity及工具
    1.unity介绍及工具讲解  58:16
  第2章:unity代码及资源导入
    1.代码的简单讲解-1  52:27
    2.代码的简单讲解-2  01:00:20
    3.战斗场景的搭建  56:49
  第3章:场景布置
    1.动画机的使用  43:44
    2.防御塔的制作  01:00:23
    3.防御塔制作-2  34:39
    4.场景内布局-1  22:56
    5.场景内布局-2  39:42
  第4章:小兵的实现
    1.小兵动画机的实现  59:44
    2.小兵寻路点制作  58:48
    3.小兵的实现-1  01:00:20
    4.小兵的实现-2  01:03:44
    5.小兵实现追踪敌人  01:01:23
    6.小兵的自动生成  01:00:11
    7.优化小兵脚本  49:09
  第5章:游戏英雄生成及人物技能代码实现
    1.英雄制作  52:11
    2.英雄的移动  54:57
    3.英雄动画实现  49:50
    4.英雄技能的实现  53:35
    5.英雄的死亡逻辑  46:20
    6.血条的制作  53:28
    7.虚拟摇杆的实现  55:37
    8.持续性技能的实现  12:31
    9.技能特效的实现  01:02:39
    10.技能按钮的实现  43:38
  第6章:塔/水晶的制作
    1.防御塔增加特效  50:10
    2.防御塔重构  44:06
    3.水晶的实现  50:25
    4.优化血条  56:49
  第7章:UI界面使用及登录代码实现
    1.UI页面的使用-1  53:48
    2.UI页面的使用-2  57:49
    3.NGUI的使用  01:10:26
    4.MVC框架的设计  48:55
    5.登陆框的制作  01:09:33
    6.登陆实现代码-1  01:10:40
    7.登陆实现代码-2  01:03:07
  第8章:游戏内各种工具的实现
    1.文件IO流-1  49:26
    2.文件IO流-2  50:50
    3.字典的使用  01:21:31
    4.单例  54:23
    5.商店的制作  59:32
    6.背包的制作-1  59:32
    7.背包的制作-2  58:09
    8.作业解答  6:00
    9.具条的制作  01:40:45
    10.场景切换  01:14:57
  第9章:课程总结及问题解答
    1.课程总结及问题解答  26:57
大家可以点击【查看详情】查看我的课程
2019-12-18 11:59:38 qq_40229737 阅读数 52
  • unity3D 六周带你开发《王者荣耀

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    2991 人正在学习 去看看 朱润

首先创建可行走的路径进行静态导航烘焙

烘焙结果:

烘焙好路线之后,让小兵行走,我们在生成小兵时告知小兵行走的目标点,这个小兵是我方小兵,所以行走目标点是敌方塔:脚本如下:

小兵身上脚本:

using UnityEngine;
using System.Collections;

public class CreatSoldier : MonoBehaviour {
    [SerializeField]
    GameObject soliderPrefab;
    [SerializeField]
    Transform startTran;
    [SerializeField]
    Transform soliderParent;
    //是否生成小兵默认为true
    bool isCreateSolider = true;
    //生成小兵的数量
    public int soliderCount;

    //虽然目标点对象不能直接托给预制体,但是可以在创建预制体的时候给他赋值
    [SerializeField]
    Transform[] towers;
    private void Start()
    {
        StartCoroutine(Create(0,1,5));
    }


    //生成一个小兵
    /// <summary>
    /// 小兵生成的位置
    /// 小兵需要到达的目标点
    /// </summary>
    /// <param name="startTran"></param>
    /// <param name="towers"></param>
    void CreateSmartSolider(Transform startTran ,Transform[] towers)
    {
        GameObject obj= Instantiate(soliderPrefab, startTran.position,Quaternion.identity)as GameObject;
        obj.transform.parent = soliderParent;//生成的小兵指定父物体
        //给生成的小兵指定目标点对象,
        SmartSolider solider = obj.GetComponent<SmartSolider>();
        solider.towers = towers;

    }
    //协程生成一波一波小兵
    /// <summary>
    /// </summary>
    /// <param name="time">游戏开始后几秒开始生成士兵</param>
    /// <param name="delyTime">同一波内两个小兵生成的间隔</param>
    /// <param spwanTime="">下一波小兵生成的时间间隔</param>
    /// <returns></returns>
    IEnumerator Create(float time,float delyTime,float spwanTime)
    {
        yield return new WaitForSeconds(time);
        while (isCreateSolider)
        {
            //一个for循环代表一波小兵
            for (int i=0;i<soliderCount;i++)
            {
                CreateSmartSolider(startTran,towers);
                yield return new WaitForSeconds(delyTime);
            }
            //等待下一波小兵生成的时间
              yield return new  WaitForSeconds(spwanTime);
        }
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class SmartSolider : MonoBehaviour {

    public Transform target;
    private Animation ani;
    private NavMeshAgent nav;
    public Transform[] towers;
	// Use this for initialization
	void Start () {

        nav = GetComponent<NavMeshAgent>();
        ani = GetComponent<Animation>();
	}
	
	// Update is called once per frame
	void Update () {
        SoliderMove();

    }

    void SoliderMove()
    {

        if (target==null)
        {
            //目标点为空,需要寻找一下目标点
            target = GetTarget();
            return;
        }
        ani.CrossFade("Run");
        nav.SetDestination(target.position);
    }
    //假如小兵跑向的目标点是塔
    Transform GetTarget()
    {
        for (int i=0;i<towers.Length;i++)
        {

            if (towers[i]!=null)
            {
                return towers[i];
            }

        }
        return null;
    }
}

 

 

 

 

 

2019-12-17 18:37:21 qq_40229737 阅读数 99
  • unity3D 六周带你开发《王者荣耀

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    2991 人正在学习 去看看 朱润

通过获取人物的坐标,以及相应的偏移变量来设置相机的位置,从而实现追随

using UnityEngine;
using System.Collections;

public class CameraFollow : MonoBehaviour {

    [SerializeField]
    private Transform player;
    //存储人物坐标
    private  float cameraX;
    private  float cameraZ;
    //摄像机高度
    public float y=10;
    //相机与人物的前后偏移距离
    public float z=5;

    //通过人物的坐标,以及相应的偏移变量来设置相机的位置实现追随
	void Update () {
        if (player)//被追随人物存在
        {
            cameraX = player.position.x;
            cameraZ = player.position.z;
            this.transform.position = new Vector3(cameraX,y,cameraZ+z);
        }	
	}
}

 

 

2019-12-20 12:09:58 qq_40229737 阅读数 13
  • unity3D 六周带你开发《王者荣耀

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    2991 人正在学习 去看看 朱润

(一)如何知道小兵是否移动到箭塔范围之内,添加碰撞体来检测

(二) 给箭塔添加标签,区别箭塔类型是敌方箭塔还是我方箭塔

(三)创建脚本,当攻击对象移动到箭塔范围之内把其添加到集合里,否则将其移除集合。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Tower : MonoBehaviour {
    //定义箭塔类型
    public int towerType;
    //创建一个集合,当小兵移动到箭塔范围之内把其添加到集合里,否则将其移除集合
    public List<GameObject> listSolider = new List<GameObject>();
    //创建一个集合,当英雄移动到箭塔范围之内把其添加到集合里,否则将其移除集合
    public List<GameObject> listHero = new List<GameObject>();
    void Start()
    {
        //有了标签为什么还要定义int,主要是跟小兵类型有个对应
        //防止我方箭塔去攻击我方小兵
        if (this.gameObject.tag.Equals("Tower"))
        {
            towerType = 0;//我方箭塔
        }
        else
        {
            towerType = 1;//敌方箭塔
        }
    }
     //小兵进入到箭塔范围,箭塔从集合中找攻击目标
    private void OnTriggerEnter(Collider other)
    {
        //进入箭塔是英雄
        if (other.gameObject.tag == "Player")
        {
            listHero.Add(other.gameObject);
        }
        else
        {
            //进入箭塔是小兵
            SmartSolider solider = other.GetComponent<SmartSolider>();
            //当小兵不为空时,判断小兵与箭塔类型是否一致,不一致表示可以攻击
            if (solider && solider.type != towerType)
            {
                listSolider.Add(other.gameObject);//小兵放在可攻击的列表内
                Debug.LogError(listSolider.Count);
            }

        }
 
    }
    //人物退出范围,移除列表
    private void OnTriggerExit(Collider other)
    {
        if (other.gameObject.tag == "Player")
        {
            listHero.Remove(other.gameObject);
        }
        else
        {
   
           listSolider.Remove(other.gameObject);
           
        }
    }
}

 

 

2017-07-03 07:07:12 sD7O95O 阅读数 281
  • unity3D 六周带你开发《王者荣耀

    本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。

    2991 人正在学习 去看看 朱润

 《王者荣耀》是由腾讯出品的 Made with Unity的现象级游戏。在Unite Shanghai 2017中的案例专场,我们也曾邀请了《王者荣耀》项目组的技术总监邓君,分享过《王者技术修炼之路》


 从移动游戏到电子竞技,KPL(King Pro League)也是《王者荣耀》顶级职业选手较量的场地。7月8日,2017年王者荣耀职业联赛KPL 春季总决赛将“决战上海滩”。



   你是游戏开发者吗?还是游戏的爱好者?

   你否曾在游戏的征途中遇见“毒药队友”?

   你是否曾经是电子竞技的爱好者?

   你是否希望亲临KPL的现场,来体会Made with Unity 游戏在电子竞技中的魅力?


    现在Unity将邀请1名Unity的开发者加入现场观战团,亲临7月8日王者荣耀职业联赛总决赛的现场。Unity的观战团成员包含Unity大中华区总经理唐嘉隆(Andrew Tang),以及2016年KPL总冠军教练寒夜(张睿清)以及一众身为王者荣耀粉丝的Unity开发人员。



你可以和Unity观战团一起观战,一起拉黑,让大神带着你躺上高速列车,一起听听寒夜教练实时分析比赛。最重要的是,一起快乐的感受来自Made with Unity 《王者荣耀》在电子竞技中的魅力。



 如何参与

7月6日15:00之前,发送你原创的Unity技术文章:communitychina@unity3d.com

 

技术方向:不限 你的文章可以是Unity的小技巧,也可以是Unity的某个功能、某个问题的解答、你的Made with Unity游戏,优化技巧,Unity游戏和策划经验等等,只需要和Unity相关。


 评比和奖励

 1、所有技术文章将由Unity大中华区技术团队进行评选。

 2、1名获奖者将获得Unity大中华区总经理唐嘉隆邀请加入Unity KPL观战团。

 3、其他参与者,如果你的文章足够的优秀,官方将进行选择,发布在Unity中文官方技术论坛(unitychina.cn) 与更多开发者分享。 一旦选中被发布,我们将赠送Unite背包一个,背包数上不封顶。


注意事项

 1、请在邮件中注明联系方式,必须是手机,以便我们方便的联系你。

 2、活动时间截止到7月6日15:00,以便我们评选,比赛时间是7月8日。

 3、我们邀请一名社区成员加入观战团,但不承担差旅及住宿等费用。

 4、文章不得为抄袭和盗用作品。


 本次活动由Unity官方社区(unitychina.cn)举办,解释权归Unity官方所有。


赶紧来分享你的Unity技术积累吧,加入Unity KPL总决赛观战团,感受Made with Unity,感受王者荣耀,感受电子竞技的魅力吧!


官方活动


7月,Unity技术路演将从沿海深入腹地,即将来到武汉和西安,为当地开发者带来引擎新功能介绍演示和2个不同主题的Workshop内容。报名火热进行中!


原文地址:http://forum.china.unity3d.com/thread-25056-1-1.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

没有更多推荐了,返回首页