0
私は解決したいUnityのC#スクリプティングの問題を抱えています。Unity 3DでC#スクリプトを使用してカスタム3D名を作成する方法
- は、各文字の入力フィールド
- からのInputField
- ゲット文字で名前を入力します:すでに作成したキャラクターの3Dゲームオブジェクトを設定
この
は私が達成したいものです階層 - SetCharacterPositionは隣同士にので、彼らは
- この順でSetMaterial(ブルー、グリーン、レッド、イエロー)の名前を作成し、 上で開始することができます
- 階層 に、各文字の3Dプレハブを作成し、ロードされた
- を作成:
- は、これは私がこれまでに行ったことある
- 名前を取得し、文字に分割するためにボタンスクリプト(button_scr)を作成します。
画面上で3Dカラーのように与えられた入力名を見ますInputFieldとボタン(+スクリプト)を持つGUI
public class button_scr : MonoBehaviour
{
public Button myButton;
public InputField un;
public GameObject go;
void Start()
{
myButton = GetComponent<Button>();
myButton.onClick.AddListener(ProcessText);
}
void ProcessText()
{
Debug.Log("Your name is : "+un.text);
getCharacters(un.text);
}
void getCharacters(string text)
{
foreach (char c in text)
{
go = GameObject.Find(""+char.ToUpper(c));
go.SetActive (true);
// setPosicionNext2EachOther
// setColoredMaterial(Blue,Green,Red,Yellow) in this order
Debug.Log("GameObject name Log: "+go.name);
}
}
}
いくつかの注意事項:名前はいくつかの繰り返し文字を持つことができます
- 名前が母音にアクセント記号(A、E、Iを持つことができます、Ó、Ú)
- 名前には「ñ」文字を使用できます
私は問題を解決するために、いくつかの方向を取得したいと思い場所です:
- 私はそうのような各文字のすべての 参照してゲームオブジェクトの配列を作成し、充填と考えています
GameObject[0] = A 3D Character prefab
GameObject[1] = B 3D Character prefab
- その後にセットアップするために、ゲームオブジェクトの配列内の名前の文字を見つけて、コピーを作成するforループを作成順番(ブルー、グリーン、レッド、イエロー)での3Dキャラクターをゲーム
- 設定した3D文字位置
- セットの材質
は、私が欠けている、これを行うための任意の簡単な方法はありますか?
私は類似の問題解決を確認できるいくつかのオリエンテーション/アドバイスやサンプルコードを入手したいと思います。
://コードレビュー.stackexchange.com /)。あなたが解決しようとしている特定の問題がなければ、私は後者を考えています。 – Draco18s