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

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

ただいまの
回答率

90.50%

  • Unity

    4174questions

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

  • Unity3D

    1347questions

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

[Unity]Unity5にて、標準GUIとuGUIの同時使用について

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,095

ebsffzal

score 56

みなさん

いつもお世話になっております。

タイトルの件について質問させていただきます。
Unity5を使用し、とある簡単なシステムを作っている途中です。

途中まで色々と試行錯誤し、画面上のオブジェクトに対して、動的に動きを持たせる為に標準GUIを設置し、動作させていました。

そこで別な要望を達成する為にuGUI(のスライダー)を使って機能を実装していましたが、標準GUIと干渉するからか、uGUIのスライダーが画面に表示されるものの、一切反応しない状況です。

Playボタンを押して、Unityを走らせている間、一切反応せず、InspectorのパラメータでSliderのValueを直接変更すると、画面上のスライダーも変化します。(この時、値は10段階の切り替えにしてWhole Numbersの挙動も正常です)

有識者の方にお聞きしたいのですが、標準GUIとuGUIの共存はシステム上、干渉するのでしょうか?
ネットで検索しても決め手となる情報が見当たらなく、質問させていただきました。
どうぞよろしくお願い致します。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

標準GUIというのは、OnGUI内コードによるGUIでしょうか?
試したことはありませんが、併用は可能なはずです。
原因として考えられるのは以下の通りです。

1.標準GUIのパーツがuGUIを覆ってしまっていてクリックが届かない
(見えない領域でも「オブジェクトが存在している」とみなされて、そちらにクリックが当たっている可能性があります)
2.他のuGUIオブジェクトがスライダーを覆ってしまっていてクリックが届かない(同上)
3.そもそもuGUIが入力を受け取るようになっていない
(EventSystemオブジェクトが無い、RaycastTargetがオンになっていない等)

ちなみにOnGUIは負荷的にデバッグ以上の用途には向かないので、実際のシステム上で使うならuGUI一本にした方が良いかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/26 13:02

    sakura_hanaさま

    回答ありがとうございました。
    標準GUIは仰るとおり、OnGuiのコードのことです。

    その後、ソースを調査したところ、スライダーの値を受け取る変数の書き方が悪かったようで、その原因を取り除いたら動作するようになりました。

    また、uGUIについては勉強中でまだ十分に使いこなせてませんが、OnGuiでできることは、全てuGUIに置き換えることができる。という認識であってますでしょうか?

    よろしくお願いします。

    キャンセル

  • 2016/04/26 15:12

    OnGUIの機能を全て把握している訳ではないですが、
    uGUIへの置き換えは理論上は全て可能かと思います。
    (どのようなサイズ設定や親子関係をするかなどの工夫は必要になりますが)

    キャンセル

関連した質問

  • 受付中

    Unity GUITextについて

    GUITextの描画順序についてですが、GUITextはSpriteよりも背面への描画は可能なのでしょうか? TramsformのZpositionを変更するだけではいけないのでし

  • 解決済

    【Unity5】Buttonを押したときだけGetMouseButtonDown()を反応させたくな...

    Unityで2Dゲームを制作しています。 現在、画面上の特定のボタン(uGUI)を押したときはその処理を行い、 それ以外の箇所をクリックした際には別の処理を行う、というものを作って

  • 受付中

    UGUIでiTweenでアルファ値を変えたい

    UGUIでiTweenでアルファ値を変えたいのですが、 何か方法はないでしょうか?  ※"alpha"のハッシュがきかないので

  • 解決済

    クロッシーロードのガチャのようなシステムを作りたい。

    【0316追加】 進められるようになったので、最後にまとめて掲載します! 以前、キャラクターがアイテムを取得しキャラクターが発射されるキャラクターの銃弾の色をかえる。と

  • 解決済

    NGUI / UGUIについて

    現在、アプリ開発について勉強中です。 NGUIを使用中ですが、UGUIに変更しようか考え中です。 検索してみたところ、UGUIの制約事項が多いため、否定的な意見も多いようです。 U

  • 受付中

    テキストボックスに文字をなるべく空白を少なくして埋めたい

    おかしいところ 吹き出しの横の文字数を多くして、余白がなるべく少なくなるようにしたいです。 今の現状では、横の文字数を多くしようと吹き出しのオブジェクトの「Width」を大きくする

  • 受付中

    クリア時の文字が画面外に

    「Unity5 3D/2Dゲーム開発 作りながら覚えるスマートフォンゲーム制作」という本を買い それに従ってUnityで簡単なゲームを作成しているのですが 3章のクリア判定でFal

  • 解決済

    GUIの画面が点滅する問題

     前提・実現したいこと 「Unityにおいて、uGUIのボタンを押すとインベントリがGUIで表示される」というのを実現したいと思っています。現在インベントリ画面自体はすでにできてい

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

  • Unity

    4174questions

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

  • Unity3D

    1347questions

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