UnitySDK の LoadData() の引数で、配列の書き方は?

main BBS フォーラム システム・仕様系Q&A UnitySDK の LoadData() の引数で、配列の書き方は?

  • このトピックには3件の返信、2人の参加者があり、最後にemote_ofcにより7年、 6ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #7115 返信
    鈍なくら
    ゲスト

    いつもお世話になっております。
    LoadData() 関数で EmotePlayer のデータを読み替えるとき、
    次の記述になるかと存じます。

    EmotePlayer ep= obj.GetComponent<EmotePlayer>();
    ep.LoadData(PSBname);
    //obj …. EmotePlayerをコンポネントしたオブジェクト。画面に出現済み
    //PSBname …. Resources フォルダ内の、 PSB ファイルの名前

    LoadData() 関数は、EmotePlayer.cs 内で、次のように書かれています。

    public void LoadData(object data) {
    ArrayList list;
    if (data is string) {
    list = ArrayToList(new string[] { (string)data });
    } else if (data is TextAsset) {
    list = ArrayToList(new TextAsset[] { (TextAsset)data });
    } else if (data is string[]) {
    list = ArrayToList((string[])data);
    } else if (data is TextAsset[]) {
    list = ArrayToList((TextAsset[])data);
    } else {
    M2DebugLog.printf(“LoadData(): illegul type of input data.”);
    return;
    }
    DestroyCore();
    StartCore(list);
    }

    「分割エクスポートした PSB ファイル」は、
    頭部差分・胴体差分・汎用差分の ON / OFF を、この命令で切り替えられるそうです。
    たしかに送り値 object data を配列に変換しているようですが、
    送り値の配列の書き方がわかりません。

    そこでお尋ねしたいのですが、
    例えば 「PSBname 」 という名のPSB ファイルの、 「胴体差分A」 を非表示にしたいとき、上記

    ep.LoadData( ‘ここ’ );

    の ‘ここ’ はどのように書けば良いのでしょうか‥‥?
    お手数をおかけして申し訳ありませんが、ご教授のほどよろしくお願いいたします。

    #7117 返信
    emote_ofc
    キーマスター

    E-moteオフィシャルです!
    ご質問の投稿ありがとうございます。

    EmotePlayer#LoadData() 関数には、以下のいずれかの引数を指定することが出来ます。
    ・bytesデータ
    ・テキストアセット
    ・(Resourcesフォルダ内での)ファイルのパス
    ・それらの配列

    分割エクスポートしたファイルをロードする場合には、使用するファイルのデータのみを配列でまとめて指定します(オフにするデータは配列に含めない)。
    例として、ファイルパスの配列で分割エクスポートしたファイル群をロードする際のサンプルコードを示します。

    string[] emote_file_path = {
    “emote/body.bytes”,
    “emote_head.bytes”,
    “emote_timeline.bytes”
    };
    emote.LoadData(emote_file_path);

    以上となります。
    またご不明な点がございましたら、何なりとご質問お願いいたします。

    引き続き、有限会社エムツー並びにE-moteをよろしくお願いいたします!

    #7118 返信
    鈍なくら
    ゲスト

    ご回答、ありがとうございます!
    Unity の Resources フォルダに 頭・胴体・タイムラインの .bytes ファイルを入れて、
    色々と試行錯誤してみました。
    どうやらファイルパスの文字列配列に、 “.bytes” は不要みたいです。

    string[] emote_file_path = {
      “emote/body”,
      “emote_head”,
      “emote_timeline”
    };
    emote.LoadData(emote_file_path);

    なら、ゲーム画面に上手く表示されました!
    お蔭様で、脱衣のゲームシステムを Unity で実現できそうです。
    有難うございます!

    #7120 返信
    emote_ofc
    キーマスター

    E-moteオフィシャルです!

    解決なされたようで安心いたしました。

    またご不明な点がございましたら、お気軽に投稿をお願いいたします!

4件の投稿を表示中 - 1 - 4件目 (全4件中)
返信先: UnitySDK の LoadData() の引数で、配列の書き方は?
あなたの情報:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">