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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

受付中

Unityでのスクリプトからのマテリアル変更について

退会済みユーザー

退会済みユーザー

総合スコア0

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

2回答

3グッド

0クリップ

64571閲覧

投稿2016/01/07 05:10

Unity5で、スクリプトからマテリアルを変更したいです。
具体的には、マテリアルを3種類用意し、クリックする度に3つが順に変化するようにしたいです。
よろしくお願いいたします。

ysksar20150924, sirokitune999👍を押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2016/01/07 07:53

こちらの質問が複数のユーザーから「過去の低評価」という指摘を受けました。

buibui80

2016/01/07 05:28

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
izkn

2016/01/07 05:44

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
退会済みユーザー

退会済みユーザー

2016/01/07 07:53

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。

回答2

5

1.キューブを配置
2.キューブに下記のスクリプトを割り当て
3.添付のように用意してあるマテリアルをアタッチ

※スペースキーでマテリアルを変更するようにしています。

using UnityEngine;
using System.Collections;
using UnityEngine;

public class test : MonoBehaviour {

public Material[] _material; // 割り当てるマテリアル. private int i; // Use this for initialization void Start () { i = 0; } // Update is called once per frame void Update () { if (Input.GetKeyUp(KeyCode.Space)) { i++; if (i == 3) { i = 0; } this.GetComponent<Renderer>().material=_material[i]; } }

}
イメージ説明

投稿2016/04/22 22:52

Qoo

総合スコア1244

nuubamboo, thaya, ichi_goo, zenbo0114, hrkgkg👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

1

最近Unityを始めたものですが、こんな感じでどうでしょうか?

C#

1using UnityEngine; 2using System.Collections; 3 4public class MaterialChange : MonoBehaviour { 5 6 public Material[] materials; 7 Renderer rend; 8 int cnt = 0; 9 10 void Awake(){ 11 rend = GetComponent<Renderer>(); 12 } 13 14 void Start(){ 15 rend.material.color = materials[cnt].color; 16 } 17 18 void Update(){ 19 if (Input.GetMouseButtonDown(0)) { 20 cnt++; 21 if(cnt > materials.Length - 1){ cnt = 0; } 22 rend.material.color = materials[cnt].color; 23 } 24 } 25} 26

動かなかったらすみません。修正します!

投稿2016/01/07 06:09

編集2016/01/08 00:05
PineCandy

総合スコア83

gakusei-kaeru👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。