거리 측정 충돌 해결 / 윈도우 메뉴 드롭다운에 간섭되고 있는 객체 목록 UI 활성화 버튼 추가 #36

Merged
UVCXR merged 9 commits from sjm/250331 into main 2025-03-31 10:19:32 +09:00
6 changed files with 134 additions and 24 deletions
Showing only changes of commit fd8b6052bf - Show all commits

View File

@@ -236,7 +236,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 30}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3097470657670304171
CanvasRenderer:
@@ -720,7 +720,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 30}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2061718949882192120
CanvasRenderer:
@@ -796,7 +796,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 30}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2889234264731888109
CanvasRenderer:
@@ -872,7 +872,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 30}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7819340452723330143
CanvasRenderer:
@@ -1220,7 +1220,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 30}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9125045971131934483
CanvasRenderer:
@@ -1296,7 +1296,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 30}
m_SizeDelta: {x: 120, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5227252712573134147
CanvasRenderer:

View File

@@ -239,6 +239,11 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7178528}
m_CullTransparentMesh: 1
--- !u!224 &26689714 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
m_PrefabInstance: {fileID: 1704958103}
m_PrefabAsset: {fileID: 0}
--- !u!224 &41784374 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
@@ -4087,6 +4092,7 @@ RectTransform:
- {fileID: 1085911555}
- {fileID: 1712022043}
- {fileID: 1229281891}
- {fileID: 26689714}
m_Father: {fileID: 1981809316}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -4122,6 +4128,7 @@ MonoBehaviour:
panel_draghandler: {fileID: 0}
panel_assetedit: {fileID: 0}
panel_thumbnail: {fileID: 0}
panel_objectdistance: {fileID: 0}
--- !u!114 &545811783
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -8122,7 +8129,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 7269315550475766926, guid: 3335bcff08be47a4baa17f7fde07b24e, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.0000045731117
value: 0.00038443718
objectReference: {fileID: 0}
- target: {fileID: 7484356029459005624, guid: 3335bcff08be47a4baa17f7fde07b24e, type: 3}
propertyPath: m_Name
@@ -16890,6 +16897,103 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1001 &1704958103
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 545811781}
m_Modifications:
- target: {fileID: 1037199441371851518, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_Name
value: Panel_ObjectDistance
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6791165779322739231, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e34354bad51342e4ca9569fd37c9b8dd, type: 3}
--- !u!1 &1710831775
GameObject:
m_ObjectHideFlags: 0

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;
using XED.UI;
using static UnityEditor.ShaderGraph.Internal.KeywordDependentCollection;
namespace XED.Util
@@ -180,6 +181,7 @@ namespace XED.Util
public void Select()
{
//ResizeBoundary();
FindSingle<Panel_ObjectDistance>().SelectObjectFromCreate(this);
isSelected = true;
objectRenderer.material = matCubeSelected;
Show();
@@ -240,7 +242,8 @@ namespace XED.Util
public RaycastHit GetObjectHit(Vector3 direction)
{
RaycastHit hitInfo;
Physics.BoxCast(boxCollider.bounds.center, boxCollider.size / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask);
Vector3 changedScale = Vector3.Scale(boxCollider.size, transform.lossyScale);
Physics.BoxCast(boxCollider.bounds.center, changedScale / 2.0f, direction, out hitInfo, transform.rotation, Mathf.Infinity, twinObjectMask);
return hitInfo;
}

View File

@@ -47,7 +47,7 @@ namespace XED.Manage
customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectinfo.gameObject.SetActive(true); });
customAssetConnector.onSelectObjects += ((name, objects) => { canvas_Popup.panel_objectalign.gameObject.SetActive(true); });
customAssetConnector.onSelectObjects += canvas_Popup.panel_objectinfo.SetObjectInfo;
customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.ActivateFromSelect;
customAssetConnector.onSelectObjects += canvas_Popup.panel_objectdistance.SelectObjectFromClick;
customAssetConnector.onRemoveObjects += canvas_Popup.panel_objectinfo.ResetObjectInfo;
customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectinfo.gameObject.SetActive(false); });
customAssetConnector.onDeselectObjects += (() => { canvas_Popup.panel_objectalign.gameObject.SetActive(false); });

View File

@@ -1,12 +1,14 @@
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using XED.Util;
using XRLib;
using XRLib.UI;
namespace XED.UI
{
public class Panel_ObjectDistance : PanelBase
public class Panel_ObjectDistance : PanelBase, ISingle
{
GameObject linePrefab;
@@ -34,18 +36,17 @@ namespace XED.UI
distanceLines.Add(Distance_foward, Instantiate(linePrefab));
distanceLines.Add(Distance_back, Instantiate(linePrefab));
foreach (var rect in distanceLines.Keys)
{
rect.gameObject.SetActive(false);
distanceLines[rect].gameObject.SetActive(false);
}
DeactivateAll();
}
private void Update()
{
if (selectedObject == null)
if (selectedObject == null || selectedObject.isCollided)
{
DeactivateAll();
return;
}
UpdateDistance(Distance_up, Vector3.up);
UpdateDistance(Distance_down, Vector3.down);
@@ -55,26 +56,29 @@ namespace XED.UI
UpdateDistance(Distance_back, Vector3.back);
}
public void Activate(GameObject obj)
public void SelectObjectFromCreate(CustomAssetRenderObject obj)
{
selectedObject = obj.GetComponent<CustomAssetRenderObject>();
selectedObject = obj;
}
public void ActivateFromSelect(string name, List<GameObject> objects)
public void SelectObjectFromClick(string name, List<GameObject> objects)
{
if (objects.Count != 1)
{
Deactivate();
selectedObject = null;
return;
}
selectedObject = objects[0].GetComponent<CustomAssetRenderObject>();
SetActive(true);
}
public void Deactivate()
void DeactivateAll()
{
SetActive(false);
foreach (var rect in distanceLines.Keys)
{
rect.gameObject.SetActive(false);
distanceLines[rect].gameObject.SetActive(false);
}
}
void UpdateDistance(RectTransform rect, Vector3 direction)

View File

@@ -149,7 +149,6 @@ namespace XED.UI
{
if (dir == ResizeDirection.None)
{
Debug.Log("None");
return;
}