国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【無標題】Unity隨手記——給Scene窗口內(nèi)的物體設(shè)置SelectIcon

這篇具有很好參考價值的文章主要介紹了【無標題】Unity隨手記——給Scene窗口內(nèi)的物體設(shè)置SelectIcon。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

由于開發(fā)項目,某個Scene場景內(nèi)會有很多的靜態(tài)物體。我們在Hierarchy窗口中選中后,雖然有三維坐標顯示在物體上,但是也很難分辨。

于是unity提供了給編輯物體設(shè)置icon。

【無標題】Unity隨手記——給Scene窗口內(nèi)的物體設(shè)置SelectIcon

?這些icon大家都很熟悉了吧。
問題來了,如果是一個兩個物體,我手動設(shè)置下沒問題。如果幾十個,或者更多呢?

“寫代碼?。 庇行┩瑢W都會搶答了。

于是我在網(wǎng)上百度下,有了以下的代碼:

    private static GUIContent[] labelIcons;
	private static GUIContent[] largeIcons;
	private static GUIContent[] GetTextures(string basename, string postFix, int startIndex, int count)
	{
		GUIContent[] guiContentArray = new GUIContent[count];
		var t = typeof(EditorGUIUtility);
		var mi = t.GetMethod("IconContent", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static
			,null, new Type[] { typeof(string)}, null);
		for (int index = 0; index < count; ++index)
		{
			guiContentArray[index] = mi.Invoke(null, new object[] { basename + (object)(startIndex + index) + postFix }) as GUIContent;
		}
		return guiContentArray;
	}
	private static void SetIcon(GameObject go, LabelIcon icon)
	{
		if (labelIcons == null)
		{
			labelIcons = GetTextures("sv_label_", string.Empty, 0, 8);
		}
		SetIcon(go, labelIcons[(int)icon].image as Texture2D);
	}
	private static void SetIcon(GameObject go, Icon icon)
	{
		if (largeIcons == null)
		{
			labelIcons = GetTextures("sv_icon_dot", "_pix16_gizmo", 0, 16);
		}
		SetIcon(go, largeIcons[(int)icon].image as Texture2D);
	}
	private static void SetIcon(GameObject go, Texture2D texture)
	{
		var ty = typeof(EditorGUIUtility);
		var mi = ty.GetMethod("SetIconForObject", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
		mi.Invoke(null, new object[] {go, texture });
	}

	/// <summary>
	/// Label類型icon 顯示文字的
	/// </summary>
	public enum LabelIcon
	{
		Gray = 0,
		Blue,
		Teal,
		Green,
		Yellow,
		Orange,
		Red,
		Purple
	}
	/// <summary>
	/// 其他icon不顯示文字
	/// </summary>
	public enum Icon
	{
		CircleGray = 0,
		CircleBlue,
		CircleTeal,
		CircleGreen,
		CircleYellow,
		CircleOrange,
		CircleRed,
		CirclePurple,
		DiamondGray,
		DiamondBlue,
		DiamondTeal,
		DiamondGreen,
		DiamondYellow,
		DiamondOrange,
		DiamondRed,
		DiamondPurple
	}

是不是很牛掰!后來在大神的指導下,就用了以下兩句:

		var iconContent = EditorGUIUtility.IconContent("sv_icon_dot14_pix16_gizmo");
		EditorGUIUtility.SetIconForObject(node_start, (Texture2D)iconContent.image);

就搞定了。百度害人?。?/p>

總結(jié)下,前半部分的代碼適合早期的unity版本。那兩句的代碼,適合新版本的unity。

提供下?EditorGUIUtility.IconContent方法的可用參數(shù)字符串(卡布斯尼):

Shttps://github.com/halak/unity-editor-icons文章來源地址http://www.zghlxwxcb.cn/news/detail-408815.html

到了這里,關(guān)于【無標題】Unity隨手記——給Scene窗口內(nèi)的物體設(shè)置SelectIcon的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • unity scene場景調(diào)整好后讓game窗口的視角與scene相同

    unity scene場景調(diào)整好后讓game窗口的視角與scene相同

    調(diào)整scene中場景視角 選中相機 然后 如果要實現(xiàn)相反的功能? 即scene的視角與game的一樣則 選中相機

    2024年02月04日
    瀏覽(56)
  • 【學習筆記】Unity基礎(chǔ)(十)【Unity界面之Scene窗口工具欄】

    【學習筆記】Unity基礎(chǔ)(十)【Unity界面之Scene窗口工具欄】

    轉(zhuǎn)載請注明出處:??https://blog.csdn.net/weixin_44013533/article/details/131707918 主要參考: 官方手冊 Scene視圖 注:本文使用的unity版本是2021.3.25f Scene 視圖是正在創(chuàng)建的世界的交互式視圖。Scene 視圖可用于選擇和定位景物、角色、攝像機、光源和所有其他類型的游戲?qū)ο蟆?本節(jié)將詳細

    2024年02月06日
    瀏覽(78)
  • Unity 3D 一些對Scene窗口的調(diào)整以及攝像頭的調(diào)整技巧

    Unity 3D 一些對Scene窗口的調(diào)整以及攝像頭的調(diào)整技巧

    入門小菜鳥,希望像做筆記記錄自己學的東西,也希望能幫助到同樣入門的人,更希望大佬們幫忙糾錯啦~侵權(quán)立刪。 目錄 1、如何隨心所欲地調(diào)整我們所看到的Scene窗口的角度呢? 2、如何讓Scene窗口和Main Camera看到的一樣? 今天初學Unity,剛開始就被Scene窗口和Main Camera整活

    2023年04月20日
    瀏覽(28)
  • MAUI桌面端標題欄設(shè)置和窗口調(diào)整

    MAUI桌面端標題欄設(shè)置和窗口調(diào)整

    如果你現(xiàn)在開始學習并使用MAUI開發(fā)桌面端,那么接下來的問題相信你都會遇到并且會想著嘗試找方法解決它 本人在使用目前VS2022最新版17.4Professional版創(chuàng)建新的MAUI APP 基于.NET6.0項目時,發(fā)現(xiàn)完全找不到根wpf一樣的WindowStyle或者ResizeMode這樣的屬性,有點強迫癥,一定要把這個標

    2024年02月12日
    瀏覽(20)
  • pyqt5設(shè)置標題欄三個按鈕以及窗口大小

    組件也會受影響,范圍0-1,0是全透明,1是不透明

    2024年02月13日
    瀏覽(31)
  • 筆記:Unity多相機場景下,物體顯示常用設(shè)置

    1、主相機:MainCamera; 2、子相機:ClippingCamera、FieldViewCamera、UICamera: 注:為了減少干擾 每個子相機僅顯示特定物體,不和主相機同時渲染; 每個物體也僅被唯一的相機渲染; 3、把子相機顯示內(nèi)容按不同先后順序渲染到主相機里方法: (1)將子相機添加進MainCamera的Stack模

    2023年04月08日
    瀏覽(29)
  • Unity 窗口化設(shè)置

    Unity 窗口化設(shè)置

    在Unity中要實現(xiàn)窗口化,具體設(shè)置如下: 在編輯器中,選擇File - Build Settings。 在Player Settings中,找到Resolution and Presentation部分。 取消勾選\\\"Fullscreen Mode\\\",并選擇\\\"Windowed\\\"。 設(shè)置游戲的目標分辨率,通常是一個固定的分辨率,比如1280x720或1920x1080。 如下圖所示: 另外在Resoluti

    2024年04月22日
    瀏覽(39)
  • Unity 設(shè)置無邊框窗口

    ????????最近在做窗口模式切換和設(shè)置分辨率,發(fā)現(xiàn)Unity只有設(shè)置窗口或全屏切換的API,沒有設(shè)置無邊框窗口的API。于是我就在在網(wǎng)上找到了一種設(shè)置方法。 ????????注意,該方法僅限windows系統(tǒng)。 ? ? ? ? 引用用windows的user32.dll庫,調(diào)用庫里的方法,來設(shè)置窗口無邊框

    2024年04月08日
    瀏覽(28)
  • Unity打包窗口化放大、縮小、拖拽功能、無邊框設(shè)置 C#

    Unity打包窗口化放大、縮小、拖拽功能、無邊框設(shè)置 C#

    Unity無邊框設(shè)置、窗口化放大、縮小、拖拽 提示:PC端打包,測試盡量在打包后測試。 編輯器下測試會有意想不到的后果呦~~ [DllImport(\\\"user32.dll\\\")] 。 代碼如下: 代碼如下:注釋詳細,不懂就問哈 代碼整體已貼出,功能親測可用,歡迎學習交流。點贊+收藏+關(guān)注哦~

    2024年02月16日
    瀏覽(25)
  • Unity發(fā)布PC 設(shè)置窗口 無邊框(顯示win任務欄),或全屏無邊框

    Unity發(fā)布PC 設(shè)置窗口 無邊框(顯示win任務欄),或全屏無邊框

    設(shè)置win窗口無邊框,就需要對獲得Win的窗口信息,所以需要調(diào)用Win32的API [DllImport(“user32.dll”)] Win32 API //并不是很全,如果在此沒找到想要的函數(shù),可點擊Win32 API查找 c#調(diào)用Win32詳解 //下面腳本中 可以設(shè)置 除任務欄外無邊框,也可以設(shè)置全屏無邊框 運行第一次 界面還是會出

    2024年02月12日
    瀏覽(105)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包