Unity实战案例全解析:RTS游戏的框选和阵型功能(1) 基础要素

本案例来源于unity唐老狮,有兴趣的小伙伴可以去泰克在线观看该课程

【唐老狮】Unity实现 即时战略游戏 阵型功能 - 泰课在线 -- 志存高远,稳如泰山 - 国内专业的在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG - Powered By EduSoho (taikr.net)

我只是对重要功能进行分析和做出笔记分享,并未无师自通,吃水不忘打井人

本案例的实现流程图 

 

地形和模型 

为地形添加导航网格表面组件,方便以后寻路控制

为士兵添加动画,碰撞器,导航代理和士兵脚本组件,同时以空物体作为父节点,添加选中特效(话说这些模型怎么这么眼熟😋)

编写士兵单位脚本

目前需要什么?请看下图

上代码

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

public class SoliderObj : MonoBehaviour
{
    private Animator animator;
    private NavMeshAgent agent;
    private GameObject footEEffect;

    private void Start() {
        //初始化变量
        animator = GetComponentInChildren<Animator>();
        agent = GetComponent<NavMeshAgent>();
        footEEffect = transform.Find("FootEffect").gameObject;
        //默认光圈不显
        SetFootEffect(false);
    }
    //移动方法
    public void SoliderMove(Vector3 target)  
        {
        agent.SetDestination(target);
    }

    //切换动画
    public void SwitchAnimator()
        {
        animator.SetBool("S2W",agent.velocity.magnitude>0.1);
    }
    //切换光圈显隐
    public void SetFootEffect(bool b)
        {
        footEEffect.SetActive(b);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值