Unity 3D Dev Log 1st

1.Unity设置播放模式时窗体的颜色
Prefrences->Colors->General->Playmode tint
2.通过System.Diagnostics.Process开启Unity进程时传递参数
a.开启Unity exe

string exePath=@"E:\Model Material Lab\Model Material Lab.exe";
Process.Start(exePath,new string[] { "arg_1", "arg_2" });

b.在Unity中接受参数

using System;
using System.Text;
using UnityEngine;
using UnityEngine.UI;

public class GetStartInfoArgs : MonoBehaviour
{
    [SerializeField] Text argsText;
    void Start()
    {
        string[] arguments = Environment.GetCommandLineArgs();
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < arguments.Length; i++)
        {
            stringBuilder.Append(arguments[i] + "\n");
        }
        text.argsText= stringBuilder.ToString();
        if (arguments.Length == 0)
            argsText.text = "No Argments";
    }

}

text.text:

E:\Model Material Lab\Model Material Lab.exe
arg_1
arg_2

3.改写Hierarchy显示

[InitializeOnLoad]
public class HierarchyItemEditor
{
    static HierarchyItemEditor()
    {
        EditorApplication.hierarchyWindowItemOnGUI += ChangeHierachyItemColor;
    }

    private static void ChangeHierachyItemColor(int instanceID, Rect selectionRect)
    {
        var obj = EditorUtility.InstanceIDToObject(instanceID) as GameObject;
        if (obj != null && obj.name.StartsWith("Neo_"))
        {
            EditorGUI.DrawRect(selectionRect, Color.cyan);
            EditorGUI.LabelField(selectionRect, obj.name,EditorStyles.whiteBoldLabel);
        }
    }
}

4.Unity PC日志

C:\Users\Administrator\AppData\LocalLow\DefaultCompany

5.Unity失去焦点后继续运行
File->Build Setting->Player Settings->Setting for PC,MAC&Linux Standalone->Resolution and Presentation->Run In Background*【√】
6.当多个Canvas Group属于同一Canvas的子物体,则可能会有问题(Schneider_SuZhou)。
7.Unity 富文本
https://docs.unity.cn/cn/2018.4/Manual/StyledText.html

a.支持的标签
标签 描述 示例 注意事项
b 以粗体显示文本。 We are not amused.
i 以斜体显示文本。 We are usually not amused.
size 根据参数值设置文本的大小(以像素为单位)。 We are largely unaffected. 尽管此标签可用于 Debug.Log,但如果大小设置得太大,您会发现窗口栏和控制台中的行间距看起来很奇怪。
color 根据参数值设置文本的颜色。可使用传统的 HTML 格式指定颜色。 #rrggbbaa …其中的字母对应于十六进制数字对,表示颜色的红、绿、蓝和 Alpha(透明度)值。例如,完全不透明度的青色将指定为: … 另一种选择是使用颜色的名称。这种方法更容易理解,但当然,颜色范围受限,并始终假设颜色完全不透明。 … 下表中列出了可用的颜色名称。
注:
b.嵌套的元素

We are <b><i>definitely not</i></b> amused

We are definitely not amused
c.由XML配置文本信息时需注意转义

显示结果		描述				转义字符			十进制
 			空格				&nbsp;			&#160;
<			小于号			&lt;			&#60;
>			大于号			&gt;			&#62;
&			与号				&amp;			&#38;
"			双引号			&quot;			&#34;
'			单引号			&apos;			&#39;
×			乘号				&times;			&#215;
÷			除号				&divde;			&#247;

8.AssetDatabase.LoadAssetAtPath

using UnityEngine;
using UnityEditor;

public class MyPlayer : MonoBehaviour
{
    [MenuItem("AssetDatabase/LoadAssetExample")]
    static void ImportExample()
    {
      Texture2D t = AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/Textures/texture.jpg");
      var font = AssetDatabase.LoadAssetAtPath<Font>("Assets/Fonts/PingFang Regular.ttf");
    }
}

注:
a.路径需以"Assets"开头;
b.指向的资源需包含扩展名;
9.打开脚本时未能显示解决方案
Edit->Preferences->External Tools ->External Script Editor->Browse->[Visual Studio 2019 Install Path]
注:不能打开前的选项可能为:Open by file extension

10.Text 换行

text.text="Hello Unity\n";

你可能感兴趣的:(Unity,3D与编程语言,c#,unity3d)