unity——删除父物体下面的所有子物体

这篇具有很好参考价值的文章主要介绍了unity——删除父物体下面的所有子物体。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、直接使用for循环,遍历子物体,使用依次Destory直接销毁子物体;

Destroy(parent.GetChild(i).gameObject);

    /// <summary>
    /// 清除父物体下面的所有子物体
    /// </summary>
    /// <param name="parent"></param>
    private void ClearChilds(Transform parent)
    {
        if (parent.childCount > 0)
        {
            for (int i = 0; i < parent.childCount; i++)
            {
                Destroy(parent.GetChild(i).gameObject);
            }
        }
    }

2、注意事项:

1、不要使用Foreach遍历来增删元素,在遍历对象不是值类型时,修改集合元素,也不要使用foreach遍历修改。容易导致赋值错误。

foreach是封装的⼀个迭代器,调⽤List的GetEnumrator()⽅法;foreach遍历过程中增删,会使集合的大小和元素索引值发生变化,导致在foreach中增删元素时会抛出异常;foreach遍历过程执行时不是有序执行的,修改引用类型的数据容易导致赋值错误。

2、使用Destory销毁物体时,注意对象类型是gameObject;

Destory可以销毁物体,也可销毁Transform,以及其他类型对象;文章来源地址https://www.toymoban.com/news/detail-506065.html

到了这里,关于unity——删除父物体下面的所有子物体的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity获取物体组件的所有方法以及优缺点

    1.GetComponent(): 获取物体上的指定组件 T,如果物体上不存在该组件,则返回 null。 优点:简单易用,可以快速获取指定组件的实例,方便直接操作组件。 缺点:如果需要获取多个组件,需要多次调用该方法,较为繁琐。 2.GetComponentInChildren(): 在物体及其子物体中查找指定组件

    2024年02月13日
    浏览(30)
  • Unity中删除预制体的子物体

    Unity中要删除预制体中的某个子游戏物体,需要先将该预制体UnPack,然后调用DestroyImmediate删除GameObeject,然后再保存预制体。这其实挺麻烦的,因为有时你拿到的gameObject是Asset中的资源,将预制体实例化后不好找到实例中对应的gameObject,拿名字找可以,但还是会有重名的风险

    2024年02月11日
    浏览(47)
  • React 使用 useRef() 获取循环中所有子组件实例

    之前项目中使用了 antd pro 中的 可编辑表格 (EditableProTable) ,在页面中表格要经过多层遍历后组成的新页面,所以我将之抽成了一个公用的组件,另外在遍历的最外层需要通过一个按钮统一提交表格数据,但是提交数据之前需要对每一个表格进行非空校验。 遍历中引入组件这

    2024年02月11日
    浏览(22)
  • 使用微软提供的工具获取权限删除不能直接删除的注册表(删除U盘等移动设备记录)

    在计算机HKEY_LOCAL_MACHINESYSTEMControlSet001EnumUSBSTOR中保存了电脑连接过的移动设备信息,但是直接右键无法删除项目 在网上搜索资料后发现微软有发布工具可以进行删除操作,但是需要输入命令,于是,我使用C#进行简单的封装 该代码执行后,使用psexec.exe打开注册表并可以删

    2024年02月16日
    浏览(26)
  • Unity——使用铰链关节制作悬挂物体效果

    目的 在场景中创建一个悬挂的物体,是把多个模型悬挂在一起可以自由摇摆,类似链条的效果 效果图 前言 什么是铰链关节? 铰链关节 将两个刚体(Rigid body)组会在一起,从而将其约束为如同通过铰链连接一样进行移动。它十分适合门、链条、钟摆等模拟效果。 步骤 打开

    2023年04月24日
    浏览(72)
  • unity 使用Vuforia扫描实体物体交互

    效果: unity 使用Vuforia扫描实体物体 效果 图片识别 新手教程链接: link 识别物体 新手教程链接: link unity Holoens2开发使用Vuforia 新手教程链接: link 运行官方 Vuforia Hololens 2 Sample 教程 链接: link 最近有个Holoens2 识别灭火器实体交互的项目,大概有2-3年没有搞MR的项目了,重新看一

    2024年02月05日
    浏览(30)
  • unity 如何使用鼠标滚轮进行物体的缩放

    当我们进行鼠标滚轮进行滑动时,会返回一个float的值, 当鼠标滚轮向前进行滑动时 返回的float值是0的,        当鼠标滚轮向后进行滑动时 返回的float值是0的   所以可以通过返回的float值来判断鼠标滑动的方向。 物体的缩放需要一个参考值 因此需要新建一个参考值

    2024年02月13日
    浏览(27)
  • unity中 使用IDragHandler拖动交换子物体

    using DG.Tweening; using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using VRSightCheck.Scripts; public class SwapPanel : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {     /// summary     /// 是否已经响应拖拽     /// /summary     public static bool isDrag = false;     priv

    2024年02月05日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包