🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

Q&A

解決済

1回答

1674閲覧

Unity:コルーチンによる不透明度の変化について

program_kazu

総合スコア3

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

0グッド

0クリップ

投稿2020/11/26 02:56

前提・実現したいこと

・コルーチンなど仕組みについて勉強中です。

何も施していない「Cube」を作成し、「AddComponent」でスクリプトを付けました。
https://docs.unity3d.com/ja/2018.4/Manual/Coroutines.html
・上記のUnity公式サイトを『参考』にスクリプトを書きましたが、
「Assets\TestScript.cs(21,19): error CS0619:
'Component.renderer' is obsolete: 'Property renderer has been deprecated.
Use GetComponent<Renderer>() instead. (UnityUpgradable)'」という
エラーがでるので、ちょっとなおしてみました。
なおした箇所は「renderer」を「GetComponent<Renderer>()」に変えました。
(なおしたものはエラーなし)

しかし、動かしてみると「コルーチンでCubeが徐々に透明になる」はずが、まったく変化しません。
→徐々に透明になるよう正したいです。あと、なぜできないのかの理由も知りたいです。

発生している問題・エラーメッセージ

キーボード「F」を押してもCubeが徐々に透明にならない。
エラーメッセージはありません。

該当のソースコード

「Unity」の「C#」にて
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestScript : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown("f"))
{
StartCoroutine("Fade");
}
}
IEnumerator Fade()
{
for (float f = 1f; f >= 0; f -= 0.1f)
{
Color c = GetComponent<Renderer>().material.color;
c.a = f;
GetComponent<Renderer>().material.color = c;
yield return null;
Debug.Log("Coroutine"+ c);
}
}
}

試したこと

マテリアルをつけないとだめなのかなと思い、つけてみたが何も変化なし。
Debug.Log()にて「f」や「c」の値は変化していたし、コルーチンも正しく動いていた模様。

補足情報(FW/ツールのバージョンなど)

環境:Windows10Home
Unity:Version2018.4.20f1 Personal

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

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

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

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

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

guest

回答1

0

ベストアンサー

デフォルトのマテリアルだと、Rendering ModeOpaqueなのでアルファを減らしても透過されません。
Fadeとかに変えてもらうと透過が反映されると思います。

参考
https://minatame-lab.com/unity-object-transparency/

投稿2020/11/26 04:08

hogefugapiyo

総合スコア3302

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

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

program_kazu

2020/11/26 04:42

できました!ありがとうございます。たしかにOpaqueだと不透明度に対応してないからできないみたいですね。Fadeにしたらできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問