- Home /
Too subjective and argumentative
Best method for Skyrim-Like character customization?
I was planning to do some kind of character customization, similar to Skyrim, but not near as detailed. I was just planning to do a few different hairstyles, colors, and clothes. I can't think of any way to do the hair or type of clothing(i.e. long or short sleeve) without making a ton of different models. The clothes could easily be done with a material, but I don't know about hair because the actual shape is different. Would I really need to remake full models for this? Thanks for any answers.
you will need lots of different models. there's no simple solution. you should post exact images of what you mean, BTW.
I made something simple and unfinished once, it runs without problems and is based on prefab models.
Hope it helps!
#pragma strict
var hats : Array;
var hatLocation : Transform;
var hatType : String = "none";
var hatSlider : float = 0;
var hatOne : GameObject;
var hatTwo : GameObject;
var char$$anonymous$$esh : GameObject;
var windowRect : Rect = Rect (532, 10, 400, 400);
var currentHat;
function Start () {
char$$anonymous$$esh.renderer.material.color = Color32(0, 0, 0, 1);
}
function Update () {
hatSlider = $$anonymous$$athf.Round(hatSlider);
if (hatSlider == 0){
destroyHats();
hatType = "none";
}
if (hatSlider == 1 && hatType != "one"){
destroyHats();
hatType = "one";
currentHat = Instantiate(hatOne, hatLocation.position, hatLocation.rotation);
}
if (hatSlider == 2 && hatType != "two"){
destroyHats();
hatType = "two";
currentHat = Instantiate(hatTwo, hatLocation.position, hatLocation.rotation);
}
}
function OnGUI () {
// Register the window.
windowRect = GUI.Window (0, windowRect, Do$$anonymous$$yWindow, "Looks");
}
// $$anonymous$$ake the contents of the window
function Do$$anonymous$$yWindow (windowID : int) {
GUI.DragWindow (Rect (0,0, 10000, 20));
GUI.Label(Rect(20,20,100,20), "Hat Type" );
hatSlider = GUI.HorizontalSlider (Rect (130, 25, 200, 30), hatSlider, 0.0, 2);
}
function destroyHats(){
hats = GameObject.FindGameObjectsWithTag ("hat");
for(var i = 0 ; i < hats.length; i ++)
Destroy(hats[i]);
}
Answer by SirCrazyNugget · Mar 25, 2014 at 08:21 AM
Depending on how you want the hair to look you could either make one model with different animation for style, though TBH for practicality you'd probably be better off making the models individually.
Bear in mind though for if you're allowing the changing the color in the options you'll be creating a new material thus a new draw call for each customizable part of the mode, this won't necessarily be a problem if you're just having one customized character though if you're doing it for many within the world the Draw Calls will start going through the roof!
Also, for ideas take a look at:
Follow this Question
Related Questions
Advanced character customization 6 Answers
Character Customization Spawn 0 Answers
Character Creator Like Daz3D 1 Answer
change player skin in real time? 1 Answer
mmorpg question 2 Answers