Textures

Default textures

By default all Furhats come with a mask called "Adult" and 10 textures. Textures can be selected in the web interface's Home tab in Texture drop down menu or called in skills using furhat.setTexture("TEXTURE_NAME").

Custom textures

Users can add custom textures through Assets menu in the Settings tab to Furhat Adult mask. Example files for custom textures can be downloaded here. Please contact us if you want to use custom textures on other masks.

Extract and rename the example_texture folder as you want (the name you give the folder will show up in the textures menu when you have uploaded the new textures to the robot). Then you can edit the textures with your favourite image editing software. It can be helpful to keep the example textures in a separate layer so you can ensure that featuers such as mouth, eyes and eyebrows get properly aligned. When you save your edited textures, take care to retain the exact file names (e.g. skin.jpg), file format and resolution as the example files (eyes: 256x256 jpg, skin: 1024x1024 jpg, sock & tongue: 128x128 jpg, teeth: 512x128 png). The file lighting.json includes various light sources, which can be modified to better match the lighting in the room. This affects the shadows around the nose, for example.

After creating a new texture, or choosing to modify an existing one, upload each of the files in the robot's web interface. Make sure to keep the original file names:

  • eyeL.jpg
  • eyeR.jpg
  • lights.json
  • skin.jpg
  • sock.jpg
  • teethLower.png
  • teethUpper.png
  • tongue.jpg

NOTE: Custom textures are only officially supported on the physical robots, although they can be manually added by placing the texture files in ~/.furhat/launcher/SDK/<version>/models/bertil/textures/<customTextureName> when running the virtual Furhat from the SDK.

Since the individual texture files are morphed according to combinations of pre-defined facial expressions when creating gestures, eyeglasses or other fine details may not look their best if they happen to be stretched. Improvements are planned in this area. Our Mirai interaction is a good example of a more advanced facial model.