unity3d——基础篇2刷(三角函数练习题)

ops/2024/11/24 4:01:43/
1. 移动速度和变化速度
  • 面朝向移动速度 (moveSpeed): 控制对象沿其当前朝向(通常是摄像机方向)的移动速度。
  • 左右曲线移动变化的速度 (changeSpeed): 控制对象左右移动速度的变化频率。
2. 移动距离控制
  • 左右曲线移动距离控制 (changeSize): 控制对象左右移动的最大距离。
3. 时间变量
  • 时间变量 (time): 用于跟踪游戏运行的时间,以便进行周期性或基于时间的计算。
4. Transform.Translate
  • Vector3.forward: 表示对象当前朝向的正方向。
  • Vector3.right: 表示对象当前朝向的右侧方向。
  • Translate 方法用于根据给定的方向和距离移动对象。
5. Time.deltaTime
  • Time.deltaTime 表示自上一帧以来经过的时间,通常用于确保移动速度在不同帧率下保持一致。
6. Mathf.Sin
  • Mathf.Sin 是正弦函数,用于计算给定角度(以弧度为单位)的正弦值。
  • 在这段代码中,Mathf.Sin(time) 用于创建一个周期性的左右移动效果,其中 time 变量随时间增加,从而产生正弦波形的左右移动。

代码实现

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SinMove : MonoBehaviour
{// 面朝向移动速度public float moveSpeed = 5;// 左右曲线移动变化的速度public float changeSpeed = 2;// 左右曲线移动距离控制public float changeSize = 0.5f;private float time = 0;// Update is called once per framevoid Update(){// 面朝向移动this.transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);// 左右曲线移动time += Time.deltaTime * changeSpeed;this.transform.Translate(Vector3.right * changeSize * Time.deltaTime * Mathf.Sin(time));}
}

这段代码展示了如何在Unity中实现一个对象的面向移动和周期性的左右移动。通过调整 moveSpeedchangeSpeedchangeSize 参数,可以改变对象的移动行为,使其适应不同的游戏设计需求。


http://www.ppmy.cn/ops/136226.html

相关文章

『 Linux 』网络层 - IP协议(一)

文章目录 IP协议报文格式IP协议报文如何进行报头与有效载荷分离 网段划分CIDR特殊的IP地址 IP地址的数量限制私有IP和公网IP理解运营商 IP协议报文格式 IP协议报文格式与TCP协议的报文格式类似; IP报文的宽度也是32位; 对应的IP的实际报头为20字节为定长报头(固定长度); 版本 …

hive的存储格式

1) 四种存储格式 hive的存储格式分为两大类:一类纯文本文件,一类是二进制文件存储。 Hive支持的存储数据的格式主要有:TEXTFILE、SEQUENCEFILE、ORC、PARQUET 第一类:纯文本文件存储 textfile: 纯文本文件存储格式…

前端预览pdf文件流

需求 后端接口返回pdf文件流,实现新窗口预览pdf。 解决方案 把后端返回的pdf文件流转为blob路径,利用浏览器直接预览。 具体实现步骤 1、引入axios import axios from axios;2、创建预览方法(具体使用时将axios的请求路径替换为你的后端…

利用c语言详细介绍下希尔排序

希尔排序是针对插入排序的优化算法。它是缩少增量的算法,一开始增量从元素个数len/2的增量开始,然后缩小增量gapgap/2,直到gap为1,最终完成序列排序。 一、图文介绍 我们还是使用数组【10,5,3,2…

迈向AI驱动的数据新时代:探索SQL Server 2025的全新向量数据库

随着科技的飞速发展,数据已成为推动各行各业进步的重要动力。而在这个数据爆炸的时代,如何高效地存储、检索和分析数据,成为了摆在我们面前的一大挑战。幸运的是,微软SQL Server 2025的推出,为我们带来了全新的向量数据…

【计算机网络】网段划分

一、为什么有网段划分 IP地址 网络号(目标网络) 主机号(目标主机) 网络号: 保证相互连接的两个网段具有不同的标识 主机号: 同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号 互联网中的每一台主机,都要隶属于某一个子网 -&…

ubuntu dpkg 删除安装包

在Ubuntu中,可以使用dpkg命令来删除已安装的包。以下是删除安装包的基本命令: sudo dpkg -r package_name 这里package_name是你想要删除的包的名称。 如果你想要删除与该包相关的配置文件,可以使用以下命令: sudo dpkg -P pa…

基于Java Springboot医疗废弃物收运管理系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…