You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity中实例化物体在Play Mode不可见,位置异常问题求助

问题描述

我编写了一个点击鼠标后从灌木丛生成物体的脚本,问题是生成的物体(在层级面板中显示为(Clone))在Play Mode中完全无法看到。

Play模式下生成物体不可见

我怀疑是随机位置的逻辑出现了错误,以下是生成物体的脚本:

生成脚本代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RandomObjectSpawner : MonoBehaviour
{
    public GameObject[] myObjects;
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            int randomIndex = Random.Range(0, myObjects.Length - 1);
            Vector3 randomSpawnPosition = new Vector3(Random.Range(-10, 11), 5, Random.Range(-10, 11));
            Instantiate(myObjects[randomIndex], randomSpawnPosition, Quaternion.identity);
        }
    }
}
排查与解决建议
  • 修复数组索引错误:Unity的Random.Range处理整数时是左闭右开区间,你写的Random.Range(0, myObjects.Length - 1)会漏掉数组最后一个元素。改成Random.Range(0, myObjects.Length)才能正确随机选取所有预制体。
  • 检查生成位置是否在相机视野内:选中层级面板里的(Clone)物体,按下F键让相机自动聚焦到它,确认是否在画面外。如果是,调整Random.Range的参数,缩小x/z轴范围或调整y轴高度,让生成位置处于相机可视区域。
  • 验证预制体本身的正确性:检查myObjects数组里的预制体是否添加了Mesh Renderer组件,材质是否正常,缩放有没有被设为0。如果预制体本身不可见,生成后自然看不到。
  • 排查层级与遮挡问题:确认生成物体的层级没有被相机的Culling Mask排除,同时检查灌木丛是否完全遮挡了生成的物体,可暂时隐藏灌木丛测试。

内容的提问来源于stack exchange,提问作者kylorius beno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:54:20