{"id":4768,"date":"2023-03-24T12:18:24","date_gmt":"2023-03-24T04:18:24","guid":{"rendered":"http:\/\/blog.coolcoding.cn\/?p=4768"},"modified":"2023-03-24T12:18:24","modified_gmt":"2023-03-24T04:18:24","slug":"unity-ugui%e4%b8%ad%ef%bc%8crawimage%e6%b7%b7%e7%94%a8sprite%e7%9a%84%e9%97%ae%e9%a2%98","status":"publish","type":"post","link":"https:\/\/blog.coolcoding.cn\/?p=4768","title":{"rendered":"Unity UGUI\u4e2d\uff0cRawImage\u6df7\u7528Sprite\u7684\u95ee\u9898"},"content":{"rendered":"\n<p>\u4e00\u3001\u573a\u666f\u884c\u4e3a\uff1a<br>RawImage\u4f7f\u7528Sprite\u8d44\u6e90<\/p>\n\n\n\n<p>\u4e8c\u3001\u540e\u679c\uff1a<br>\u6253\u5305Assetbundle\u65f6\uff0c\u540c\u4e00\u4e2aSprite\u6587\u4ef6\uff0c\u4f1a\u88ab\u6253\u5305\u62102\u4e2a\u8d44\u6e90<br>1\u4e2a\u662fSprite\u8d44\u6e90\uff0c1\u4e2a\u662fTexture2D\u8d44\u6e90<br>\u8fd9\u6837\u5728\u52a0\u8f7dAssetbundle\u7684Asset\u65f6\uff0c\u6709\u673a\u7387\u52a0\u8f7d\u9519\u8bef<\/p>\n\n\n\n<p>\u4e09\u3001\u89e3\u51b3\uff1a<br>\u7981\u6b62RawImage\u4f7f\u7528Sprite\u8d44\u6e90<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ ugui1.0\n\/\/ RawImageEditor.cs\n\nusing UnityEngine;\nusing UnityEngine.UI;\n\nnamespace UnityEditor.UI\n{\n ...\n\n\/\/ \u9632\u6b62RawImage \u4f7f\u7528 Sprite\nprivate void CheckUseTextureFormat()\n{\n    var textureObj = m_Texture.objectReferenceValue as Texture2D;\n    if (textureObj == null)\n    {\n        return;\n    }\n\n    var assetPath = UnityEditor.AssetDatabase.GetAssetPath(textureObj);\n    TextureImporter importer = TextureImporter.GetAtPath(assetPath) as TextureImporter;\n    if (importer != null &amp;&amp; importer.textureType != TextureImporterType.Default)\n    {\n        m_Texture.objectReferenceValue = null;\n        UnityEngine.Debug.LogError($\"{assetPath}\u4e0d\u662f\u7eb9\u7406, {importer.textureType}\u683c\u5f0f\u4e0d\u652f\u6301\");\n    }\n}\n\npublic override void OnInspectorGUI()\n{\n    serializedObject.Update();\n\n    EditorGUI.BeginChangeCheck();\n    EditorGUILayout.PropertyField(m_Texture);\n    if (EditorGUI.EndChangeCheck())\n    {\n        CheckUseTextureFormat();\n    }\n\n    AppearanceControlsGUI();\n    RaycastControlsGUI();\n    MaskableControlsGUI();\n    EditorGUILayout.PropertyField(m_UVRect, m_UVRectContent);\n    SetShowNativeSize(false);\n    NativeSizeButtonGUI();\n\n    serializedObject.ApplyModifiedProperties();\n}\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u573a\u666f\u884c\u4e3a\uff1aRawImage\u4f7f\u7528Sprite\u8d44\u6e90 \u4e8c\u3001\u540e\u679c\uff1a\u6253\u5305Assetbundle\u65f6\uff0c\u540c\u4e00\u4e2aSprite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=\/wp\/v2\/posts\/4768"}],"collection":[{"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4768"}],"version-history":[{"count":1,"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=\/wp\/v2\/posts\/4768\/revisions"}],"predecessor-version":[{"id":4769,"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=\/wp\/v2\/posts\/4768\/revisions\/4769"}],"wp:attachment":[{"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.coolcoding.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}