0

何度もグーグルで C# コードをコンパイルしてもエラーは発生しませんでしたが、まだ機能していません。つまり、私のスカイボックスは変化していません。
パスが正しいことを確認しました。
スカイボックスの参照方法に関係があるに違いないと思います。私の理解では、コードを介してスカイボックスを変更、更新する方法は基本的に 2 つあります。1 つは RenderSettings.skybox を使用する方法で、もう 1 つはメイン カメラのスカイボックスを参照する方法です。私は前者のアプローチを使用しています。次のコードは、空のゲーム オブジェクトです。Unity C# の専門家が助けてくれますか?

using UnityEngine;
 using System;
 using System.Collections;

 public class LoadSkyBox : MonoBehaviour {

      private readonly string[] skyboxTextures  = {"_FrontTex", "_BackTex", "_LeftTex", "_RightTex", "_UpTex", "_DownTex"};

  IEnumerator LoadImg (String skyboxName){
     WWW[] www    =  new WWW[6];
     String tempStr;
      for (int i = 0;i < 6; i++)
      {
           tempStr ="file://"+ Application.streamingAssetsPath + "/" + skyboxName + skyboxTextures[i] + ".png";
           Debug.Log("tempStr ="+tempStr);
         www[i] = new WWW(tempStr);

      }
     //Material mat = GetComponent<Skybox>().material;
      for (int i = 0;i < 6; i++)
      {
          // wait until the download is done
           yield return www;
         //mat.SetTexture(skyboxTextures[i],www[i].texture);
         RenderSettings.skybox.SetTexture(skyboxTextures[i],www[i].texture);
      }
  }

  void Start () {
      StartCoroutine(LoadImg("beach"));
      // Images should be named:
      // "beach_FrontTex.png"
      // "beach_BackTex.png"
      // ...
  }
 }
4

0 に答える 0