unity数学函数mathf.PinPong的实现原理

2023-11-19

mathf这个库十分强大,基本上封装了 游戏数学方面的函数,

先介绍一个Mathf.pingpong

官方api

 

Mathf.PingPong 乒乓

 

static function PingPong (t : float, length : float) : float

Description描述

PingPongs the value t, so that it is never larger than length and never smaller than 0.

让数值t在 0到length之间往返。t值永远不会大于length的值,也永远不会小于0。

The returned value will move back and forth between 0 and length.

返回值将在0和length之间来回移动。

 Update () {
	// Set the x position to loop between 0 and 3
	//设置x位置循环在0和3之间
	transform.position = new Vector3(
	Mathf.PingPong(Time.time, 3), transform.position.y, transform.position.z);
} 

顾名思义,就是像打乒乓球 那样 ,来回,  第一个参数是一个T值,这个值可以是一直加的,比如time.time 就是游戏里的时间啦,从0开始一直加, 这样再做一些简单操作时,就不用自己去设定值了,

实现原理是   判断倍数奇偶,再求余,再运算。

如果当前的T除去最大L,倍数为双时,0246810,进行求模运算,%,

倍数单时,返回值R= L-(当前值T%最大值L),R=36 -(37%36) ,为35,进行减去运算,

注意:方法会返回最大值 0~L 中, 而第一个参数就是要进行判断的值,而不是最小值。 可以将变量设置成一个增量,

1~L float T+=time.delTime;

 

Mathf.clamps

 

Clamps a value between a minimum float and maximum float value.

限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value

这个函数比较常用, 在处理角色移动时,常常需要去限制他们。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity数学函数mathf.PinPong的实现原理 的相关文章

  • Unity—UGUI

    每日一句 读数 学习 去更远的地方 才能摆脱那些你不屑一顾的圈子 目录 InputFiled输入框 例 用户名和密码 Toggle组件 案例 冷却效果 InputFiled输入框 Text Component 输入文本组件 Text输入内容
  • UnityLuaMvvM Lua 带通知的Mode类

    实现数据更新UI自动刷新的核心代码 欢迎关注https gitee com xiongks UnityMVVM mode function modeType local obj obj modeType modeType obj filds
  • Unity WebGL错误集锦

    ips 0 Unity的PlayerSettings的otherSettings或者Publish Settings里面的Enable Exceptions里面选择Full StackTrace 可以在打出的包中的浏览器的webgl打印出错
  • 蒙特卡洛积分、重要性采样、低差异序列

    渲染公式 渲染的目标在于计算周围环境的光线有多少从表面像素点反射到相机视口中 要计算总的反射光 每个入射方向的贡献 必须将他们在半球上相加 为入射光线 与法线 的夹角 为方便计算可以使用法线向量和入射向量 单位化 的乘积表示 对于基于图像的
  • Unity中级客户端开发工程师的进阶之路

    上期UWA技能成长系统之 Unity高级客户端开发工程师的进阶之路 得到了很多Unity开发者的肯定 通过系统的学习 可以掌握游戏性能瓶颈定位的方法和常见的CPU GPU 内存相关的性能优化方法 UWA技能成长系统是UWA根据学员的职业发展
  • Unity-AR 简介

    Unity AR 简介 现有Unity AR Sdk ARKit 苹果推出的AR开发平台 ARCore Google 推出的增强现实 SDK ARFoundation ARFoundation是ARKit XR插件和ARCore XR插件
  • FBX导入Unity中模型没有材质的处理

    一 3dMax导出FBX时的注意事项 导出时 确保maps文件存在 里面放着fbx用到的image 二 在Unity中的设置 1 文件拖入Unity的Assets文件夹中 2 查看模型的材质是否存在 如下所示 材质为None 此时拖入sce
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • UnityVR--组件3--Line Renderer--线性渲染

    目录 线性渲染组件简介 绘制线条Line Renderer组件介绍 绘制拖尾Trail Renderer组件介绍 应用1 使用Line Renderer绘制线段 应用1实现 使用系统工具或自定义工具绘制线段 应用2 Trail Render
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity与Android的Back键冲突解决

    Unity与Android的Back键冲突解决 上一篇的最后留下了两个问题 Unity视图下横屏闪退 Unity视图下Android无法响应back返回上一activity 对于第一个问题 应该是Unity横屏下视图的某些设置跟Androi
  • Unity 键盘控制人物移动——之输入方式代码的编写

    键盘输入 控制人物移动 在我们制作游戏中最常见的需求之一就是使用键盘移动游戏角色 那么我们首先需要获取键盘输入 以下提供两种方法获取键盘 这里尽量通过截图解释让大家理解代码的含义 GetInput void FixedUpdate Move
  • VLC for unity 插件如何使用

    VLC for unity 插件如何使用 先去下载一个VLC播放器 安装完成后 然后导入插件链接https download csdn net my 这个插件我的另一个上传资源里有 或者到商店去下载 这个插件链接下载完是一个txt文档 里面
  • 【Unity步步升】监控与检测物体的各种方案,如:射线、碰撞、挂载等...

    在制作AR模型数值控制方案的时候遇到了检测的问题 学习过程受益匪浅 故今天为大家整理带来一篇监控与检测物体的参考方案集合 目录 一 射线检测 二 物体存在检测 三 碰撞检测 一 射线检测 单射线检测 首先完成搭建场景如下图1 1 我这里用到
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • U3D游戏开发中摇杆的制作(UGUI版)

    在PC端模拟摇杆 实现玩家通过控制摇杆让玩家移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine using Unity

随机推荐

  • 操作系统复习题

    一 选择题 在计算机系统中 操作系统是 核心系统软件 网络操作系统 不是基本的操作系统 实时性 不是分时系统的基本特征 关于操作系统的叙述 能方便用户编程的程序 是不正确的 操作系统的发展过程是 设备驱动程序组成的原始操作系统 管理程序 操
  • Response 456错误

    今天使用某share拉取股票数据时 遇到了Response 456错误 然而在网上查也没有查到 感觉是是较为少见的错误 http response code HTTP状态码对照表 t 332741160的专栏 CSDN博客 后来发现这个错误
  • 【Bun1.0】使用 Bun.js 构建快速、可靠和安全的 JavaScript 应用程序

    bun js Bun 是一个现代的JavaScript运行环境 如Node Deno 主要特性如下 启动速度快 更高的性能 完整的工具 打包器 转码器 包管理 官网 https bun sh 优点 与传统的 Node js 不同 Bun j
  • python数据分析与挖掘实战 -第四章数据预处理

    数据清洗 目的 删除原始数据集中的无关数据 重复数据 平滑噪声数据 筛选掉与挖掘主题无关的数据 处理缺失值 异常值等 缺失值处理方法 删除记录 数据插补和不处理 拉格朗日插值法 对于平面上已知的N个点 无两点在一条直线上 可以找到一个N 1
  • 解决vue中样式不起作用:样式穿透/深度选择器(/deep/)

    原因1 组件内部使用组件 添加了scoped属性 原因2 动态引入html 也添加了scoped属性 原因3 非以上两种 一 添加了scoped属性 Vue中的scoped属性的效果主要是通过PostCss实现的 以下是转译前的代码
  • 关于数据结构中的叶节点和二度节点的关系(通俗的理解)。

    简单记录一下自己的一些地方和对于这个问题我的一些见解 有说的不好的地方欢迎指正 这里只给出一种理解 另一种利用公式进行理解的 我就不写了 因为csdn里面太多了 先说结论 叶节点的数目 二度节点 1 首先来看这张图 可以看到这个图大体是包含
  • redis 基础概述与使用

    目录 一 redis 概述 redis 主从同步执行流程 redis 淘汰策略 缓存常见问题 KEYS指令与SCAN指令 SpringBoot 整合 redis StringRedisTemplate 与 RedisTemplate red
  • Android练手完整项目app(三)商品分类+流式布局Tag

    1 整体布局 结合项目 一 在FunctionFragment创建整体布局 搜索框布局应该include引入 这里我就没单独抽取
  • java springboot实现手机短信发送

    以下是一个使用Spring Boot实现手机短信发送的示例 首先添加pom依赖 需要引入阿里云的短信SDK和Spring Boot的web依赖
  • 【Linux】fork()

    目录 1 fork是什么 2 fork复制原理 3 逻辑地址与物理地址 4 计算fork 输出次数 1 fork是什么 linux下创建新进程的系统调用的是fork 其定义如下 include
  • 蓝桥杯获奖比例java_2019年第十届蓝桥杯省赛总结(JavaA组)

    update3 28 省一rank4 莫名进了国赛好神奇 记yzm10第一次体验A组 纯粹瞎水 早闻山东的JavaA组神仙打架 进国赛都成了奢望 往年只有五个名额 因此抱着做分母的心态来为学弟学妹试水 来到考场发现同组中光认识的大佬就不止五
  • Glide图片加载回调监听

    前两篇文章从源码的角度对Glide的加载流程进行了分析 这篇文章将对Glide的回调进行总结 1 方法一 设置图片中监听 方法一使用的是SimpleTarget类 他继承自BaseTarget 需要重写onResourceReady方法 o
  • 观点

    原文地址 https www sohu com a 315434322 672569 作者 中国工商银行业务研发中心 郝毅 霍嘉 肖烨 金石乔 本文笔者着重介绍了金融行业软件自动化测试的相关实践与思考 近两年来 多家金融机构和专业测试组织开
  • 超级完整 的 Maven 讲解 以及私服搭建

    第一章 Maven 简介 1 1 Maven 概述 Maven 是一款基于 Java 平台的项目管理和整合工具 它将项目的开发和管理过程抽象成一个项目对象模型 POM 开发人员只需要做一些简单的配置 Maven 就可以自动完成项目的编译 测
  • LLVM IR入门指南(7)——异常处理

    在这篇文章中 我主要介绍的是LLVM IR中的异常处理的方法 主要的参考文献是Exception Handling in LLVM 异常处理的要求 异常处理在许多高级语言中都是很常见的 在诸多语言的异常处理的方法中 try catch块的方
  • 什么是反向代理服务器

    我们常会看到 反向代理服务器 这个名词 例如常看到文章上说 nginx 是一个反向代理服务器 varnish 是一个反向代理服务器 下面就了解下这个概念 含义 反向代理服务器 有两个概念 一是 代理服务器 二是 反向 代理服务器 比较好理解
  • 【日记】转行驱动

    从今天开始换到驱动组了 完成手头上的应用任务就彻底挥别应用 Unity再见
  • apache httpclient 连接池 工具_HttpClient连接池的一些思考

    前言 使用apache的httpclient进行http的交互处理已经很长时间了 而httpclient实例则使用了http连接池 想必大家也没有关心过连接池的管理 事实上 通过分析httpclient源码 发现它很优雅地隐藏了所有的连接池
  • 汇编语言mov al,0c5h,用汇编语言编程

    匿名用户 1级 2008 10 30 回答 写一下简单的算法吧 先提供一个简单的画点子程序 在屏幕显示一点或一像素子程序 输入参数 BX 行地址 0 479 SI 列地址 0 639 DL 颜色 0 15 640 480显示模式 DOT p
  • unity数学函数mathf.PinPong的实现原理

    mathf这个库十分强大 基本上封装了 游戏数学方面的函数 先介绍一个Mathf pingpong 官方api Mathf PingPong 乒乓 static function PingPong t float length float