gpt4 book ai didi

unity3d - 将物体放在相机前

转载 作者:行者123 更新时间:2023-12-04 03:01:02 25 4
gpt4 key购买 nike

这应该是一项简单的任务,我已经用谷歌搜索过了,但我不明白为什么这些例子对我有用。

基本上,我想在我的第一人称游戏中在地面上放置瓷砖。我希望我想放置在地面上的物体能够在半空中“漂浮”,同时为它选择完美的位置。我可以实例化对象,使其成为播放器相机的子对象,但我无法将它定位在相机前面 X 个单位;它总是“在”播放器上结束;

public void StartPlacing ( Item item ) {
Object itemPrefab = Resources.Load( "Prefabs/" + item.prefabName );

GameObject itemObject = (GameObject)Instantiate( itemPrefab );
itemObject.transform.parent = playerCamera.transform;

// What to do here to place it in front of the camera? I've tried this:
itemObject.localPosition = new Vector3( 0, 0, 5 );
}

更新:相机是玩家(角色 Controller )的 child ,相机处于透视模式。

最佳答案

您可以使用 forward vector的对象,是这样的:

public GameObject frontObject;
public float distance;

void Update () {
frontObject.transform.position = Camera.main.transform.position + Camera.main.transform.forward * distance;
}

关于unity3d - 将物体放在相机前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696782/

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