- Home /
Show part of prefab on ui
I've a Character prefab and i need to show only the head into a RawImage, so how can i do it? I looked for a solution in forum and here, but I found nothing so I've tried this code, but it does not work:
RawImage prefab = Resources.Load("U_Character_REF") as RawImage;
ImageAvatar.texture = prefab.texture;
Does it need to be a live image, or does it need to be just the head? Also is this the effect you want? (Bottom Left Corner)
I need a live image of the head because the character can have hats and similar object attached
Answer by DiegoSLTS · Aug 30, 2016 at 09:30 PM
For the raw image part you'll have to use a secondary camera rendering to a RenderTexture, with this you can put anything in front of that camera and then use that RenderTexture anywhere. The class RawImage is a UI component that can show a texture, you can't just convertir something into a RawImage with the 'as' operator.
To get the head of the prefab you'll have to instantiate the whole prefab and disable everything that's not part of the head. You can load some part of a prefab inside resources, you load the whole prefab first. Maybe you can load the prefab, get a reference to the head and then instantiate it, but I'm not sure if that works. You can also have a head prefab for each player prefab.
There's no easy way to do it, at least not as simple as your code.
Your answer

Follow this Question
Related Questions
The associated script cannot be loaded using UI prefab 0 Answers
How can I display Asset Prefab preview image on an UI image in my game? 0 Answers
Apply texture on prefab 1 Answer
How to assign Image gameobject to a variable via script? C# 2 Answers
Getting a animated preview of each prefab in a list? 0 Answers