Unity落地脚本

2023-04-13  本文已影响0人  Rayson

1.选择想要落地的物体

通过检测射线的方式,控制偏移大小 让其落地


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

public class BuildTree
{
    [MenuItem("Tools/luodi")]
    static void Test()
    {
        var objs = GameObject.FindGameObjectsWithTag("Substation");

        foreach (var item in objs)
        {
            item.transform.position += Vector3.up * 10;

            Vector3 point = item.transform.position;


            Ray ray = new Ray(point, Vector3.down);

            if (Physics.Raycast(ray, out var hitinfo, 1000, ~LayerMask.NameToLayer("Ground")))
            {
                item.transform.position = hitinfo.point + Vector3.up * 2;//这里是控制上下偏移的量
            }
        }
    }

}

2.T是代表有组件的标签,可以逐一的隐藏选择

t:BuildTip
在Hierarchy中查找挂载BuildTip组件的模型

眼睛图案:看不见
手指图案:点不中


上一篇下一篇

猜你喜欢

热点阅读