質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

Q&A

解決済

1回答

2192閲覧

Unity WebGLで外部(ローカルファイル)からテクスチャを自由に変更したい

masutake0

総合スコア3

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

0グッド

0クリップ

投稿2021/06/23 11:17

前提・実現したいこと

ローカルフォルダにある画像を入れ替えることで、unityのwebgl上でオブジェクトのテクスチャを自由に変えられるようにしたいです。

試したこと

このページを参考にweb上でフォルダ(localhost)にある画像を参照して、オブジェクトに反映させました。

まず、以下のスクリプトをCubeにアタッチしてビルドしました。

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class SetTexture : MonoBehaviour 6{ 7 float seconds; 8 9 private string url_1 = "http://localhost/web/blue.png"; 10 private string url_2 = "http://localhost/web/green.png"; 11 12 void Update() 13 { 14 seconds += Time.deltaTime; 15 if (seconds >= 3) 16 { 17 StartCoroutine("Sample1"); 18 } 19 if (seconds >= 6) 20 { 21 StartCoroutine("Sample2"); 22 } 23 if (seconds >= 7) 24 { 25 seconds = 0; 26 } 27 28 } 29 30 IEnumerator Sample1() 31 { 32 WWW www = new WWW(url_1); 33 yield return www; 34 Renderer renderer = GetComponent<Renderer>(); 35 renderer.material.mainTexture = www.texture; 36 } 37 38 IEnumerator Sample2() 39 { 40 WWW www = new WWW(url_2); 41 yield return www; 42 Renderer renderer = GetComponent<Renderer>(); 43 renderer.material.mainTexture = www.texture; 44 } 45 46}

ビルドしたものをテストとして「XAMPP」というツールを使って起動させました。
画像はC:\xampp\htdocs\webに配置しています。
「XAMPP」を使って起動させたページは以下のようになります。

イメージ説明

###発生している問題
このやり方ではビルド前に置いた画像でテクスチャの切り替えはできても、ビルド後に画像変更してwebgl上のテクスチャを変更することができませんでした。
かなり初心者的な質問ですが、やはりテクスチャもビルドを通さないと反映させることができないのでしょうか。
新規画像を使って定期的にテクスチャを更新したいので、そのたびにwebglのビルドをすると大変で、ビルドをせずに簡単にテクスチャの変更ができる方法があれば教えていただきたいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

WebGL上でテクスチャの差し替えることができなかったため、テキストデータを差し替え、テキストデータに沿った描画を行うようにしました。
テキストデータから描画を行う方法に関しては別で質問を行い、回答をいただいています。

投稿2021/08/31 09:37

masutake0

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問