在网页中为了控制.unity文件的大小,加速载入速度,可以把系统用到的资源制作成Assestbundles,根据需要进行动态的加载和卸载。具体作法:
1、使用脚本重新定义系统菜单,添加一个制作Assetbunles的菜单命令:
// C# Example
// Builds an asset bundle from the selected objects in the project view.
// Once compiled go to "Menu" -> "Assets" and select one of the choices
// to build the Asset Bundle
using UnityEngine;
using UnityEditor;
public class ExportAssetBundles {
[MenuItem("Assets/Build AssetBundle From Selection - Track dependencies")]
static void ExportResource () {
// Bring up save panel
string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "unity3d");
if (path.Length != 0) {
// Build the resource file from the active selection.
Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets);
Selection.objects = selection;
}
}
[MenuItem("Assets/Build AssetBundle From Selection - No dependency tracking")]
static void ExportResourceNoTrack () {
// Bring up save panel
string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "unity3d");
if (path.Length != 0) {
// Build the resource file from the active selection.
BuildPipeline.BuildAssetBundle(Selection.activeObject, Selection.objects, path);
}
}
}
以上脚本按类命名后放置在工程文件夹内Assets目录内的Edit文件夹内(如没有,自行新建)。这时如脚本描述的在菜单栏内的Assets下会出现Build AssetBundle From Selection的两个菜单,选中需要制作Assetbunles的资源生成即可。
2、使用www按需载入Assetbundle,举例如下
function Start () {
var url = "file:///D:/temp/XXX.unity3d";
StartCoroutine(LoadAsset(url));
}
function LoadAsset (url : String) {
var www : WWW = new WWW (url);
yield www;
var present : GameObject;
present = GameObject.Find("present");
if( present != null )
Destroy(present);
present = Instantiate(www.assetBundle.mainAsset);
present.name = "present"; //暂时把名字叫做“present”
}
相关推荐
制作AssetBundles的过程分为以下几个步骤: 1. **创建AssetBundle菜单命令**: 在提供的代码示例中,我们看到一个名为`ExportAssetBundles`的C#脚本,它扩展了Unity编辑器的菜单,添加了两个选项来创建...
Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于游戏制作、虚拟现实(VR)、增强现实(AR)等领域。在开发过程中,为了优化资源管理和降低加载时间,Unity3D引入了AssetBundles系统。AssetBundles-Browser是...
Unity3D提供了一系列工具和技术来帮助开发者优化资源加载流程,如AssetBundles、StreamingAssets等。 6. **多平台发布**:考虑到游戏的目标市场可能覆盖多个平台,Unity3D的强大之处在于其支持一次性开发,多平台...
Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于游戏制作、虚拟现实以及增强现实等领域。在游戏开发过程中,资源动态加载是一项重要的技术,它能够优化游戏性能,减少启动时的加载时间,提升用户体验。本Demo将...
Prefab(预设)是Unity3D中一种用于创建可重复使用的对象实例的方法。它允许开发者将带有所有组件和设置的游戏对象保存为模板,然后在游戏开发过程中多次实例化这些模板,从而避免重复配置相同的游戏对象。Prefab...
Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏、实时可视化应用及虚拟现实体验。在Unity3d开发过程中,有一套成熟的代码库是至关重要的,可以大大提高开发效率和代码质量。"unity3d 常用代码库...
Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D的互动内容,包括游戏、虚拟现实(VR)和增强现实(AR)应用。4.0.0f7是Unity的一个特定版本,发布于2012年,为开发者提供了许多创新功能和改进。 汉化...
#### 六、Unity3D实现2D游戏的方法 1. **使用GUI**: 通过Unity的GUI系统构建用户界面。 2. **正交投影**: 设置摄像机为正交投影模式,忽略Z轴。 3. **使用2D插件**: 如2D Toolkit等专门针对2D游戏开发的插件。 ####...
Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏、虚拟现实体验以及增强现实应用。在Unity3D中实现换装系统是游戏开发中的常见需求,尤其是角色扮演类游戏,它能极大地提升玩家的沉浸感和交互体验。...
Unity3D是一款强大的跨平台游戏开发工具,广泛应用于制作2D和3D的网络游戏、手机游戏以及桌面游戏。它以其高效、易用性以及丰富的功能集而受到开发者们的青睐。"网络游戏-一种基于Unity3D游戏引擎的游戏系统.zip"这...
本文将深入探讨Unity3D中的两种动态加载机制:Resources.Load和AssetBundle,以及如何使用它们进行资源管理和优化。 首先,我们来了解Resources.Load。这是Unity提供的一个简单易用的资源加载方法,它允许开发者从...
1. **Unity引擎**:Unity是一款跨平台的游戏开发工具,支持2D和3D游戏制作,广泛应用于游戏开发、虚拟现实和增强现实等领域。它采用C#作为主要编程语言,提供了可视化编辑器和强大的资源管理。 2. **寻路算法**:在...
Unity是一款非常流行的跨平台游戏开发引擎,被广泛应用于2D和3D游戏的制作中。它支持多种编程语言,如C#,并且提供了丰富的图形渲染、物理模拟等功能,使得开发者能够快速构建出高质量的游戏作品。 本次介绍的...
Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏以及互动式内容。在Unity中,AssetBundle是一种资源管理机制,它允许开发者将游戏中的资源(如模型、纹理、音频等)打包成独立的文件,以便于在运行...
Unity是一款强大的跨平台3D游戏开发引擎,广泛应用于游戏制作、虚拟现实(VR)、增强现实(AR)以及可视化应用等领域。在"Unity 照片墙 亲测好用 真实项目"这个主题中,我们可以了解到如何在Unity中创建一个交互式的...
- **资源打包**:使用AssetBundles技术,对游戏资源进行打包处理,便于后续更新维护。 - **纹理压缩**:针对大量使用的纹理图片进行压缩处理,减少内存占用。 - **模型优化**:对3D模型进行简化处理,降低多边形数量...
工程制图项目规范流程是确保模型制作和管理的标准化,以提高工作效率和质量。以下是整个流程的详细步骤: 1. **教材习题集模型梳理**: - 首先,对比模型Excel列表与教材,确认模型无重复、过复杂或缺失相关图。 ...
2. **Unity引擎**:Unity是一个跨平台的游戏开发工具,支持2D和3D游戏开发,其内置的C#脚本系统使得开发者可以方便地控制游戏逻辑。在"vigila-el-cortijo"中,开发者可能利用Unity的场景管理、物理引擎、动画系统...