Unity 切换Parent后LocalPostion没有改变
时间: 2024-01-02 09:04:03 浏览: 24
在 Unity 中,当你将一个物体从一个父物体移动到另一个父物体时,它的本地坐标将不会改变。这是因为本地坐标是相对于父物体的坐标系而言的,而不是全局坐标系。如果你想要在改变父物体后保持物体在世界空间中的位置不变,你需要在移动物体之前将其本地坐标转换为世界坐标,然后再将其转换回本地坐标。
以下是一些示例代码,可以帮助你更好地理解这个概念:
```
// 获取物体在世界空间中的坐标
Vector3 worldPosition = transform.position;
// 将物体从旧的父物体中移除
transform.SetParent(newParent);
// 将物体的世界坐标转换为本地坐标
transform.position = transform.parent.InverseTransformPoint(worldPosition);
```
这段代码首先获取物体在世界空间中的坐标,并将其存储在 `worldPosition` 变量中。然后,它将物体从旧的父物体中移除,并将其设置为新的父物体。最后,它将物体的世界坐标转换为新的本地坐标,并将其设置为物体的位置。
希望这可以帮助你解决问题!
相关问题
unity切换场景后 场景不动
如果你在Unity中切换场景后,场景不动,可能是因为你没有正确地暂停和恢复游戏。你可以尝试在场景切换前使用Time.timeScale = 0来暂停游戏,并在场景切换后使用Time.timeScale = 1来恢复游戏。
另外,如果你使用了DontDestroyOnLoad函数来保留某些游戏对象,这些对象将会在场景切换时继续存在,可能导致场景不动。你可以尝试在场景切换前手动销毁这些对象,或者使用SceneManager.LoadScene加载场景时将其设置为单例对象。
unity中的localpostion
Unity中的localPosition表示物体相对于其父物体坐标系的位置。也就是说,如果一个物体没有父物体,它的localPosition与position是相同的。如果一个物体有父物体,那么它的localPosition会随着父物体的移动而改变,而position则表示在世界坐标系中的位置,不受父物体的影响。
例如,如果一个物体的父物体的位置为(1,0,0),那么它的localPosition为(0,1,0),则其在世界坐标系中的位置为(1,1,0)。如果父物体移动到(2,0,0)的位置,那么它的localPosition仍然为(0,1,0),但在世界坐标系中的位置则变为了(2,1,0)。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)