1. できること

UnityEditorで再生する前(左)と、再生後(右)。サーバー上の画像が貼りつく。

2. 手順の概要

(1) Xserver上に画像を置く。
(2) UnityのプロジェクトにUnitaskをインポートする。
(3) http通信する最も一般的なUnityWebRequestとUniTaskを使用したスクリプトを作成する。
(4) 画像を貼りたいオブジェクトへ上記スクリプトを追加する。

3. 手順

(1) Webサーバーに画像を置く。↓置いた画像。

(2) Unityの新規プロジェクトを作る。(私はUnityVer2022.1.16でやりました。)

(3) 下記CysharpのGitHubリリースページから最新版のUnityPackageをダウンロードし
  Unityプロジェクトへインポートする。

  CysharpのGitHubリリースページ

(4) 下記スクリプトを作成する。
  [***/***/**.png]の箇所を画像を置いたWebサーバーのアドレスへ変更する。


  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.Networking;
  4. using UnityEngine.UI;
  5. using Cysharp.Threading.Tasks;
  6. using HttpBasic;
  7. namespace VRAcademy.HttpBasic
  8. {
  9.     internal sealed class Example04 : MonoBehaviour
  10.     {
  11.         [SerializeField] private Material material;
  12.         private void Start()
  13.         {
  14.             SendRequestAsync().Forget();
  15.         }
  16.         private async UniTaskVoid SendRequestAsync()
  17.             => material.mainTexture = await Request("[***/***/**.png]");
  18.         async UniTask<Texture> Request(string url)
  19.         {
  20.             using (var req = UnityWebRequestTexture.GetTexture(url))
  21.             {
  22.                 await req.SendWebRequest();
  23.                 Debug.Log($"completed => {req.url}");
  24.                 return DownloadHandlerTexture.GetContent(req);
  25.             }
  26.         }
  27.     }
  28. }


(5) オブジェクトをHierarachyで選択し、Inspectorで下記のように上記(4)のスクリプトを追加し、
MeshRendererとスクリプトに同じマテリアル(何でもいい)をアタッチする。

(6) 再生する。

かわいい...

5. こちらを参考にさせて頂きました

最後までご覧いただきありがとうございました。以上、お疲れ様でした!