Texturechannel 3 from 3ds max to unity?

hey im a dutch man so my english is not so good but im having problems with importing my 3ds max 9 models in to unity. the problem is that i have my object in max textured on a channel 3 but unity seems to have only a 1 channel so is there a way to tweak this?

thank you Wesley S

Your description leaves a lot to be desired. What exactly do you mean by "channel"?

If you mean UV's, then Unity only has 1 main UV and a secondary UV for lightmapping and if you are looking for a third, then you are out of luck. Secondary UV sets can be imported by using the self-illumination map or 2-channel Multi/Sub Object material applied to the same portion of the mesh. Note that having multiple materials on the same object in addition to this will make the channels import as separate materials in stead. See the docs for more.

If you are talking about actual materials, then, as mentioned above, Unity can have several, each of which representing a material ID as applied to each portion of the mesh. For example, if I create a cube in MAX, convert it to editable poly and set each side to a separate material, then each will have a separate material ID and the material applied to the whole of the object is a multi/Sub object material in MAX terminology. Assuming that Unity can import the materials, each one will create a separate material in Unity. It will add each of these materials to the appropriate position in the object's materials array.

Unfortunately Unity cannot import a lot of MAX's material types and if it cannot, it will convert it to a no-name material. I believe, from what is mentioned in the docs referenced above, that Unity can only import Max's Standard - type materials correctly. If you want some special kind of import, you will need to write an editor script, adjusting the fbx import to check your materials (likely by name) and then assign appropriate replacements. Unfortunately, you can still only access a few properties from the original Max material, leaving you fairly limited as to what material settings you can import from max. Essentially, you'll have to set-up the script to set your materials appropriately (probably by name), configure your shaders and materials in Unity to best reflect Max's settings, have your editor script appropriately apply the materials that you set up and then propagate any material adjustments manually.

If you are talking about material mapping channels or something, like ambient, diffuse, specular, specular level, glossiness, self-illumination, opacity, filter color, bump, reflection, refraction and displacement, then those would be part of either a shader or a script as appropriate:

  • For a diffuse map, that would be your main texture in all standard shaders.
  • ambient map is essentially a detail map I think (isn't it?) which can be achieved with a detail shader.
  • There are no standard mapped specular or specular level shaders which work in Unity 3 at this moment (there used to be one, but it relied on old-style per-pixel lighting). If you'd like to put the time into implementing one, be my guest and please share.
  • There is no standard glossiness mapped shader, but that would be fairly easy to implement.
  • Self-illumination and transparent shaders are standard.
  • filter color has to do with Max's standard material's extended parameters and, while it does not exist in Unity as such, it would be fairly easy to implement this, but the main texture in the transparent shaders should do this effectively enough as it is.
  • There are standard bumped and reflective shaders.
  • Refraction is done through a script with a specific shader in it and requires Unity Pro as I believe it relies on RenderTextures. See the glass refraction or water(pro) standard assets which I believe implement this.
  • Displacement is not standard, but can be implemented fairly simply with a vertex program.

If you want a shader that combines any of these (adding the map channels into the same shader), you will have to write it yourself, but it is actually not that difficult. The problem is that there is an instruction limit for the compiled shaders (96, I think) and combine with other bizarre restrictions that will prevent you from having too many textures (I think the most I was able to pull was 6 or 7), etc., you are limited on how much and what you can do in a single shader.

If you are talking about MAX's complex map types (other than Bitmap), like Top/Bottom, or Checker, or Gradient, or Mask, or Mix, or Vertex Color, etc., combining other maps, you will have to, as above, write shaders to implement what those complex mappings do. Bear in mind that the previous restrictions on instructions and other limitations still apply.

If you have any questions about porting over specific 3DS Max material functionality, feel free to ask.

hey im sorry i mean this klick on the link you see a video tut the way he imports it i have done it the same way but my textures don`t aply correctly i know my english sucks im sorry