1905626492 1 місяць тому
батько
коміт
af01502e1a

+ 4 - 4
ModeDisplay/Assets/GameAssets/03.Models/金风风力发电机组/Materials/map04_diffuse.mat

@@ -37,12 +37,12 @@ Material:
         m_Offset: {x: 0, y: 0}
     - _EmissionMap:
         m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
+        m_Scale: {x: 0.73, y: 0.49}
+        m_Offset: {x: -0.19, y: 0.03}
     - _MainTex:
         m_Texture: {fileID: 2800000, guid: a5ebd775cb9ff4d4c8ae6fe7983d61fb, type: 3}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
+        m_Scale: {x: 0.73, y: 0.49}
+        m_Offset: {x: -0.19, y: 0.03}
     - _MetallicGlossMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}

+ 10 - 10
ModeDisplay/Assets/Scenes/内部结构/220kV GIS_ZF16-252.unity

@@ -192,7 +192,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &65262504
 Transform:
   m_ObjectHideFlags: 0
@@ -1732,7 +1732,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &635031731
 Transform:
   m_ObjectHideFlags: 0
@@ -1797,7 +1797,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &642842903
 Transform:
   m_ObjectHideFlags: 0
@@ -2333,7 +2333,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &886969951
 Transform:
   m_ObjectHideFlags: 0
@@ -2511,7 +2511,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &1000487177
 Transform:
   m_ObjectHideFlags: 0
@@ -2559,7 +2559,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &1054125115
 Transform:
   m_ObjectHideFlags: 0
@@ -2659,7 +2659,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &1080057679
 Transform:
   m_ObjectHideFlags: 0
@@ -3245,7 +3245,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &1479338065
 Transform:
   m_ObjectHideFlags: 0
@@ -3512,7 +3512,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!4 &1611176706
 Transform:
   m_ObjectHideFlags: 0
@@ -23233,7 +23233,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &287674601902307523
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 6 - 1
ModeDisplay/Assets/Scenes/内部结构拆解动画/联合风机拆解排列.unity

@@ -69326,6 +69326,11 @@ PrefabInstance:
       propertyPath: m_Name
       value: "\u8054\u5408\u98CE\u673A"
       objectReference: {fileID: 0}
+    - target: {fileID: 7053895393707582330, guid: 00b1fbcbefff99c43b73e774ac8ac9ce,
+        type: 3}
+      propertyPath: m_IsActive
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 7053895393811228953, guid: 00b1fbcbefff99c43b73e774ac8ac9ce,
         type: 3}
       propertyPath: m_IsActive
@@ -88572,7 +88577,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &1065025838
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 88 - 0
ModeDisplay/Assets/Scripts/Meshselect.cs

@@ -0,0 +1,88 @@
+using Org.BouncyCastle.Asn1.Ocsp;
+using Sirenix.OdinInspector;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Meshselect : MonoBehaviour
+{
+    public GameObject modelA;
+    public GameObject modelB;
+    //public GameObject fenzumubiao;
+    objTree ObjATree;
+    public Dictionary<string, GameObject> objBDic;
+    [Button("测试")]
+    void CreateTree()
+    {   
+        ObjATree = new objTree(modelA);
+        objBDic = new Dictionary<string, GameObject>();
+        FindChild(modelB);
+        GameObject newFenzumubiao = new GameObject("分组目标");
+        HierarchicalMatching(ObjATree, newFenzumubiao);
+        modelB.transform.SetParent(newFenzumubiao.transform);
+        modelB.name = "没配对上的";
+    }
+    void FindChild(GameObject child) //收集未分组的mesh
+    {
+        MeshFilter meshFilter = child.GetComponent<MeshFilter>();
+        if (meshFilter != null && meshFilter.sharedMesh != null)
+        {
+            if (!objBDic.ContainsKey(meshFilter.sharedMesh.name))
+                objBDic.Add(meshFilter.sharedMesh.name, child);
+        }
+
+
+        for (int i = 0; i < child.transform.childCount; i++)
+            FindChild(child.transform.GetChild(i).gameObject);
+    }
+
+
+    void HierarchicalMatching(objTree tree, GameObject NowPoint) //按层级匹配
+    {
+        GameObject matchTmpObj;
+        if (tree.nodeMesh != null && objBDic.TryGetValue(tree.nodeMesh.name, out GameObject tmpObj))
+            matchTmpObj = tmpObj;
+        else
+        {
+            matchTmpObj = new GameObject();
+            matchTmpObj.name = tree.nodeObj.name;
+        }
+        matchTmpObj.transform.SetParent(NowPoint.transform);
+
+      
+
+        foreach (objTree tmp in tree.children)
+            HierarchicalMatching(tmp, matchTmpObj);
+
+
+    }
+
+    //
+    [Serializable]
+    public class objTree
+    {
+        public Mesh nodeMesh;
+        public GameObject nodeObj;
+        public List<objTree> children = new List<objTree>();
+        public objTree(GameObject gameObj)
+        {
+            nodeObj = gameObj;//节点
+
+                MeshFilter meshFilter = nodeObj.GetComponent<MeshFilter>();
+            if (meshFilter != null && meshFilter.sharedMesh != null)
+                nodeMesh = nodeObj.GetComponent<MeshFilter>().sharedMesh;
+            
+            addObjNode();
+        }
+        public void addObjNode()
+        { 
+            for (int i = 0; i < nodeObj.transform.childCount; i++)
+            {
+                children.Add(new objTree(nodeObj.transform.GetChild(i).gameObject));
+            }
+
+
+        }
+    }
+}

+ 11 - 0
ModeDisplay/Assets/Scripts/Meshselect.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 93cc27630aa29d44aa6179f2192a296a
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: