小白_Unity引擎_Mathf

 

Ceil

1         //向上取值,向大取值
2         Debug.Log(Mathf.Ceil(0.1f)); //1
3         Debug.Log(Mathf.Ceil(0.9f));//1
4         Debug.Log(Mathf.Ceil(-0.1f));//0
5         Debug.Log(Mathf.Ceil(-0.9f));//0

 

Floor

1         //向下取值,向小取值
2         Debug.Log(Mathf.Floor(0.1f)); //0
3         Debug.Log(Mathf.Floor(0.9f));//0
4         Debug.Log(Mathf.Floor(-0.1f));//-1
5         Debug.Log(Mathf.Floor(-0.9f));//-1

 

Round 四舍五入

 1         //四舍五入
 2         Debug.Log(Mathf.Round(0.1f)); //0
 3         Debug.Log(Mathf.Round(0.9f));//1
 4         Debug.Log(Mathf.Round(-0.1f));//0
 5         Debug.Log(Mathf.Round(-0.9f));//-1
 6 
 7         //如果 遇到 0.5 时候会不一样, 结果看前一位
 8         /// 正数  偶数 --》  -0.5
 9         /// 负数  偶数 ---》  +0.5
10         /// 正数  奇数 --》  +0.5
11         /// 负数  奇数 --》  -0.5
12         Debug.Log(Mathf.Round(0.5f)); //1
13         Debug.Log(Mathf.Round(1.5f));//2
14         Debug.Log(Mathf.Round(-0.5f));//0
15         Debug.Log(Mathf.Round(-1.5f));//-2

 

Camp限制

 1         //Camp(value, min ,max)
 2         //限制:限制value的值在min 和 max之间,如果value小于min,返回min。
 3         //如果value大于max,返回max,返回max,否则返回value
 4         Debug.Log(Mathf.Clamp(12, 10, 20));//12
 5         Debug.Log(Mathf.Clamp(5, 10, 20));//10
 6         Debug.Log(Mathf.Clamp(25, 10, 20));//20
 7         //限制 0-1 之间,如果小于0返回0 ,如果大于1返回1,否则返回value
 8         Debug.Log(Mathf.Clamp01(0.1f));//0.1
 9         Debug.Log(Mathf.Clamp01(-0.1f));//0
10         Debug.Log(Mathf.Clamp01(2f));//1

 

插值

 1         //插值
 2         //第三个参数t :表示一个百分数,0-1,如果 t= 0.5f,那么返回值就从50%开始
 3         //1.第三个参数如果是固定值,则返回值是固定值根据参数大小而改变
 4         //2.第三个参数必须是0-1之间如果 <= 0 ,返回第一参数值,如果参数 >= 1 返回第2个参数
 5         // Mathf.Lerp(a, b, c)
 6         //原理 返回值 =  (b - a)*c + a ;
 7         Debug.Log(Mathf.Lerp(1, 100, Time.time));
 8         Debug.Log(Mathf.Lerp(1, 100, 0.5f));
 9         //物体匀速运动
10         obj.transform.position = new Vector3(Mathf.Lerp(0, 15, Time.time), 0, 0);
11 
12         //Mathf.LerpAngle(10, 100, Time.time);
13         obj.transform.eulerAngles = new Vector3(0, Mathf.LerpAngle(10, 100, Time.time), 0);

反插值

 

        //反插值Debug.Log( Mathf.InverseLerp(10, 100, Time.time));

 

阻尼运动

 1         //阻尼运动  
 2         float target = 5f;
 3         float curretVeloctity = 0f; //当前速度
 4         float smothTime = 1f;//平滑系数 = 1s
 5         float mManSpeed = Mathf.Infinity; //x轴的最大速度
 6         this.transform.position = new Vector3(
 7             Mathf.SmoothDamp(transform.position.x, target, ref curretVeloctity,smothTime,mManSpeed),
 8             transform.position.y,
 9             transform.position.z
10             );

 

Repeat 、 PingPong

1         //返回值 0-3 不停的重复
2         float f = Mathf.Repeat(Time.time, 3);
3         transform.localScale = Vector3.one * f;
4 
5         //返回值 0 - 3- 0 - 3 往返的返回值
6         float f2 = Mathf.PingPong(Time.time, 3);
7         transform.localScale = Vector3.one * f2;

 

颜色曲线

1         //颜色的改变是一个曲线的增长
2         Mathf.GammaToLinearSpace(); 
3         //颜色的增长是线性的增长
4         Mathf.LinearToGammaSpace();
5         /// 视觉效果上 GammaSpace 图显示效果要好
6         /// LinearSpace 要比 GammmaSpace 更容易计算
7         /// 因此, 往往处理颜色方面信息时, 需要用所讲的2个转换函数把Gamma Space -》Linear Space,
8         /// 然后对Linear Space进行计算后,再转换为GammaSpace

 

1         //颜色的改变是一个曲线的增长
2         Mathf.GammaToLinearSpace(); 
3         //颜色的增长是线性的增长
4         Mathf.LinearToGammaSpace();
5         /// 视觉效果上 GammaSpace 图显示效果要好
6         /// LinearSpace 要比 GammmaSpace 更容易计算
7         /// 因此, 往往处理颜色方面信息时, 需要用所讲的2个转换函数把Gamma Space -》Linear Space,
8         /// 然后对Linear Space进行计算后,再转换为GammaSpace

 

        PerlinNoise噪声图 ;返回的随机数之间不会有太大的变化,而是有一定的过渡效果
        Mathf.PerlinNoise();

 1     public Material mat;
 2     public Vector3 color;
 3 
 4     void Start()
 5     {
 6         mat = gameObject.GetComponent<MeshRenderer>().material;
 7         color = new Vector3(
 8             Random.Range(0f, 1f),
 9              Random.Range(0f, 1f),
10               Random.Range(0f, 1f));
11     }
12 
13     void Update()
14     {
15         float cx = Mathf.PerlinNoise(Time.time, color.x);
16         float cy = Mathf.PerlinNoise(Time.time, color.y);
17         float cz = Mathf.PerlinNoise(Time.time, color.z);
18 
19         mat.color = new Color(cx, cy, cz);
20     }

 

转载于:https://www.cnblogs.com/CeasarH/p/9285217.html

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

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

相关文章

循环卷积和周期卷积的关系_基于单口RAM读写的卷积电路(下)

这是迟到很久的卷积电路verilog设计的下篇。。。你看我还有机会吗。。。上回我们给出系统的层次结构、卷积计算模块以及用于数据缓存的fifo模块&#xff0c;今天我们首先回顾一下上一次的关键内容。系统结构回顾RTL代码文件可以分为结构如下所示 ~|--top_conv_tb.v|--top_conv.…

浅析 PHP 中的 Generator

浅析 PHP 中的 Generator Miss Wang php开发案例 前天 何为 Generator 从 PHP 5.5 开始&#xff0c;PHP 加入了一个新的特性&#xff0c;那就是 Generator&#xff0c;中文译为生成器。生成器可以简单地用来实现对象的迭代&#xff0c;让我们先从官方的一个小例子说起。 xrange…

哈师大计算机等级考试,哈尔滨师范大学教务处

阳光高考网 小编整理分享http://jwc.hrbnu.edu.cn/哈尔滨师范大学教务处教务管理系统 哈尔滨师范大学教务平台 学校前身是1946年我党在东北解放区建立..点击查看http://jwc.hrbnu.edu.cn/哈尔滨师范大学教务处教务管理系统 重点支持建设的百所中西部高校之一。http://www.17xue…

Spring MVC应用程序中的Thymeleaf模板布局,无扩展

在使用JSP / JSTL和Apache Tiles几年之后&#xff0c;我开始为我的Spring MVC应用程序发现Thymeleaf。 Thymeleaf是一个非常出色的视图引擎&#xff0c;尽管目前缺乏良好的IntelliJ&#xff08;投票&#xff1a;http: //youtrack.jetbrains.com/issue/IDEABKL-6713 &#xff09…

注意安全!XSS 和 XSRF

[Tips] 本文是从 jianshu 平台重新修改编辑后移植来的&#xff0c;比上一版本做了些修订。 最近在看一些关于网络安全的问题&#xff0c;当然许多是跟前端相关的&#xff0c;包括且不局限于xss和xsrf 了&#xff0c;那么小编就结合最近的学习实践谈一些粗浅的认识。&#xff08…

go分析和kegg分析_干货预警:3分钟搞定GO/KEGG功能富集分析(2)

在 3分钟了解GO/KEGG功能富集分析 一文中给大家讲解了GO和KEGG的基本概念和内涵,并且给大家介绍了DAVID这一神奇网站。今天我们就把GO/KEGG功能富集分析的详细教程按部就班地呈现给大家,有请小猎豹。 多图预警,轻点图片,查看高清大图 1 Step1: 打开DAVID官网:https://dav…

区块链即将面临的问题有哪些?

很多人只知道区块链给我们带来的好处&#xff0c;但在这个技术和行业高速发展的阶段&#xff0c;区块链也出现了一些问题&#xff0c;那么区块链即将面临的问题有哪些&#xff1f;有哪些问题会对区块链行业的发展产生非常不利的影响呢&#xff1f;下面我来给大家说说区块链发展…

如何在Java中读取CSV文件-Iterator和Decorator的案例研究

在本文中&#xff0c;我将讨论如何使用Apache Common CSV读取CSV&#xff08;逗号分隔值&#xff09;文件。 从这个案例研究中&#xff0c;我们将学习如何在设计模式的上下文中使用Iterator和Decorator来提高不同情况下的可重用性。 但是在开始之前&#xff0c;我想我必须先回答…

如何在本地开发环境调试微信 JS-SDK

以下篇幅将会描述不同前提下对应的调试策略&#xff0c;当然也有可能不是最优解&#xff0c;望斧正 →_→ 前言 何谓「安全域名限制」&#xff1f; 以微信 JS-SDK 的使用为例&#xff0c;每个公众号被限制最多可设置三个安全域名&#xff0c;且必须能被腾讯服务器所验证&#…

PHP中常用加解密方式

PHP中使用OpenSSL生成RSA公钥私钥及进行加密解密示例 加密基础 加密算法一般分为两种&#xff1a;对称加密算法和非对称加密算法。 对称加密 对称加密算法是消息发送者和接收者使用同一个密匙&#xff0c;发送者使用密匙加密了文件&#xff0c;接收者使用同样的密匙解密&#x…

云南省农村信用社计算机岗位待遇如何,云南农村信用社薪资待遇如何?

在云南如果去存钱&#xff0c;相信大多数人都会把自己的小钱钱存在农村信用社而不是XX银行。在这一块风景秀丽&#xff0c;人美山美水美的地方&#xff0c;就金融行业来说云南农村信用社要是说自己差&#xff0c;那基本没有谁敢说自己做的好。所以在云南农信社这家企业里做一名…

小票上为啥指甲能划出印_指甲上出现竖纹,除遗传问题,或是身体在向你拉警报了,别忽视...

生活中常见女生给指甲抹上各种不同的颜色来让它变得美美的&#xff0c;指甲起着修饰人的形象的作用。而指甲的状况也能折射出身体的健康状态如何。每个人的指甲形态不一&#xff0c;有的润滑饱满&#xff0c;光滑平整&#xff0c;有月牙&#xff1b;有的坑坑洼洼&#xff0c;凸…

require.context

带表达式的 require 语句 如果你的 require参数含有表达式(expressions)&#xff0c;会创建一个上下文(context)&#xff0c;因为在编译时(compile time)并不清楚具体是哪一个模块被导入 require("./template/" name ".ejs");webpack 解析 require() 的…

使用JSF 2.2功能来开发可滚动,可延迟加载的Ajax数据表

这次&#xff0c;我想与您分享我最近从JSF 2.2功能中学到的知识。 为此&#xff0c;我决定创建一个简单的ajax&#xff0c;可滚动的延迟加载数据表。 请注意&#xff0c; 绝不这是相当大的库如Primefaces &#xff0c; RichFaces的或ICEFaces的 。 这只是为了告诉您我学到了什…

如何监视ps/查询的性能和使用

可以使用“查询管理”页面监视查询性能和使用情况。您可以获得的一些统计信息包括平均运行时、运行次数和上次运行日期。使用预定义的搜索&#xff0c;还可以选择要检查和报告的查询。查询管理还允许您取消当前在查询管理器和查询查看器中运行的查询&#xff0c;以及启用和禁用…

金融计算机怎么调成链式,FRM金融计算器使用方法

2020FRM考试计算器&#xff1a;想一想FRM一级考试基本上按计算器停不下来&#xff0c;我们就一定要买一个简单易操作的计算器&#xff0c;但是GARP对于FRM考生所使用的计算器是有规定的&#xff1a;所有参加FRM考试的考生必须使用GARP指定的计算器&#xff0c;如果考生在考试期…

spring 基础

作者&#xff1a;Spring太难链接&#xff1a;https://zhuanlan.zhihu.com/p/38131490来源&#xff1a;知乎著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面…

参数调优为什么要采样_程序员精进之路:性能调优利器--火焰图

本文主要分享火焰图使用技巧&#xff0c;介绍 systemtap 的原理机制&#xff0c;如何使用火焰图快速定位性能问题原因&#xff0c;同时加深对 systemtap 的理解。让我们回想一下&#xff0c;曾经作为编程新手的我们是如何调优程序的&#xff1f;通常是在没有数据的情况下依靠主…

我是这么理解Vue中的响应式系统的

遇到知识&#xff0c;尤其是复杂的概念&#xff0c;我不能类比的话&#xff0c;我很难接收&#xff08;所以学习很差...&#xff09;。在看了大神染陌同学的Vue源码解析后&#xff0c;我想分享一下我所类比的Vue响应式系统&#xff0c;您得先看他的文章&#xff08;至少看他写的…

图的顺序存储(邻接矩阵存储)【摘录自严长生老师的网站】

图是表达多对多关系的一种数据结构&#xff0c;组成要素为顶点和连接顶点的边。 根据边有无方向可分为有向图和无向图 当边有权重时&#xff0c;升级为有向网和无向网 图在存储时&#xff0c;可采用邻接矩阵&#xff0c;比如下面的无向图&#xff08;A&#xff09;和&#xff0…