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

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

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

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

Q&A

解決済

1回答

7942閲覧

UnityでScrollRectのコンテンツがマスクされない

yrema

総合スコア286

Unity

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

0グッド

0クリップ

投稿2018/06/13 15:36

編集2018/06/13 15:59

質問後追記:質問して見直したらコンテンツ内アイテムの背景はマスクされて、テキストだけマスクされていないことに気付きました。そのためテキストのインスペクター画像を追加添付しています。

タイトルの通りですが、状況は以下の画像の通りです。
やりたいことは画像のitem:14から下のアイテムをマスクして非表示にすることです。
青紫色の画像はマスクされているのでMaskコンポーネントは機能していると思いますが、何が間違っているのでしょうか?
イメージ説明

以下に各インスペクターの画像を貼りますが、ゲームオブジェクトの役割は以下の通りです。
craftScroll・・・スクロールビュー
craftScrollContent・・・コンテンツ
craftListItem・・・コンテンツ内のアイテムのプレハブ
testImage・・・青紫色でマスクが適用されているオブジェクト
イメージ説明
イメージ説明
イメージ説明
イメージ説明
▼コンテンツ内アイテムのテキストのインスペクター画像を追加
イメージ説明

▼プレハブをコンテンツに追加するスクリプト

c#

1public class TestScript : MonoBehaviour { 2 private GameObjectManager mGameObjectManager; 3 private GameObject mCraftPanel; 4 private GameObject mCraftScroll; 5 private GameObject mCraftScrollContent; 6 7 void Start () { 8 mCraftPanel = GameObject.Find("craftPanel"); 9 mCraftScroll = mCraftPanel.transform.Find("craftScroll").gameObject; 10 mCraftScrollContent = mCraftScroll.transform.Find("craftScrollContent").gameObject; 11 12 GameObject prefab = (GameObject)Resources.Load("prefabs/craftListItem", typeof(GameObject)); 13 if (prefab != null) { 14 for (int i = 0; i < 30; i++) { 15 GameObject item = GameObject.Instantiate(prefab); 16 if (item != null) { 17 item.transform.localScale = new Vector3(1f, 1f, 1f); 18 item.transform.SetParent(mCraftScrollContent.transform, false); 19 var text = item.GetComponentInChildren<Text>(); 20 text.text = "item:" + i.ToString(); 21 } 22 } 23 } 24 } 25 26 void Update () { 27 28 } 29} 30

▼環境
Unity2017.3.1f1
Windows10

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

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

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

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

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

guest

回答1

0

ベストアンサー

craftItemNameの持っているCanvasコンポーネントの「Override Sorting」が描画順を狂わせてしまい、テキストだけステンシルが効かなくなっているのかもしれません。CanvasをcraftItemNameから外すか、Override Sortingをオフにしてはいかがでしょうか。

投稿2018/06/13 20:05

Bongo

総合スコア10807

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

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

yrema

2018/06/13 23:15

CanvasをcraftItemNameから外すとマスクされている領域に関わらず描画されなくなってしまいました。Override Sortingをオフすることで無事解決しました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問