关于Dotween旋转以及OnValidate函数的解读
在DoTween中可以选择do旋转。但是旋转模式分成四种,且又有DoLocalRotate和DoRotate的区别,所以在此记录一下。
DoLocalRotate和DoRotate的区别在于,前者是基于自身当前旋转度数的旋转,如果游戏物体是UI,或者是某个物体的子物体,LocalRotation与Rotation的区别比较明显(尝试把父物体旋转一些度数,可以看出区别)。而后者的旋转是基于世界坐标系,测试方法和上述一样。
DoTween有四种旋转模式,分别是
1.RotateMode.LocalAxisAdd:先从字面分析,local和上述讲的是一样的,基于自身当前旋转度数(localrotation)。add,是指在当前旋转度数的基础上增加endvalue的值。
2.RotateMode.WorldAxisAdd:直接分析world,是指相对于世界的旋转,若endvalue的值是(0,0,10),意思是以世界的z轴为方向,增加10度的旋转量。
3.RotateMode.Fast:DoTween中旋转的默认模式,若无显示的指明旋转模式,那么此模式为当前旋转模式。但是使用此方法旋转,每次到了360就归0了,可以直接将endvalue设置为370试试,物体只会旋转10度。
4.RotateMode.FastBeyond360:超越360度,字面意思即可理解。同样设置370度,物体真的会从当前的度数,旋转到370度,且不会归零。
DOPunchRotation这个方法能实现非常有趣的动画效果,使用此方法,物体会以给定的punch值摇摆,最终会回到原始的旋转度数。
OnValidate方法,是之前看见我主程在用,所以我尝试了一下,并未深入研究,直到上次主程又训了我一顿,今晚仔细测试了一遍。
Validate字面意思是生效,所以此方法会在脚本生效的时候调用,此外,也会在Inspector面板中修改此脚本的值时调用。之前对于此方法的误解在于,我以为这个方法会一直调用,例如我在OnEnable中对同样一个游戏物体修改了名字,但是OnValidate中也修改了名字。我以为OnValidate也会在游戏刚运行时调用,但事实不是。
OnValidate的运用场景十分丰富,对于目前的我来说,是非常有用的。例如上述fast旋转时,我们也可以使用OnValidate实现此效果。直接rotation=rotation%360即可(忽略四元数等转换)。倘若我们需要为一个游戏物体下所有子物体按照顺序,从0开始排序,可以直接使用for循环,获取transform.count,然后transform.getchild(0).name=i即可。OnValidate使用场景数不胜数,就不再赘述了。
关于Dotween旋转以及OnValidate函数的解读的更多相关文章
- Java中系统时间的获取_currentTimeMillis()函数应用解读
快速解读 System.currentTimeMillis()+time*1000) 的含义 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 微 ...
- 31.QPainter-rotate()函数分析-文字旋转不倾斜,图片旋转实现等待
在上章和上上上章: 28.QT-QPainter介绍 30.QT-渐变之QLinearGradient. QConicalGradient.QRadialGradient 学习了QPainter基础绘 ...
- go 学习笔记之解读什么是defer延迟函数
Go 语言中有个 defer 关键字,常用于实现延迟函数来保证关键代码的最终执行,常言道: "未雨绸缪方可有备无患". 延迟函数就是这么一种机制,无论程序是正常返回还是异常报错,只 ...
- Unity脚本-Rotate旋转相关知识点
1,Transform旋转 transform.Rotate(X, Y, Z);//分别绕X,Y,Z轴旋转,可写为绕某个轴旋转,栗子transform.Rotate(0, 90, 0); tr ...
- 《征服 C 指针》摘录4:函数 与 指针
一.指向函数的指针 函数名可以在表达式中被解读成“指向函数的指针”,因此,正如代码清单 2-2 的实验那样,写成 func 就可以取得指向函数的指针. “指向函数的指针”本质上也是指针(地址),所以可 ...
- 【转】IOS屏幕旋转与View的transform属性之间的关系,比较底层
iTouch,iPhone,iPad设置都是支持旋转的,如果我们的程序能够根据不同的方向做出不同的布局,体验会更好. 如何设置程序支持旋转呢,通常我们会在程序的info.plist中进行设置Suppo ...
- unity Dotween插件的简单介绍及示例代码
unity里面做插值动画的插件有许多,比较常见的有itween.hotween.dotween.根据大家的反馈和实际体验来说,dotween插件在灵活性.稳定性.易用性上都十分突出.这里简单介绍下它的 ...
- 【iOS】屏幕旋转,屏幕自适应方向变化
1. iOS有四个方向的旋转,为了保证自己的代码能够支持旋转,我们必须首先处理一个函数: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInter ...
- GDI+简单现实文字旋转
原文 http://www.cnblogs.com/kaixiangbb/p/3301272.html 题记 入职新公司已快有两月了,试用期已快结束,项目却迟迟还未正式启动.安排给我的多是些琐事,一直 ...
随机推荐
- css3 nth-child选择器
css3 nth-child选择器 css3的nth-child选择器,乍看起来很简单,其实不是那么容易. 简单用法 p:nth-child(n) // 选择属于其父元素的第n个子元素的每个 < ...
- java Web开发实现手机拍照上传到服务器
第一步: 搭环境,基本jdk 1.6+apache tomcat6.0+myeclipse2014 1.我们要清楚自己的jdk版本.因为我们Apache Tomcat配置的成功的前提是版本相对应. 安 ...
- 关于css中选择器的小归纳(一)
关于css中选择器的小归纳 一.基本选择器 基本选择器是我们平常用到的最多的也是最便捷的选择器,其中有元素选择器(类似于a,div,body,ul),类选择器(我们在HTML标签里面为其添加的clas ...
- 关于 video 播放的新探索
前端同学要使用 HTML5 播放器视频,必然会使用 video 标签,不过大多数同学只是使用了较简单的功能,其实它本身拥有不凡之力有待我们发现. 首先,我们先来看下 video 最基础的用法: 使用 ...
- 纯JS实现KeyboardNav(学习笔记)二
纯JS实现KeyboardNav(学习笔记)二 这篇博客只是自己的学习笔记,供日后复习所用,没有经过精心排版,也没有按逻辑编写 这篇主要是添加css,优化js编写逻辑和代码排版 GitHub项目源码 ...
- Android中的Preference结构的设计与实现
本文主要通过分析源代码来分享Preference的设计和实现方式,让开发者们在今后更加顺手地使用和扩展Preference类,或者在设计其他类似的界面和功能时可以提供参考帮助. Preference概 ...
- nginx之配置文件公用抽取
nginx之配置文件公用抽取 因为某些原因,需要同时部署同一应用两个不同分支的代码,而配置文件存在较大重复,因此有此篇. 最近构建的过程中遇到了一些跟nginx配置相关的问题,记录下. 简单说下构建的 ...
- vue项目中返回之前页面数据不刷新的问题
利用vue做项目的时候会有让用户选择当前页面的某些数据,然后再跳到下一页,而下一页是根据上一页的数据来的,有时候选择了上一页的不同选项,下一页的数据可能还是之前的 这个就属于vue的数据获取问题 解决 ...
- Python知识结构
Python知识结构(点我) 欢迎评论提修改意见
- 北桥芯片(north bridge/host bridge)
看下上面的图,会比较清晰的认识到北桥芯片所在位置 北桥芯片(North Bridge) 是mother board chipset(主板芯片组) 中起主导作用的最重要的组成部分,也称为主桥(Host ...