首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏人工智能

    Unity一键制作预制体Prefab一键修改Prefab属性

    summary> /// 编辑器脚本 /// public class CreationPrefab : EditorWindow { [MenuItem("Tools/一键生成Prefab DirectoryInfo info = new DirectoryInfo(path); FileInfo[] fileInfos = info.GetFiles("*.prefab = AssetDatabase.LoadAssetAtPath(paths, typeof(GameObject)) as GameObject; prefabs.Add(prefab Undo.RecordObject(prefab, "Modify Prefab Scale"); 嵌套预制体与变体 嵌套处理:若使用嵌套预制体(Nested Prefab),需递归修改子预制体。 总结 本次总结的就是Unity一键制作预制体Prefab一键修改Prefab属性,有需要会继续添加新的 如能帮助到你,就帮忙点个赞吧,三连更好哦,谢谢 你的点赞就是对博主的支持,有问题记得留言评论哦

    36210编辑于 2026-01-20
  • 来自专栏Unity游戏开发

    Unity-资源打包-AssetBundle

    (path + "/" + dps[i]); } AssetBundle ab = AssetBundle.LoadFromFile(path + "/prefab () { string path = Application.streamingAssetsPath + "/" + "prefab"; AssetBundle bundle = AssetBundle.LoadFromMemory(File.ReadAllBytes(path)); GameObject prefab = bundle.LoadAsset <GameObject>("Cube"); Instantiate(prefab); } 5.从本地获得网络加载WWW.LoadFromCacheOrDownload 通过URL = WWW.LoadFromCacheOrDownload(@"D:\the9git\the9_09\UnityProject\UnityBase04\Assets\StreamingAssets\prefab

    3K21发布于 2019-05-29
  • 来自专栏六月-游戏开发

    unity-对象池

    void FillPool() { for(int i = 0;i < addSum; i++) { PutObject(MonoBehaviour.Instantiate(Prefab )); } MonoBehaviour.print(Prefab); MonoBehaviour.print(pool.Count); } 然后还需要提供基础的Get/Put方法用于存取对象池对象 ; //存储对象的Prefab public static GameObject poolGO; //总对象池管理 public ObjectPool(GameObject Prefab,int InitSum = 10,int addSum = 10) { this.Prefab = Prefab; this.addSum = addSum )); } MonoBehaviour.print(Prefab); MonoBehaviour.print(pool.Count); }

    69440编辑于 2022-12-26
  • 来自专栏太阳影的学习记录

    Unity3D中的meta文件笔记

    问题就是场景中引用到的script、prefab总是会出现Unity找不到的情况(显示“Missing xxx”)。最终发现原来是我们一开始设置的git里面,就直接移除了对.meta文件的追踪。 .meta文件的作用 在Unity中,每次我们创建一个prefab、导入文件的时候,Unity都会自动生成为这个prefab、资源文件生成一个独特的ID,这是为了方便Unity进行资源管理,在你重命名、 例如你创建了一个prefabprefab里面有一张图片。 而这就依赖Unity对每一个导入的资源、自己制作的Prefab生成唯一的ID来进行管理。 通常我们称这个ID为GUID,而这个GUID通常就保存在与资源文件同名的.meta文件中。 总结下:.meta文件主要保存了相应的文件的GUID,这是Unity用于资源管理的,每个资源独一份的ID,prefab中对资源的引用就依赖GUID和.meta文件来实现。

    2.4K60发布于 2021-10-15
  • 来自专栏人工智能

    Unity 生成物体的几种方式

    ; // Start is called before the first frame update void Start() { Instantiate(prefab1 false不保留 true保留 Instantiate(prefab1, prefabFather.transform,false); //Quaternion.identity 对象与世界轴或父轴完美对齐(没有旋转) Instantiate(prefab1, prefabFather.transform.position,Quaternion.identity ); Transform tran1 = Instantiate(prefab,fatherTransform); Transform tran2 = Instantiate (prefab,fatherTransform,false); Transform tran3 = Instantiate(prefab,fatherTransform.position

    15710编辑于 2026-01-20
  • 来自专栏Unity游戏开发

    Unity-资源引用自动化工具

    使用一个配置文件,将引用存入一个结构体 实现一个解析器,将配置文件中的结构体,通过键值的方式让键与具体的对应引用对应与,使用时使用解析器提供的方法,将键作为参数 实现一个Unity编译器拓展的方法,遍历全部的Prefab ,并找到其对应的_prefab.lua的配置文件,遍历其中的结构体并进行解析,将无法引用的失效路径输出警告 1.解析器的实现 使用多态的特性,让不同的解析器继承一个基类 local parserBase ") local cusText = parserTab["TitleBar"]["Text"] 4.编译器拓展,遍历全部的prefab,并找到其对应的_prefab.lua文件 调用上面的解析方法, local parserTool = LuaCallCSTool.StaticIT() local files = parserTool:FindAllPatternFiles("t:Prefab "_prefab" if io.open(prefabLuaFileName..".lua","r") then local prefabTab = require

    1.3K10发布于 2019-08-18
  • 来自专栏用户10004205的专栏

    Unity 编辑器开发实战【MenuItem】- 批量删除场景中的LOD Group,保留最高层次细节

    实现思路: 1.使用MenuItem制作一个功能菜单; 2.调用功能时,弹出窗口提醒确认删除场景中的LOD Group组件; 3.如果物体属于Prefab,不能进行销毁操作,因此还要确认是否进行Prefab confirm) return; //弹出窗口 询问是否执行Prefab Unpack操作 bool unpackPrefab = EditorUtility.DisplayDialog ("确认", "如果目标物体属于Prefab预制体,执行Prefab Unpack操作还是跳过它?" if (unpackPrefab) { //获取Prefab prefabRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(target); //Prefab

    1K20编辑于 2022-08-29
  • 来自专栏李海辰的专栏

    Unity 引擎资源管理代码分析 ( 1 )

    而其中Asset和Prefab只是两个抽象的概念,并没有对应的C++ Class实现。具体见下图: 2. Prefab 那么Prefab又是什么?我们知道可以将多个GameObject对象挂接为父子级,组成一个完整的场景树。 而当我们把其中的一部分子树在Unity编辑器中拖拽到资源视图中时就会生成一个对应的.prefab文件。 但注意,由于组件并不实际保存资源数据,因此.prefab文件也并不直接保存其引用的任何资源数据。取而代之,.prefab文件通过一个guid来索引其引用到的资源。 下图为保存了一个人物模型的prefab文件和这个模型fbx对应的meta文件内容的部分截图。

    9.5K53发布于 2017-08-25
  • 来自专栏韩曙亮的移动开发专栏

    【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 )

    使用方案 ① ; 调试修改代码 : 如果想要 调试修改 Oboe 源代码 , 使用方案 ② ; 二、使用预构建的二进制库和头文件 ---- 前提条件 : 函数库发布形式 : Oboe 作为 Prefab 包 , 在 Google Maven 中发布 ; 开发环境要求 : 如果要支持 Prefab , 需要的 Android Studio 开发环境的最低版本为 Android Studio 4.1 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 ) Prefab 是用于 预编译 C/C++ 函数库 , 生成构建系统集成的工具 ; Prefab 包中含有 少量的元数据 , 以及描述的预构建的函数库 ; 参考 : GitHub/Prefab 在 Module 下的 build.gradle 中进行如下配置 : ① 添加依赖 : dependencies { implementation 'com.google.oboe:oboe:1.4.3' } ② 设置 Prefab 开启 : android { buildFeatures {

    1.7K00编辑于 2023-03-28
  • 来自专栏Unity3d程序开发

    Unity3d+GameFramework:资源分析,资源依赖,循环依赖检测

    m_DependencyAssets”:[{“Guid”:“f0ce9e0e8a0456d4f992300134cfd602”,“Name”:“Assets/GameMain/luoyikun/Cube2.prefab “DependencyAssetCount”:1,“ScatteredDependencyAssetCount”:0} 增加一条依赖关系:Assets/GameMain/luoyikun/Cube2.prefab ’ when load asset ‘Assets/GameMain/luoyikun/Cube1.prefab’. ", "DependencyAssetName": "Assets/GameMain/luoyikun/Cube2.prefab", 记录2 "HostAssetName": "Assets /GameMain/luoyikun/Cube2.prefab", "DependencyAssetName": "Assets/GameMain/luoyikun/Cube1.prefab

    69930编辑于 2023-08-24
  • 来自专栏Golang语言社区

    Golang语言情怀--第123期 全栈小游戏开发:第14节:预制件(Prefab

    点击 资源管理器 左上方的 + 按钮,或者点击面板空白处,然后选择 Node Prefab 即可。 注意:请尽量避免多人同时修改同一个 Prefab 资源,否则可能会导致冲突,且无法通过 git 合并解决冲突。 还可以通过点击 Creator 顶部菜单栏中的 节点 -> 取消关联当前的 Prefab 资源 来实现。 定位资源。便于快速在 资源管理器 中定位到预制件资源。 从资源还原。

    41910编辑于 2023-11-29
  • 来自专栏最新医学影像技术

    Hololens开发学习(二)——HoloToolkit组件

    InputManager.prefab:输入管理器,用来管理视线、手势等输入源。 Cursor.prefab:工具包自带光标之一,主要实现凝视物体时,出现附着圆环,否则光标发亮。 其他几个自带光标如下: BasicCursor.prefab:基础光标,凝视物体出现附着圆环,否则不显示。 凝视物体和不凝视物体 CursorWithFeedback.prefab:手势检测光标,当检测到手时,会变成一个手势图标。 DefaultCursor.prefab:默认光标,模拟Hololens系统内置光标。

    2K20发布于 2020-06-29
  • 来自专栏星河造梦坊专栏

    HTC VIVE☀️三、 ItemPackage实现配套物品的同时抓取

    ItemPrefab:按下Trigger键,将生成在手上的物体 OtherHandItemPrefab:PackageType为两只手时,指定在另一只手上要生成的物体 PreviewPrefab:预览的Prefab ,即放在桌面上的Prefab。 即我们拿起的物体和放下的物体可以是两个不一样的Prefab FadedPreviewPrefab:轮廓的Prefab。 上,即生成在手上的物体这两个Prefab上。 它告诉生成机制,该Prefab属于哪个ItemPackage 5️⃣ 当前效果 6️⃣ DestroyOnDetachedFromHand组件 当配置完成上述组件,运行时却发现,放回物体后,左右手上的物体虽脱离了手柄

    27610编辑于 2024-08-14
  • 来自专栏码客

    Unity2D开发入门-预制体

    前言 Unity中的预制体(Prefab)是可重复使用的游戏对象模板,可以帮助你在场景中快速创建多个相同类型的对象。 以下是使用预制体的步骤: 创建预制体:在Unity的Project窗口中,选择一个游戏对象(例如,一个模型、一个UI元素等),右键点击并选择”Create Prefab”(创建预制体)。 这将在Assets文件夹中创建一个.prefab文件。 将预制体放入场景:将预制体从Assets文件夹中拖拽到Hierarchy(层级)窗口或场景中。 例如: public GameObject prefab; // 预制体引用 void Start() { GameObject instance = Instantiate(prefab);

    89920编辑于 2023-07-24
  • 来自专栏Creator星球游戏开发社区

    Creator组件化的编程探索

    把Menu节点拖到资源管理器中成为一个prefab。 ? 不知道如何下手,设置这些属性 不知道大家有没有遇到过,在属性检查器上密密麻麻的属性配置,不知道该如何下手? 组件+prefab就属于这类,由于结界型组件大多是定制的,它并且不能随便挂载到别的节点上(更多的是只能挂载到唯一的节点上)。 3. 结界的秘密 话说天有九重,九只是个虚数,其实是很多的意思。 比如有一个名为A的prefab,将组件脚本A.js挂载到prefab的根结点。 当另一个场景或预制体中实例化这个A.prefab时,A.js就上升为一个控件,他管理了A.prefab下的所有节点,但对于当前场景来说,它又体现为一个法宝型组件,而成为了一个控件。 三、结语 uikiller库是我在组件化编程上的一点成果,可以方便管理prefab下的任意节点和组件,以及节点上的触摸事件。奉上一段uikill的使用视频 ,结束这篇分享。 ? ----

    1.1K40发布于 2019-09-11
  • 来自专栏星河造梦坊专栏

    Vuforia⭐二、动态修改识别目标和3D物体

    behaviour.gameObject.AddComponent<TurnOffBehaviour>(); //添加禁用渲染工具脚本 foreach (GameObject prefab in targetPrefabs) { if (prefab.name.Equals(targetKey)) { GameObject obj = GameObject.Instantiate(prefab); obj.transform.parent 由behaviour.TrackableName == targetKey可以看出,我们在调用ConfigTrackable(string targetKey)方法时,要传入的是识别图的名称 2)、由prefab.name.Equals

    86810编辑于 2024-08-15
  • 来自专栏hrscy

    Unity 基础 - 预设

    直接拖拽 方法二:在 Assets 中右键 ,点击 Create 然后在点击 Prefab ,如下图所示 ? 右键创建 创建完成后如下图: ? cube.prefab 创建好预设之后,就可创建相应的游戏对象了,可以直接拖拽到场景中进行创建: ? 直接拖拽创建 选择一 个游戏物体,可以在 Inspector 面板中找到 Prefab: ?

    95010发布于 2018-08-30
  • 来自专栏韩东吉的Unity杂货铺

    零基础入门 36:代码控制预设

    之前一直有小伙伴问我一个问题,我们在Unity中,可以把一个GameObject从Hierarchy窗口拖动到Project窗口,这样就完成了对Prefab的创建或者更新,但是这一切的操作都依赖于手动拖动 这里的控制指的是将我们在Unity中选中的一个GameObject通过自定义菜单栏点击后,放到我们Project窗口中,从而形成一个Prefab,并且可以通过再次点击菜单栏实现更新操作,并且不改变原来选中的 有一个菜单栏可以实现对选中的控制对象进行操作 2、选中的GameObject可以实例化成一个预设文件到指定路径下 3、如果当前选中的GameObject在指定路径下已经存在,那么更新预设 4、不改变选中对象的状态,即不会将选中的对象也变成Prefab endregion #region Private Attributes #endregion #region Public Methods [MenuItem("Jimin/Control Prefab ; if (obj == null) return; string prefabPath = "Assets/" + obj.name + ".prefab

    81250发布于 2018-10-18
  • 来自专栏宜达数字

    Unity3D高级-AssetBundle使用

    2、在工程的Project视图里点击想要保存的资源,网络上推荐的是Prefab,右键点击,选择菜单里最下面的两个选项任意一个都可以,第一个选项对应的自定义属性有一个过期了,但是不影响使用。 4、推荐制造做法: 任何形式的资源都可以,包括集合资源,比如创建一个空的GameObject,把所有想要关联的其他GameObject都拖进去,然后在project视图里创建一个prefab,将这个集合资源 GameObject拖进去作为一个prefab。 .assetbundle")); //StartCoroutine(LoadMainGameObject(PathURL + "Prefab1.assetbundle")); StartCoroutine(LoadMainCacheGameObject(PathURL + "Prefab1.assetbundle")); }

    2.5K20发布于 2020-06-02
  • 来自专栏walterlv - 吕毅的博客

    Unity OpenVR 虚拟现实入门三:最简单的五指交互

    ▲ Unity 编辑器中的 Player 将控制器换成手 找到场景中的“Player”->“SteamVRObjects”,选择“LeftHand”,在“检查器”中找到“Render Model Prefab ▲ Render Model Prefab 将前面在“SteamVR”->“InteractionSystem”->“Core”->“Prefabs”中的其他种类的左手拖拽到检查器的“Render Model Prefab”中。

    54530编辑于 2023-10-22
领券