transform.localPosition操作时的一些注意事项

移动GameObject是非常平常的一件事情,一下代码看起来很简单:

transform.localPosition += new Vector3 ( 10.0f * Time.deltaTime, 0.0f, 0.0f );

但是小心了,假设上面这个GameObject有一个parent, 并且这个parent GameObject的localScale是(2.0f,2.0f,2.0f)。你的GameObject将会移动20.0个单位/秒。因为该 GameObject的world position等于: 
Vector3 offset = new Vector3( my.localPosition.x * parent.lossyScale.x,
my.localPosition.y * parent.lossyScale.y,
my.localPosition.z * parent.lossyScale.z );
Vector3 worldPosition = parent.position + parent.rotation * offset;
换句话说,上面这种直接操作localPosition的方式是在没有考虑scale计算的时候进行的,为了解决这个问题,Unity3D提供了Translate函数,所以正确的做法应该是: 
transform.Translate ( 10.0f * Time.deltaTime, 0.0f, 0.0f );

时间: 2024-11-29 09:06:17

transform.localPosition操作时的一些注意事项的相关文章

Unix系统重启时必须注意的事项

Unix系统重启时必须注意的事项 对于系统管理员来说如何管理自己的服务器已经是再简单不过,但是如何管理好服务器却不是一个简单的事情.对于Windows服务器管理员来说经常性重启Windows设备已经成为一种生活常态,但在Unix系统中这可不是常态的事,在默认情况下重新启动不会带来任何形式的改善. 对于每一位服务器管理员来说这都算得上热门话题,但在Unix极客们眼中它则属于一种层次更深的课题--可能因为Windows管理员们往往把重启当成故障排查工作的首要步骤之一,而Unix团队则一般只在束手无策

如何找回执行页内操作时的错误机械硬盘的文件

执行页内操作时的错误说明这个盘的文件系统结构损坏了.在平时如果数据不重要,那么可以直接格式化就能用了.但是有的时候里面的数据很重要,那么就必须先恢复出数据再格式化.具体恢复方法可以看正文了解(不格式化的恢复方法) 工具/软件:AuroraDataRecovery 步骤1:先下载并解压软件运行后,直接双击需要恢复的分区,然后右击软件图标选择<以管理员身份运行> 步骤2:程序运行后,直接双击需要恢复数据的盘 步骤3:软件找出文件后,会放到与要恢复盘同名的目录中 步骤4:将需要恢复的资料勾选,然后点

运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口

运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口. 本文说的是写入操作,若是查询操作,能只打开一个主机的securCRT窗口,就不要打开两个主机的securCRT窗口. 由于ogg复制环境中需要单表数据重新同步的关系,我经常在生产环境的ogg源头库中expdp,在ogg目的端库中impdp 当我在生产环境的ogg源头库中expdp完成并scp dmp 文件到目的端os之后,我会立即exit退出ogg源头的securCRT窗口. 原因是我怕impdp之前的drop t

关于有默认值的字段在用EF做插入操作时的思考

今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null.于是赶紧看表结构发现CreateDate字段居然是允许为空的. 虽然为空,但是设置了默认值getdate(),按说不应该为null的.于是开始测试. 字段允许Null值的情况 Users表结构如下: 假如一个字段有了默认值,并且又允许为Null,在做插入操作时会发生什么? 如上图中的表结构,CreateDate是允许为null的,而又有默认值getdate().这样在用传统SQL

orang&#39;s 一个操作系统 主机win7 64位,虚拟机LINUX时的一些注意事项

主机64位windows7 虚拟机Debian 8 64位 1.vbox虚拟机linux挂载windows文件夹64位系统 mount -t vboxsf /共享的windows目录名 /linux下装备要挂载的目录名 mount -o loop 要挂载的文件名 /linux下的目录名 cp 准备复制的文件名 /用mount -o loop 挂载的目录名 umount /用mount -o loop 挂载的目录名   ;取消挂载 2.debianLinux :mount时出现文件系统有问题时解决

Dataframe操作时出现 KeyError: &#39;列名xxx&#39;

python确实很用来很爽很苏服,代码不多 各种库出于易用目的,做了很多默认设置,但要是不认真看API,那就会掉到坑里了. df1.groupby(['Dn','UserLabel','BeginTime']).first() df1['city']=df1['UserLabel'].str.slice(0,2) 出现 df1['UserLabel'] File "D:\script\Python279\lib\site-packages\pandas\core\frame.py",

ios ASIHttpRequest库进行DELETE操作时delete带有参数表单的使用方法

1,普通的DELETE只需加上下述一句code: [request setRequestMethod:@"DELETE"]; 2,附带有参数表单的情况(一次删除请求): ASIFormDataRequest *request; NSURL *baseURL = [NSURL URLWithString:@"http://www.baidu.com/xx/"]; request = [ASIFormDataRequest requestWithURL:baseURL]

JS 省市区级联 修改地址操作时的默认选中方法

省市区级联JS控件 下载地址http://files.cnblogs.com/bin-pureLife/%E5%B0%8F%E5%9B%BE%E6%A0%87.zip function update(province,city,county){ $("#s_province option").each(function(){ if($(this).val()==province){ $(this).attr('selected',true) change(1); } }); $(&qu

mysql操作时遇到的小问题

mysql数据库在程序中执行sql语句时,或者在执行sql时,数据库表可能会有一些特殊的字符,比如说#,.等,这样在执行时 可能会遇到问题 如以下的表名,backup_2014.2.22, 这个表在查询时会有问题 因为存在这个.的缘故,会报错 table_name="backup_2014.2.22" 如python中写self.db.query("show create table %s" % table_name)[0]会报错 (1064, "You