【Unity】unity Instantiate实例化物体后出现scale改变

本文介绍了在Unity中使用Instantiate实例化物体时遇到的缩放变化问题。当实例化物体并更改其父物体时,物体的scale值会受到影响。提供了解决这个问题的两种方法:1) 在Instantiate时直接指定父物体,避免后期更改;2) 如果后期更改了父物体导致scale变化,可以通过设置实例化物体的localScale为(1,1,1)来重置缩放。这些解决方案有助于保持物体的原始比例不变。
摘要由CSDN通过智能技术生成

【转】unity Instantiate实例化物体后出现scale改变

最近在做的东西大部分都要用到instantiate, 实例化某个prefab物体,实例化的物体若没有指定父物体,就会自动生成到根目录下。

这是出现了一个问题,当实例化物体后,更改parent值,这时,实例化物体的scale值会产生相应的改变

有两种解决办法

1、instantiate本身可以有父物体参数  Instantiate<T>(T original, Vector3 position, Quaternion rotation, Transform parent),

这样实例化出来的物体不会出现scale中的改变(因为没有在外部更改父物体,一次性成品,安全)

1Instantiate(twoDPreb, twoDPreb.transform.position, twoDPreb.transform.rotation,this.transform.Find("Panel").transform);

2、如果是实例化后,更改父物体导致scale值更改,也可以在下面更改实例化物体的localScale的值来更改其scale值

1GameObject obj = Instantiate(twoDPreb, twoDPreb.transform.position, twoDPreb.transform.rotation);2obj.transform.SetParent(this.transform.Find("Panel").transform);3obj.transform.localScale =newVector3(1,1,1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值