zoukankan      html  css  js  c++  java
  • Unity3d根据命名快速捕获场景物体轴心点

    using UnityEngine;
    using System.Collections;
    using UnityEditor;
     
    /// <summary>
    /// 根据命名快速捕获场景物体轴心点
    /// </summary>
    public class QuickGetPivot : EditorWindow
    {
     /// <summary>
     /// 定义变量
     /// </summary>
     
     private string ObjectNameString = "";
     private GameObject MyGameObject;                 //存储场景gameObject
     
     private int[] IntArray = new int[] { 0, 1, 2, 3, 4 };
     
     //顶部特效
     private int HeadInt = 0;
     private int BottomFootstepsInt = 0;
     private int HipChestInt = 0;
     private int HandFootInt = 0;
     private int WeaponInt = 0;
     private int NormalSpecialInt = 0;
     
     private string[] Head_String = new string[] { "Choose A Effect", "Head_C_EffectPoint", "Head_T_EffectPoint" };
     private string[] BottomFootsteps_String = new string[] { "Choose A Effect", "Bottom_EffectPoint", "Footsteps_EffectPoint" };
     private string[] HipChest_String = new string[] { "Choose A Effect", "Hip_EffectPoint", "Chest_EffectPoint" };
     private string[] HandFoot_String = new string[] { "Choose A Effect", "Hand_L_EffectPoint", "Hand_R_EffectPoint", "Foot_L_EffectPoint", "Foot_R_EffectPoint" };
     private string[] Weapon_String = new string[] { "Choose A Effect", "Weapon01_EffectPoint", "Weapon02_EffectPoint", "Weapon03_EffectPoint" };
     private string[] NormalSpecial_String = new string[] { "Choose A Effect", "Normal_HurtPoint", "Special_HurtPoint" };
     
     /// <summary>Im
     /// 创建、显示窗体
     /// </summary>
     [@MenuItem("Custom/Effect/QuickGetPivot")]
     
     private static void Init()
     {
      QuickGetPivot window = (QuickGetPivot)GetWindow(typeof(QuickGetPivot), true, "QuickGetPivot");
     
      window.Show();
     }
       
     
     /// <summary>
     /// 显示窗体里面的内容
     /// </summary>
     private void OnGUI()
     {
     
      //EffectPopup
      HeadInt = EditorGUILayout.IntPopup("顶部特效", HeadInt, Head_String, IntArray);
      BottomFootstepsInt = EditorGUILayout.IntPopup("底部特效", BottomFootstepsInt, BottomFootsteps_String, IntArray);
      HipChestInt = EditorGUILayout.IntPopup("骨骼特效", HipChestInt, HipChest_String, IntArray);
      HandFootInt = EditorGUILayout.IntPopup("手脚特效", HandFootInt , HandFoot_String, IntArray);
      WeaponInt = EditorGUILayout.IntPopup("武器特效", WeaponInt , Weapon_String, IntArray);
      NormalSpecialInt = EditorGUILayout.IntPopup("受击特效", NormalSpecialInt, NormalSpecial_String, IntArray);
     
     
      if (GUILayout.Button("Get Object Pivot"))
      {
       GetSceneObjectPivot();
      }
     }
     
     
     /// <summary>
     /// 在场景中获取物轴心点
     /// </summary>
     ///
     private void GetSceneObjectPivot()
     {
         //控制台输出ObjectNameString
     
     
      switch(HeadInt)
      {
       case 1:
        ObjectNameString = "Head_C_EffectPoint";
        break;
       case 2:
        ObjectNameString = "Head_T_EffectPoint";
        break;
      }
     
     
      switch(BottomFootstepsInt)
      {
      case 1:
       ObjectNameString = "Bottom_EffectPoint";
       break;
      case 2:
       ObjectNameString = "Footsteps_EffectPoint";
       break;
      }
     
      switch(HipChestInt)
      {
      case 1:
       ObjectNameString = "Hip_EffectPoint";
       break;
      case 2:
       ObjectNameString = "Chest_EffectPoint";
       break;
      }
     
     
      switch(HandFootInt)
      {
      case 1:
       ObjectNameString = "Hand_L_EffectPoint";
       break;
      case 2:
       ObjectNameString = "Hand_R_EffectPoint";
       break;
      case 3:
       ObjectNameString = "Foot_L_EffectPoint";
       break;
      case 4:
       ObjectNameString = "Foot_R_EffectPoint";
       break;
      }
     
     
      switch(WeaponInt)
      {
      case 1:
       ObjectNameString = "Weapon01_EffectPoint";
       break;
      case 2:
       ObjectNameString = "Weapon02_EffectPoint";
       break;
      case 3:
       ObjectNameString = "Weapon03_EffectPoint";
       break;
      }
     
      switch(NormalSpecialInt)
      {
      case 1:
       ObjectNameString = "Normal_HurtPoint";
       break;
      case 2:
       ObjectNameString = "Special_HurtPoint";
       break;
      }
     
     
      if("" != ObjectNameString)
      {
     
       MyGameObject = GameObject.Find(ObjectNameString);
     
       if(null != MyGameObject)
       {
        Selection.activeTransform = MyGameObject.transform;
       }
       else
       {
        Debug.LogWarning("No Such Object In Scene!");
        Selection.activeTransform = null;
       }
     
       HeadInt = 0;
       BottomFootstepsInt = 0;
       HipChestInt = 0;
       HandFootInt = 0;
       WeaponInt = 0;
       NormalSpecialInt = 0;
     
       ObjectNameString = "";
     
       Debug.Log (ObjectNameString);
      }
      else
      {
       Debug.LogWarning("Choose A Effect First!");
      }
     }
    }
  • 相关阅读:
    New-SAN-FENG-YUN-三
    San丰-Cloud
    SpringBoot+MySQL+MyBatis+Shiro+AdminLTE
    SanFeng-Clound
    SanFengClound
    传奇音乐设置
    热血传奇GOM引擎问题集锦
    app测试
    接口测试
    题目
  • 原文地址:https://www.cnblogs.com/JimmyCode/p/4547455.html
Copyright © 2011-2022 走看看