API Reference

Class List

pc.Asset

An asset record of a file or data resource that can be loaded by the engine. The asset contains three important fields:
file: contains the details of a file (filename, url) which contains the resource data, e.g. an image file for a texture asset
data: contains a JSON blob which contains either the resource data for the asset (e.g. material data) or additional data for the file (e.g. material mappings for a model)
resource: contains the final resource when it is loaded. (e.g. a pc.StandardMaterial or a pc.Texture)
See the pc.AssetRegistry for details on loading resources from assets.

var file = {
  filename: "filename.txt",
  url: "/example/filename.txt",
}
var asset = new pc.Asset("a texture", "texture", {
    url: "http://example.com/my/assets/here/texture.png"
});

Summary

Properties

dataJSON data that contains either the complete resource data (e.
fileThe file details or null if no file
file.filenameThe filename of the resource file
file.hashThe MD5 hash of the resource file data and the Asset data field
file.sizeThe size of the resource file
file.urlThe URL of the resource file that contains the asset data
idThe asset id
loadedTrue if the resource is loaded.
nameThe name of the asset
preloadIf true the asset will be loaded during the preload phase of application set up.
registryThe asset registry that this Asset belongs to
resourceA reference to the resource when the asset is loaded.
resourcesA reference to the resources of the asset when it's loaded.
tagsInterface for tagging.
typeThe type of the asset.

Methods

getFileUrlReturn the URL required to fetch the file for this asset.
readyTake a callback which is called as soon as the asset is loaded.
unloadDestroys the associated resource and marks asset as unloaded.

Events

changeFired when one of the asset properties `file`, `data`, `resource` or `resources` is changed
errorFired if the asset encounters an error while loading
loadFired when the asset has completed loading
removeFired when the asset is removed from the asset registry

Details

Constructor

Asset(name, type, file, [data])

Create a new Asset record. Generally, Assets are created in the loading process and you won't need to create them by hand.

var file = {
  filename: "filename.txt",
  url: "/example/filename.txt",
}
var asset = new pc.Asset("a texture", "texture", {
    url: "http://example.com/my/assets/here/texture.png"
});

Parameters

nameStringA non-unique but human-readable name which can be later used to retrieve the asset.
typeStringType of asset. One of ["animation", "audio", "binary", "cubemap", "css", "font", "json", "html", "material", "model", "script", "shader", "text", "texture"]
fileObjectDetails about the file the asset is made from. At the least must contain the 'url' field. For assets that don't contain file data use null.
dataObjectJSON object with additional data about the asset (e.g. for texture and model assets) or contains the asset data itself (e.g. in the case of materials)

Properties

Objectdata

JSON data that contains either the complete resource data (e.g. in the case of a material) or additional data (e.g. in the case of a model it contains mappings from mesh to material)

Objectfile

The file details or null if no file

Stringfile.filename

The filename of the resource file

Stringfile.hash

The MD5 hash of the resource file data and the Asset data field

Numberfile.size

The size of the resource file

Stringfile.url

The URL of the resource file that contains the asset data

Numberid

The asset id

Booleanloaded

True if the resource is loaded. e.g. if asset.resource is not null

Stringname

The name of the asset

Booleanpreload

If true the asset will be loaded during the preload phase of application set up.

pc.AssetRegistryregistry

The asset registry that this Asset belongs to

Objectresource

A reference to the resource when the asset is loaded. e.g. a pc.Texture or a pc.Model

Arrayresources

A reference to the resources of the asset when it's loaded. An asset can hold more runtime resources than one e.g. cubemaps

pc.Tagstags

Interface for tagging. Allows to find assets by tags using pc.AssetRegistry#findByTag method.

Stringtype

The type of the asset. One of ["animation", "audio", "binary", "cubemap", "css", "font", "json", "html", "material", "model", "script", "shader", "text", "texture"]

Methods

getFileUrl()

Return the URL required to fetch the file for this asset.

var assets = app.assets.find("My Image", "texture");
var img = "<img src='" + assets[0].getFileUrl() + "'>";

Returns

String The URL

ready(callback)

Take a callback which is called as soon as the asset is loaded. If the asset is already loaded the callback is called straight away

var asset = app.assets.find("My Asset");
asset.ready(function (asset) {
  // asset loaded
});
app.assets.load(asset);

Parameters

callbackfunctionThe function called when the asset is ready. Passed the (asset) arguments

unload()

Destroys the associated resource and marks asset as unloaded.

var asset = app.assets.find("My Asset");
asset.unload();
// asset.resource is null

Events

change

Fired when one of the asset properties `file`, `data`, `resource` or `resources` is changed

Parameters

assetpc.AssetThe asset that was loaded
propertyStringThe name of the property that changed
value*The new property value
oldValue*The old property value

error

Fired if the asset encounters an error while loading

Parameters

errStringThe error message
assetpc.AssetThe asset that generated the error

load

Fired when the asset has completed loading

Parameters

assetpc.AssetThe asset that was loaded

remove

Fired when the asset is removed from the asset registry

Parameters

assetpc.AssetThe asset that was removed