問題タブ [unity3d-ui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
user-interface - Unity3D で UI コンポーネントをアクティブ化/非アクティブ化するためのベスト プラクティスは何ですか?
Unity3D ゲームの UI を作成しており、表示または非表示にするために UI コンポーネントをアクティブ化/非アクティブ化していますが、動作は遅いです。UI コンポーネントが初めてアクティブ化されるときは、その後よりも特に遅くなります。UI を非表示/表示する方法に関するベスト プラクティスはありますか?
unity3d - Unity3D UGUI キャンバス ギズモ
シーン ビューでギズモ ( https://docs.unity3d.com/ScriptReference/Gizmos.html ) を描画することは可能ですか? シーン ビューのいくつかの UI 要素の概要を、バニラの Unity RectTransform がそこに示されているよりも完全に示したいと考えています。
https://docs.unity3d.com/ScriptReference/Gizmos.DrawGUITexture.htmlの使用を検討しましたが、それは古いスタイルの UI レイアウトにフォールバックしているように見え、UI キャンバスが可能な複数の異なるレンダリング モードを考慮していません。に設定。
c# - Unity3D、3D と UI Raycaster の両方が同時にタッチに反応しますか?
最近の Unity では、レイキャスターを使用してオブジェクトへのタッチを非常に簡単に検出できます...
したがって、UI レイヤーに関しては、UI レイヤーのタッチなどを正しく無視します。
次のようにしたい場合は、
3DオブジェクトとUIアイテムの両方にあるタッチを(同時に、同じフレームで両方)収集したいですか?
(たとえば、画面上に透明な UI ボタンがいくつかあると想像してください。通常の 3D ロボットも走り回っています。ユーザーは、画面上の UI ボタンと「その下」のロボットがあるポイントをクリックします。両方のロボットの上記のスクリプトとボタンが応答する必要があります。)
どうやってそれをしますか?別々のカメラ、別々EventSystem
の 、レイヤーの調整、マスクのブロックなどを広範囲に使用してみました。私はそれを行う方法を見つけることができません。
Unityでこれを行う方法は?
c# - ボタン `OnSelect` が Unity.UI Canvas の状況で機能しない
3 つのボタンがあり、1 つのボタンをタップすると、テキストのパネルが表示されます。
問題は、スクリプトを添付したときに何も起こらないことです。「クリック」は登録されていますが、パネルは表示されません。
私のスクリプトは各ボタンに添付されており、次のようなものです。
おそらくパネルで何か他のことをしなければならないのですが、わかりません。
unity3d - RectTransformでsizeDeltaを計算するには?
カスタム レイアウトに必要なカスタム コンテンツ フィッターを作成します。したがって、RectTransform.sizeDelta
アンカーが同じでない場合にプロパティを制御する必要がありますが、この値を示すことができません。Unity3D API
リファレンス
は必要ありません。それを読んでも何も書かれていません。
アンカー間の距離に対するこの RectTransform のサイズ。アンカーが一緒にある場合、sizeDelta は size と同じです。アンカーが親の 4 つのコーナーのそれぞれにある場合、sizeDelta は、四角形が親と比較してどれくらい大きいか小さいかです。
誰かがそれが何を意味するのかを普通の言葉で説明できますか? アンカーが同じでない場合、どうすれば手動で計算できますか?
c# - カスタム Unity LayoutGroup をコンテンツに合わせて拡張する方法
子を含めるために垂直方向のサイズを変更する必要がある状況で、この質問の回答( GitHubにもあります) で説明されているように、カスタム FlowLayoutGroup を使用しようとしています。
私のセットアップは次のようになります。
- ScrollableRect
- 子に合わせて垂直方向にサイズ変更する必要がある VerticalLayoutGroup コンポーネント (親 scrollrect のコンテンツ) を含むパネル:
- 子に合わせて垂直方向にサイズ変更する FlowLayoutGroup を含むパネル
- FlowLayoutGroup (2) を含むパネルもサイズ変更する必要があります...
- 等...
- 子に合わせて垂直方向にサイズ変更する必要がある VerticalLayoutGroup コンポーネント (親 scrollrect のコンテンツ) を含むパネル:
FlowLayoutGroup にコンテンツ サイズ フィッターを追加し、垂直グループのレイアウトの子サイズ コントロールを微調整しましたが、成功しませんでした。
アプリの実行中にユーザーがグループの子を追加および削除する可能性があり、UI が応答するようにしたいので、事前にすべての高さを設定することはできません。
Unity のソース コードも調べて、これを自分でコンポーネントに書き込む方法を見つけようとしました。これは最善の策のように見えますが、Unity と C# を初めて使用するので、かなりの時間がかかります。誰かがすでに同様の問題を解決していることを願っています。
子を垂直方向に合わせてサイズ変更する LayoutGroups の欠落した動作を除いて、すべてが望ましい/期待どおりに機能します。
これどうやってするの?