找回密码
 立即注册
查看: 395|回复: 0

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

[复制链接]
发表于 2022-6-6 13:09 | 显示全部楼层 |阅读模式
【转】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);
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 04:19 , Processed in 0.095372 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表