当前位置: 首页 > news >正文

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);}}


http://www.mrgr.cn/news/38593.html

相关文章:

  • AVLTree【c++实现】
  • 2409vim,vim写文件有问题
  • Java语法-类和对象之抽象类和接口
  • 国产动漫论坛系统小程序的设计
  • linux网络编程实战
  • 什么是SQL注入?
  • MySQL-数据库约束
  • JSON的C实现(上)
  • LeetCode讲解篇之33. 搜索旋转排序数组
  • 哈希知识点总结:哈希、哈希表、位图、布隆过滤器
  • DMA的原理
  • FPGA-Vivado-IP核-逻辑分析仪(ILA)
  • Linux 线程互斥
  • html5 + css3
  • Python精选200Tips:181-182
  • [leetcode]5_最长回文子串
  • AAMAS 24 | 基于深度强化学习的多智能体和自适应框架用于动态组合风险管理
  • 一文理解mysql 联合索引和各种SQL语句分析
  • Python语言语法基础篇
  • 微信小程序开发系列之-实战搭建一个简单的待办事项小程序