『功能项目』协程生成怪物模型【25】

news2024/9/21 21:38:12

打开上一篇24AssetBundle上传加载u3d模型的项目,

本章要做的事情是在项目运行14秒后生成一个怪物鲸鱼,并且怪物鲸鱼会根据路径点自动巡航

在资源商店免费下载怪物模型

重命名为MonsterWhale

创建一个空物体

重命名为Path

在子级下创建小球Sphere作为巡航点

Ctrl + d复制到四个 按照顺序摆放

新建脚本文件夹:

新建脚本:AutoWayPoint.cs

using UnityEngine;
public class AutoWayPoint : MonoBehaviour{
    public Transform[] wayPointArray;
    float speed = 0.001f;
    int currentIndex = 0;
    void Start(){
        Transform path = GameObject.Find("Path").transform;
        if (path != null){
            wayPointArray = new Transform[path.childCount];
            for (int i = 0; i < wayPointArray.Length; i++){
                wayPointArray[i] = path.GetChild(i);
            }

        }
    }
    void Update(){
        Vector3 direction = wayPointArray[currentIndex].position - transform.position;
        transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), 1f);
        transform.Translate(Vector3.forward * speed);
        if (direction.sqrMagnitude < 1f){
            currentIndex++;
            if (currentIndex > wayPointArray.Length - 1)
                currentIndex = 0;
        }
    }
}

将路径点放置脚本框选中

拖拽至预制体文件夹中并在场景中删除

将巡航点也放进预制体

重新拖拽巡航点

修改脚本:AutoRandomModel.cs

using System.Collections;
using UnityEngine;
public class AutoRandomModel : MonoBehaviour{
    public GameObject brickObj;
    public GameObject monsterWhaleObj;
    void Start(){
        StartCoroutine(CreateWall());
        StartCoroutine(CreateWhale());
    }
    IEnumerator CreateWall(){
        yield return new WaitForSeconds(7f);
        Instantiate(brickObj, new Vector3(0f, 6f, -2),
            Quaternion.AngleAxis(0f, Vector3.up));
    }
    IEnumerator CreateWhale() {
        yield return new WaitForSeconds(3f);
        Instantiate(monsterWhaleObj, new Vector3(-11f, 0.5f, 3),
            Quaternion.AngleAxis(0f, Vector3.up));
    }
}

绑定预制体框选

运行项目 - 3秒过后怪物鲸鱼会被生成在场景中并且持续按照目标点巡航

本篇做了利用协程延时生成怪物模型的功能,接下来还需做以下内容:

1.DOTween动态显示文字

2.可拖动UI窗口

3.怪物集目标点巡航功能

4.隐藏怪物的生成

5.怪物I攻击范围内的主动攻击

6.掉落坐骑蛋的获取

7.异步传送转换场景

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32CubeIMX修改库文件代码相关问题

有时候会遇到需要需要修改库文件的需求&#xff0c;比如下面两种情况&#xff1a; 1、库文件有问题 2、库文件需要修改以适配当前需求 修改库文件的目的是&#xff0c;当下次生成程序的时候直接生成修改后的&#xff0c;无需在修改库文件。 直接将修改替换至默认文件&#xff…

软件安全测试有多重要?第三方软件测试公司如何进行安全测试?

在当今信息化迅速发展的社会&#xff0c;软件的安全性越来越受到重视。近年来&#xff0c;我国的网络安全形势日趋复杂&#xff0c;各类网络攻击层出不穷&#xff0c;软件泄露、数据丢失等事件屡见不鲜。为了保障软件项目的安全性&#xff0c;安全测试必不可少。 软件安全测试…

物流计算面单物流单标签打印软件 佳易王物流管理系统下载操作教程

一、前言 物流计算面单物流单标签打印软件 佳易王物流管理系统下载操作教程 1、佳易王物流管理系统软件分两个版本&#xff0c;一个是大众版&#xff0c;一个是高级版&#xff0c;本例以大众版为例说明 软件在打印物流单的同时可以打印标签 2、软件为免安装版&#xff0c;解…

使用matplotlab绘制多条形图

##黑马程序学习 这种多个条形图放在一起的图形该怎么画呢&#xff1f; 请看以下代码 #横着的条形图 from matplotlib import pyplot as plt import matplotlib#设置显示中文 和 负号 matplotlib.rcParams[font.sans-serif][SimHei] matplotlib.rcParams[axes.unicode_minus]F…

第二百一十四节 Java反射 - Java反射字段访问

Java反射 - Java反射字段访问 我们可以使用反射在两个步骤中获取或设置字段。 获取字段的引用。要读取字段的值&#xff0c;请在字段上调用getXxx()方法&#xff0c;其中Xxx是字段的数据类型。要设置字段的值&#xff0c;请调用相应的setXxx()方法。 以相同的方式访问静态和实…

CCF-CSP 2024 --重塑矩阵1,2c语言题解

创作想法是因为像我当初大一时候想参加一些比赛但是奈何只学了c和c相关数据结构&#xff0c;但是对于许多竞赛的题目的题解往往都是c或者其他面向对象的编程语言&#xff0c;让我们难以在c语言基础上入手这些比较复杂的题目。 创造的目的是为了帮助各位同时提高我对c语言编程的…

vue2-elementUI-初始化启动项目-git

前置基础 资料下载-阿里云盘 vueaxioselement-uinpmvscode 初始化项目 1.创建vue2工程 1.1 vue create projectName1.2 选择 1.3 初始化 vue-cli 的核心步骤&#xff1a; Manually select features (*) Babel ( ) TypeScript ( ) Progressive Web App (PWA) Support …

计算机毕业设计选题推荐-企业会议室管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

Java企业电子招投标系统:Spring Cloud微服务架构-强化企业招采竞争力:电子化招投标平台助力效率与成本控制-支持二次开发

​在当今激烈的市场竞争环境下&#xff0c;企业规模的持续扩大使得招采管理变得日益重要&#xff0c;已成为企业提升核心竞争力的关键一环。为了实现更高效、更高质量的招采成果&#xff0c;我们设计了一套基于电子化平台的解决方案&#xff0c;旨在通过电子化招投标系统&#…

HarmonyOS开发实战( Beta5版)状态管理优秀实践

为了帮助应用程序开发人员提高其应用程序质量&#xff0c;特别是在高效的状态管理方面。本章节面向开发者提供了多个在开发ArkUI应用中常见的低效开发的场景&#xff0c;并给出了对应的解决方案。此外&#xff0c;还提供了同一场景下&#xff0c;推荐用法和不推荐用法的对比和解…

STM32 HAL CAN (TJA1050CAN模块) 通讯(一)理论

1、简介 CAN具备多个设备交互的能力,但是网上大多是两个单片机进行交互,或者单片机通过CAN收发器与上位机进行交互测试,本次通过STM32cubeMX完成CAN通讯配置,并通过多个单片机进行数据交互测试。 2、CAN简介 CAN是一种串行通讯协议,主要有低速、高速CAN两种。 低速CAN…

bug“医典”

温馨提示&#xff1a;本篇文章主要用于收藏博主所遇到的各种bug,并且不定期更新 未初始化 “病状” “处方” 在需要的位置进行初始化即可 数组越界 “病状” “处方” 修改原理&#xff1a;越界通常是下标或者指针因为没有合适的控制&#xff0c;导致其走出了边界&#xf…

5G速度救援加速:工业边缘网关为智慧消防赢得每一秒!

项目背景 近年来&#xff0c;火灾频发&#xff0c;面对火灾的不可预测性和潜在的巨大破坏力&#xff0c;传统防控手段显得力不从心。 在《关于全面推进“智慧消防”建设的指导意见》等国家政策的积极推动下&#xff0c;智慧消防系统有效预防火灾发生和提高火灾扑救效率&#x…

美股、日本和韩国股市大跌,“黑色星期一”将重现?

KlipC报道&#xff1a;9月开始&#xff0c;全球市场再度迎来大跌。美东时间9月3日&#xff0c;美股三大指数全线大跌&#xff1b;9月4日&#xff0c;日本和韩国股市也出现大跌。市场对AI的乐观情绪减弱&#xff0c;英伟达股价在9月3日暴跌9.5%&#xff0c;市值缩水2790亿美元。…

睡岗检测数据集(工作 课堂等) 3100张 增强 睡岗趴睡 带标注 voc yolo

睡岗检测是一项重要的安全监测任务&#xff0c;尤其是在需要高度警觉的工作环境中。该数据集旨在为研究人员和开发者提供一个高质量的、可用于训练和评估睡岗检测模型的数据集。 数据集特点 类型&#xff1a;睡岗检测图像数据集。规模&#xff1a;包含3100张图像&#xff0c;…

zblog自动生成文章插件(百度AI写作配图,图文并茂)

最近工作比较忙&#xff0c;导致自己的几个网站都无法手动更新&#xff0c;于是乎也想偷个懒把&#xff0c;让AI帮忙打理下自己的网站。我接触chatgpt等AI工具还是比较早了&#xff0c;从openai推出gpt3.5就一直在用&#xff0c;说实话&#xff0c;开始的时候用AI自动更新网站还…

高通智能模组:以卓越优势引领科技潮流

一、高通智能模组的崛起与发展 在通信技术发展中&#xff0c;高通智能模组出现。5G 兴起&#xff0c;对模组有更高要求&#xff0c;高通凭借积累和创新捕捉需求。早期致力于研发 5G 技术&#xff0c;优化技术降低功耗提高处理能力&#xff0c;展现性能优势。在竞争中&#xff0…

redis通用命令

TOC 目录 特性&#xff08;优点&#xff09; 存储方式 功能丰富 客户端语言多 数据存储位置 支持集群 支持主从复制 速度快 应用场景 数据库 排行榜系统 计数器应用 消息队列系统 redis客户端 基本全局命令 Keys EXISTS DEL EX…

版权与开源协议:一场创新与自由的边界之争

在数字时代的浪潮中&#xff0c;版权与开源协议作为知识产权领域的两大支柱&#xff0c;既相互依存又暗自较劲&#xff0c;共同绘制着科技创新的宏伟蓝图。本文将带您深入这场创新与自由的边界之争&#xff0c;探讨版权与开源协议之间的微妙关系&#xff0c;以及它们如何共同推…

【JAVA数据结构】(ArrayList)顺序表

ArrayList 是Java集合框架中的一个类&#xff0c;底层使用的数据结构就是顺序表&#xff0c;它实现了List接口&#xff0c;提供了动态数组的功能&#xff0c;ArrayList可以根据需要自动进行扩容&#xff08;不指定容量大小也能正常添加元素&#xff09;&#xff0c;允许存储任意…