Default material

The use of point cloud material can be found in the code, Where can I find the default material usage :CesiumDefaultTilesetMaterial.mat

It probably would have been easier to do a “Find in Files” in your Editor rather than post, but it’s here:

1 Like

why Instantiate opaqueMaterial ,instead of directly referencing opaqueMaterial ?I can’t understand the reason for doing this

  1. Every tile has different properties. For example, tiles can each have different textures and texture coordinates. This means each tile needs its own material.
  2. If you load a material using Resources.Load, then assign this reference to a tile, it will try to delete the asset itself when you destroy the tileset. You avoid this by calling Instantiate so that the tileset destroys copies of the material, and not the material asset itself.

thank you,i get it

Is this also done in Cesium for Unreal

Here’s the snippet of code that creates the material in Unreal:

UMaterialInstanceDynamic* pMaterial = UMaterialInstanceDynamic::Create(
      pBaseMaterial,
      nullptr,
      ImportedSlotName);

pBaseMaterial refers to the default material used to render tilesets.

ok,thank you