Search Unity

"Rainbow Hair" (like in "My Little pony" or of Avril Lavigne) in Unity

Discussion in 'General Graphics' started by IvanDonets, Aug 25, 2018.

  1. IvanDonets

    IvanDonets

    Joined:
    Feb 19, 2014
    Posts:
    117
    Recently I became interested in making own graphics objects in 3d-modeling software. I started with Blender as it's free. My first project in Blender was making Rainbow

    Take a look at my blog - http://ru.indubhushan-das.wikia.com/wiki/Радуга#gallery-0
    It has now many rainbow-colored hair (wigs) puctures, and all that looks really amazing! I want to make such things in Unity3d. (You can find youtube videos with Rainbow hairs as well, thats a new fashion and really cool-looking). Avril Lavigne, famous singer, and a character Rainbow Dash from "My Little pony" ("Friendship is a wonder") cartoon have Rainbow hair. And so on.

    I completed the tutorial
    for making rainbow in Blender. Next I wanted to convert that into Unity. I saved file as FBX (as I see it's more common for Unity3d). But when I loaded a FBX-file with my rainbow into Unity3d - I see the rainbow is pink. It seems like shader is not working.
    First I had a error message - "SceneView Selected shader is expected to have 7 passes UnityEditor.DockArea:OnGUI()", so I unchecked in Gizmos -> Selection Outline in Scene View.

    But still now I have no idea how to make this work in Unity3d.

    In Blender, to make a rainbow effect, I used "Color Ramp" feature. There I added 7 colors, so they transit from one to another. That all goes under "shader". Unity also uses shaders, but I don't even know much what is that. I most probably used shaders before in Unity, but now I see that they are important to make rainbow effects etc.

    I upload a zip with my "rainbow" Blender file and fbx in it.

    PLease, guide me, I want to know where I should begin with to make rainbows in Unity3d (and then Rainbow hair).

    Thank you in advance
     

    Attached Files:

  2. Remy_Unity

    Remy_Unity

    Unity Technologies

    Joined:
    Oct 3, 2017
    Posts:
    704
    To sum it up in a very basic way. Yes you used shaders in Unity (all the rendering is made with shaders at some points), and in Blender. But the shaders of those two software are not compatible. It's like if they don't speak the same languages.

    With simple materials that don't involve computational nodes, the shaders can be quite similar : apply color/bump/metallic ... textures, and render.

    For what you're wanting, you will need to either find a way to draw your rainbow with a texture instead of the gradient, and use an additive shaders of Unity (the particle/additive should do the trick), or if you're comfy enough, re-create the blender material with Unity's shader graph : https://blogs.unity3d.com/2018/02/2...raph-build-your-shaders-with-a-visual-editor/