unity预制体问题请教

自己写了一段代码,检测的时候没报错,运行奠基石却出现了如下情况:

img


下为代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BuildTool : MonoBehaviour
{
    public RaycastHit hitInfo;
    public GameObject prefab;
    void Start()
    {
        Debug.Log(prefab.name);
    }
    void Update()//检测鼠标所点击到的物体并在对应位置创建新物体
    {
        if(Input.GetMouseButtonDown(0))
        {
            Ray buildray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(buildray, out hitInfo, 300, LayerMask.GetMask("build point")))
                {
                Transform HITTEDparentT = hitInfo.transform.parent.transform;
                Transform HITTEDselfT = hitInfo.transform;
                Quaternion PrefabForward = Quaternion.Euler(HITTEDselfT.forward);
                Instantiate(prefab,HITTEDparentT.position + HITTEDselfT.forward,PrefabForward);
                }
        }
    }
}


你取了射线碰到的物体的父物体的transform,我看你外边也没有那个物体有父物体啊

21行改成:
Transform HITTEDparentT = hitInfo.transform.transform;