gpt4 book ai didi

c# - Unity3D:无论其规模如何,都将所有游戏对象转换为相同大小

转载 作者:行者123 更新时间:2023-12-05 03:48:35 24 4
gpt4 key购买 nike

假设我有一个引用游戏对象 Cube,其比例为 (1,1,1)。还有另一个 GameObject 的比例为 (1,1,1),但大小是 Cube 的 3 倍。如何动态更改游戏对象的比例以适合立方体的大小?

最佳答案

获取每个网格过滤器并使用 Mesh.bounds.size 获取它们的大小。要使第二个对象适合第一个对象,您需要根据网格大小的不同更改第二个对象的比例。

// If you want it to be 100% accurate, you should multiply RefSize here 
// by RefMeshFilter.transform.lossyScale so that the other object's
// size also accounts for the reference object's scale.
var RefSize = RefMeshFilter.bounds.size;
var MySize = MyMeshFilter.bounds.size;
var NewScale = new Vector3(RefSize.x / MySize.x, RefSize.y / MySize.y, RefSize.z / MySize.z);

// I'm un-parenting and re-parenting here as a quick way of setting global/lossy scale
var Parent = MyMeshFilter.transform.parent;
MyMeshFilter.transform.parent = null;
MyMeshFilter.transform.localScale = NewScale;
MyMeshFilter.transform.parent = Parent;

关于c# - Unity3D:无论其规模如何,都将所有游戏对象转换为相同大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64324915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com