Forráskód Böngészése

【内部结构讲解模式,模型选中title显示】

CHIVA\bj 3 hónapja
szülő
commit
439082ff2f

+ 7 - 0
ModeDisplay/Assets/ChivaFramework/Framework/Plugins/Easy performant outline/Demo/Models for Demo scene/CartoonLowPolyCityLite/CartoonLowPolyCityLite_HDRP_2018.3.unitypackage.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4a6eaddfb3bfecf479d8d3a3f1f30d57
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 0
ModeDisplay/Assets/ChivaFramework/Framework/Plugins/Easy performant outline/Demo/Models for Demo scene/CartoonLowPolyCityLite/CartoonLowPolyCityLite_LWRP_2018.3.unitypackage.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0bf5a4388559b034fa0348f5330303ef
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 7 - 0
ModeDisplay/Assets/ChivaFramework/Framework/Plugins/Easy performant outline/Demo/Models for Demo scene/CartoonLowPolyCityLite/CartoonLowPolyCityLite_URP_2019.3.unitypackage.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c6fdf170c41094947ab93e9608045ab8
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
ModeDisplay/Assets/GameAssets/15.LineRenderer/Small.mat

@@ -55,7 +55,7 @@ Material:
     - _MainTex:
         m_Texture: {fileID: 2800000, guid: 76b293ce6c463144aa5d643127dd77f4, type: 3}
         m_Scale: {x: 0.5, y: 0.125}
-        m_Offset: {x: 0.5, y: 0.625}
+        m_Offset: {x: 0, y: 0.375}
     - _MetallicGlossMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}

+ 0 - 2
ModeDisplay/Assets/Scripts/ModelItem.cs

@@ -11,8 +11,6 @@ public class ModelItem : MonoBehaviour
     {
         AddMeshColliders();
         outlinable = this.GetComponent<Outlinable>();
-
-
     }
     public void AddMeshColliders()
     {

+ 57 - 1
ModeDisplay/Assets/Scripts/MoveItem/MoveItemManager.cs

@@ -7,6 +7,7 @@ using UnityEngine.UI;
 using System.IO;
 using System.Linq;
 using QFramework;
+using System.Reflection;
 
 public class MoveItemManager : MonoBehaviour
 {
@@ -31,6 +32,7 @@ public class MoveItemManager : MonoBehaviour
     /// </summary>
     bool useAudioCtrl;
 
+    public ModelItem m_CurrentSelectModelItem;
     private void Awake()
     {
         instance = this;
@@ -38,6 +40,61 @@ public class MoveItemManager : MonoBehaviour
         UIKit.OpenPanel<AutoDisassemblyPanel>();
     }
 
+    public void Update()
+    {
+        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
+        RaycastHit hit;
+
+        if (Physics.Raycast(ray, out hit))
+        {
+            ModelItem modelItem = GetParentPartMarkWithModelItem(hit.collider.transform);
+
+            if (m_CurrentSelectModelItem != modelItem)
+            {
+                if (m_CurrentSelectModelItem != null)
+                {
+                    m_CurrentSelectModelItem.CloseHighlighter();
+                }
+                m_CurrentSelectModelItem = modelItem;
+                m_CurrentSelectModelItem.OpenHighlighter();
+            }
+            // 处理射线击中的对象
+            if (modelItem != null)
+            {
+                UIKit.GetPanel<AutoDisassemblyPanel>().SetSubTitleText(modelItem.name);
+            }
+        }
+        else
+        {
+            if (m_CurrentSelectModelItem != null)
+            {
+                m_CurrentSelectModelItem.CloseHighlighter();
+                m_CurrentSelectModelItem = null;
+
+
+                UIKit.GetPanel<AutoDisassemblyPanel>().SetSubTitleText("");
+            }
+        }
+    }
+
+
+    /// <summary>
+    /// 查找携带PartMark的节点
+    /// </summary>
+    /// <param name="traget"></param>
+    /// <returns></returns>
+    private ModelItem GetParentPartMarkWithModelItem(Transform traget)
+    {
+        ModelItem tmpMark = traget.GetComponent<ModelItem>();
+
+        if (tmpMark == null && traget.parent != null)
+        {
+            tmpMark = GetParentPartMarkWithModelItem(traget.parent);
+        }
+
+        return tmpMark;
+    }
+
     /// <summary>
     /// 正向播放
     /// </summary>
@@ -90,7 +147,6 @@ public class MoveItemManager : MonoBehaviour
                 Debug.Log("音频回调");
                 OnPlayMoveItemByIndexCallBack(index);
             }
-
         }));
 
         StartCoroutine(MovePathByItem(moveItemInfos[index], false,