how do I import a texture for a 3D model in 3.0?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By nictaylr
:warning: Old Version Published before Godot 3 was released.

I have a .DAE collada export from VoxelShop with an accompanying .png texture (I have verified that the texture is properly included by importing into blender, where the texture is displayed in Material texture display mode).

I am trying to get the textured model into Godot, but it doesn’t seem to be working for me (obviously i’m doing it wrong). I tried dragging the DAE asset (set to import as scene) onto a new scene with a Spatial node, and this does display the model, but there’s no texture (!!!)

See what I see:

Anyone know what’s up? I am a 3d noob

:bust_in_silhouette: Reply From: hungrymonkey

try importing the model into blender and use their official better collada exporter in blender

i would say there are tons and tons of bugs with their 3d importers.

:bust_in_silhouette: Reply From: MaximeG

The two ways I have found to make texturing (i.e. importing textured dae scenes) work are :

  • use the copy files option in the Better Collada Exporter when exporting (or the equivalent in other exporters I guess. It will import textures in images/yourTexture, next to your scene.
  • use a previously imported texture in your res://system/file/path/to/textures. This works fine, bu the texture will be imported every time you use it in your res://.import/ folder

However, neither system are entirely satisfying my needs, I am still looking for a “good” way to use shared textures, like it was working in Godot 2.1

:bust_in_silhouette: Reply From: Brinux

Short version is: it’s (temporarily?) broken.

I’m an experienced Blender user and I have also tried many many ways to get textured or cycles materials into Blender.

As of now (Feb. 13, 2018) it doesn’t appear that there are ANY methods to get “mesh color” from Blender 2.79 into Godot v3.

Based on a ton of testing, “Better Collada” is still the best working method at this point, but nothing, not Collada, not Better Collada, not gLTF by Khronos or Kupoman will take any form of texture or color (via Blender textures/png or Cycles materials via principled shader etc.) over into Godot.

So far as I can tell, as of today, this feature is totally broken - but Godot 3 has only been out for about 2 weeks so perhaps a fix is on the way?

I hope and pray the devs are aware of this fact - because everyone NEEDS meshes AND textures and/or Cycles’ principled shader (and animations/actions) from Blender to easily transfer into Godot.

I did see a YouTube video here where a guy using Khronos gLTF ,2 shows an insanely complex import method, but none of us can reproduce his results; maybe it will work for you? Even if it did work, the process is such a train wreck that I can’t fathom using it as part of the regular transfer process. Also I’m not sure if gLTF does animations (correctly), while I know Better Collada still supports animations in Godot 3.

As far as I know, Cycles materials are not designed for real-time rendering, so I doubt they can be ported over to Godot accurately. Eevee (which is planned to be released in Blender 2.80) is an entirely different beast and looks promising, as it can deliver results that look very close to Godot 3.

Personally, I’ve got material colors to be exported from a scene using Cycles materials using the Better Collada exporter; in my case, I replaced them with textures anyway.

Calinou | 2018-02-14 01:08

Teach me this great trick. So far every effort of getting materials from cycles to godot has failed.
I can successfully transfer textured items, but I must assign the texture manually in godot after the import - so the UV unwrap works because the same PNG file does apply correctly, just not automatically.

Brinux | 2018-02-15 19:35