Hology
Hology
Hology
  • 👋Welcome to Hology Docs
  • Getting started
    • Introduction to Hology
    • The first steps
    • Editor basics
      • Flying in scenes
      • Placing objects
      • Select objects
      • Transform
      • Grouping objects
      • Duplicate
    • Starter project - Third person shooter
  • Tutorials
    • Rolling ball - Gameplay programming
    • Character movement programming
    • Character AI behavior
  • Release
    • Distribution
      • Discord Activities
      • Facebook Instant Games
      • Upload to Itch.io
      • Host with GitHub Pages
      • Publishing to Steam
      • iOS and Android
  • Assets
    • 3D Models
      • Custom collision shapes
      • Material slots
    • Materials
    • Textures
    • Prefabs
  • Gameplay
    • Actors
      • Creating actor classes
      • Actor parameters
      • Actor components
      • Actor lifecycle
      • Spawning actors
      • Moving actors
    • Services
      • Load assets
    • Player input
    • Collision detection
    • Physics
      • Physics body types
      • Applying forces
      • Ray casting
    • Trigger volumes
    • Character movement
    • Pointer events
    • Animation
      • Animation system
      • Character Animation
      • Animation State Machine
    • Sound
      • Audio parameter
    • World
    • Navigation
  • Shaders
    • Introduction to shaders
    • Creating shaders
    • Shader parameters
    • Typescript shaders
      • Types
      • Math functions
      • Attributes
      • Varying
      • Uniforms
      • Textures
      • Arrays
      • Select
      • Lighting
    • Painted materials
    • Water shader tutorial
  • Level design
    • Landscape sculpting
    • Landscape painting
    • Grass
  • User Interfaces
    • Creating user interfaces
    • Using React
    • VR
  • Visual Effects
    • Introduction to VFX
    • VFX Assets
  • Integrations
    • Arcweave
Powered by GitBook
On this page
  • Creating materials
  • Naming materials
  • Material types
  • Duplicate a material
  • Using materials
  1. Assets

Materials

PreviousMaterial slotsNextTextures

Last updated 1 year ago

Materials determines the color of objects. The base color is usually determined by a configured color or sampled from a texture file. In addition to the color, the material will give the impression of light reflecting of the surface and shadows when light is blocked by other objects.

Creating materials

Materials are created as assets so that they can be reused. In the asset browser you can click Add new and then Material to create one.

Naming materials

When creating a new material asset, you will be prompted to provide a name. The name should ideally describe the material in such a way that you can later find an appropriate material for the object on which you want to use it. For example, if the material is supposed to represent wood and you know you will have different types of wood materials, you could call it something like "Wood Oak" so you later easily can search for it.

Material types

After creating a material you can select the type of material. The default standard material may be sufficient for most use cases.

  • Custom shader - With the type Custom shader, you can select a shader you have created yourself. This can be useful to create various special effects. Read more about creating shaders at Introduction to shaders

Duplicate a material

If you want to create a variation of a material, it can be easiest to just duplicate an existing material and then add the changes. By right clicking the material you you get a menu in which you can click "Duplicate" to create a copy of the asset.

Using materials

Materials can be added to imported 3D models, shapes, actors, and the sky sphere.

Standard - A material with many options to display a color, texture with physically based rendering (PBR), capable of rendering lighting with high quality. This will internally create the material that comes with the rendering library Three.js. Follow the link to read more about its options.

Lambert - Similar to the standard material but uses a simpler light calculation which may result in a worse appearance but uses less GPU resources. Some objects, especially small objects and objects with flat surfaces may look equally as well with the Lambert material, in that case it can be much more performant to use it compared to the standard material. This will create the material in Three.js.

MeshStandardMaterial
MeshLambertMaterial