Unity笔记

Unity笔记

每隔两秒执行一次

private float last_call_time = 0f;   // 临时时间存储

void Update()
{
    if (last_call_time >= 2f)   // 间隔2秒,可设置为变量调节
    {
        last_call_time = 0f;
        Debug.Log("aaaaa"); // 此处调用需要间隔执行函数
    }
    last_call_time += Time.deltaTime;
}

解决2D像素切图资源放大模糊的问题

  • 点击文件本身,在Inspector中找到Filter Mode,选择Point(no filter)

插件存放位置

  • X:\Users\XXX\AppData\Roaming\Unity\Asset Store-5.x

快捷键

  • V:吸附3D物体顶点(用于布设场景物品)
  • ctrl+shift+f:将当前视角复制为maincamera角度

性能消耗高的函数及其它高耗能做法

  • GameObject.Find
  • GameObject.FindObjectOfType
  • GameObject.FindObjectWithTag
  • GameObject.GetComponent
  • Camera.main(因实际调用GameObject.FindObjectWithTag,2020.2以后版本已优化)
  • Debug.Log
  • Raycast的使用,包括UI中的各种不必要(不需点击)的Raycast Target设置
  • Update函数里写循环
  • 创建大量相同对象而不使用对象池

Csharp相關

CSharp编译打包

  • 编写最简单程序test.cs,如下:
using System;

public class Test
{
	static void Main()
	{
		Console.WriteLine("Hello");
		Console.ReadLine();	// 控制台输出不自动关闭
	}
}
  • 配置环境变量,添加csc.exe,通常位于C:\Windows\Microsoft.NET\Framework64\v4.0.30319

  • 执行cmd,获得test.exe

csc test.cs

語法對比

  • raw字符串或多行字符串
py:
r'a/aa'

'''abc
csf'''

cs:
@"a/aa
555"