Directional Light 平行光(太阳)
Point Light 点光源(有范围)
Spot Light 光束(聚光灯)
Area Light 区域光(用于烘焙)
除了平行光,其他光源如果要用阴影的话要调成延迟渲染
右键+WSAD 前后左右漫游场景
QE 上下
Move to view 移动到视图中心
Align With View 移动物体到观察位置
Align View to Selected 以这物体为观察位置
W移动
E旋转
R缩放
T矩形
Snap Settings 固定位移移动旋转缩放物体
或ctrl+移动(w)等,定量移动
可以查看
Edit->ProjectSettings->Physics(2D)中的Layer矩阵
看看是不是这里的问题
定义简单序列化类或者结构
[Serializable] public class MyClass { public int level; public float timeElapsed; public string playerName; }
用工具类JsonUtility,
ToJson(序列化类) //转化为json字符串
FromJson(json) //json转化为类
FromJsonOverwrite(json,myclass) //重写类
建议不要使用DontDestoryOnLoad去维持你想一直要使用的游戏管理脚本GameObject,你可以创建一个管理场景,然后用SceneManager.LoadScene(, LoadSceneMode.Additive)和SceneManager.UnloadScene去管理你的游戏过程。
就是,你可以创建一个起始的场景Main,里面全是管理器的初始化的单例,然后一直维持这个场景的存在,通过额外或则卸载场景的方式去实现游戏关卡。也就是每次都是两个场景的混合,Main场景和你的关卡场景。Main场景还可以存放一些公共的资源。
Assets : 存放项目的所有资源,直接显示在Project中。
Editor : 存放扩展Unity功能的脚本,在这个文件夹里继承MonoBehaviour的脚本不能指定给GameObject,也就是不参与游戏运行时。一个项目可以有多个Editor文件,但是影响执行的顺序。
Editor Default Resources : 这个文件夹必须直接放在Assets目录下,存放Unity扩展编辑器的资源文件,通过EditorGUIUtility.Load加载
Gizmos : 存放一些用于标志Scene中的GameObject和position的小图片icon,用Gizmos.DrawIcon加载。
Plugins : 用于扩展Unity的特性,一般存放c/c++ dll文件等外部脚本。跟Editor一样,可以多个,但有执行顺序。
Resources : 放置需要脚本来加载的资源文件,可以有多个Resources文件夹,无论放在哪里。通过Resources.Load方法加载。
Standard Assets : 导入标准资源包时存放的文件夹。
StreamingAssets : 存放不需要一些需要保持原有格式的文件(不需要unity的处理)
Hidden Assets :
During the import process Unity completely ignores the following files and folders in the Assets folder (or a sub-folder within it):
Hidden folders.
Files and folders which start with ‘.’.
Files and folders which end with ‘~’.
Files and folders named ‘cvs’.
Files which have ‘tmp’ extension.
This is used to prevent importing special and temporary files created by operating system or other applications.
在新的场景关卡加载完成后,信息OnLevelWasLoaded()将会发送到所有活跃的GameObject。
就是场景加载完成后,每个Active的GamaObject的每个MonoBehaviur脚本都会调用OnLevelWasLoaded方法。
作用的话可以用来优化资源的动态加载,以优化场景切换的时间,可以在场景加载完后,动态逐渐加载场景的资源,拼接组成验证。
DontDestroyOnLoad(go);//GamaObject go一定是在层次面板中最root的物体
这个代码声明go,在加载下一个关卡时不会销毁掉,一般用于保持音乐继续播放,维持游戏控制代码和状态等。