大家好,又见面了,我是你们的朋友全栈君。
vscode直接加载文件夹,不要使用unity右键打开项目,unity2019bug导致vscode打开后没有界面,后才占用项目,不能右键打开。
unity插件版本太老,可以修改extension目录中的package.json依赖
.vscode\extensions\unity.unity-debug-2.7.2
查看c#版本名称
修改package.json
asset store搜索cinemachine插件,import后确认导入后,可以在packages节点(library/packagecache中代码)找到
Cinemachine如果报错(确保没有io错误): Windows > Package Manager > in project依赖项,删除后,重新安装
unity内部错误,编译不通过,删除assets中自动生成的cinemachine文件夹,重新安装package manager中的包(之前是app store中的生成错误了,不删除不会刷新代码) 菜单栏出现cinemachie才能算成功
权限问题,换个文件夹(c盘权限问题)
vscode设置常用的nullReference异常,可以在资源为空的地方停止运行
unity运行错误,提示文件asmdef文件找不到 在package中搜索,找到后双击导入
asmdef文件:文件的方式定义程序集,package右键文件夹import(源码在\library\PackageCache下,生成的程序集在\library\ScriptAssemblies下),unity中的adf资源 unity中菜单:Assets > Create > Assembly Definition创建(可以提高编译效率)
name即项目名称,references依赖项
选择package下文件夹,右键reimport
导入成功packages文件夹下,可以找到:
项目不要通过unity右键的方式打开,可找到文件夹打开 添加日志:Debug.LogError,Unity及时编译,unity > console点击后,出现错误自动暂停
the reference script on this behaviour missing.删除脚本组件后,重新拖动脚本到节点上
节点列表里面搜索,t:名称 tag:每个节点可以绑定标签,一个标签对应多个节点。layer(勾选后显示层) static:静止物体不可以tansform移动,渲染特殊处理
project栏下packages/textmesh pro,右击reimport
protected virtual bool IsClickUI()
{
if (EventSystem.current!=null)
{
PointerEventData eventData = new PointerEventData(EventSystem.current);
eventData.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventData, results);
return results.Count > 0;
}
return false;
}
三大神器ProBuilder、Polybrush、ProGrids
render对象有layer属性,设置显示层级和节点的层级不同
骨骼动画、关节动画、关键帧动画
动画之间通过transition转换(转换控制时间轴),通过参数判断状态转换
参考:https://www.jianshu.com/p/283752d80737
unity界面OnGUI、NGUI下载插件、UGUI 自带
打包脚本到dll,减少代码修改后的项目编译时间
参考:https://blog.csdn.net/u014230923/article/details/51433455 https://www.jianshu.com/p/2e5b1b14c276
参考:file:///D:/Program%20Files/Unity3d/2018.4.13f1/Editor/Data/Documentation/en/ScriptReference/MonoBehaviour.html
unity中为了增加稳定性,使用协程实现异步(应用层级别的线程控制) StartCoroutine、StopCoroutine(以函数名开启的协程)、StopAllCoroutines 协程需要主动关闭 yield return相当于阻塞等待,yield break终止协程(内部退出)
协程的调用和帧率相关
Physics.Raycast
Editor,MenuItem等属性设置插件的显示方式 Script/Editor目录下的文件,自动添加到插件项目中
ab打包,resource目录是默认的ab包,inspector中new assetbundle,相同的名称在同一个包中
[MenuItem("Assets/Build AssetBundles")]
static void BuildAllAssetBundles()
{
string assetBundleDirectory = "Assets/AssetBundles";
if (!Directory.Exists(assetBundleDirectory)) Directory.CreateDirectory(assetBundleDirectory);
BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
}
3d模型fbx,包含动画,在unity中分解为animation、resource、material、texture绑定到gameobject中使用
RectTransform组件: 锚点(透明三角):四个三角符号到窗口四个角距离固定,三角符号可以在一个点上 轴点(空心小圆圈):旋转的中心 strech模式下长宽高无法获取,
gui顶点创建的ui、guilayout自动创建 button事件绑定:添加EventTrigger组件、射线检测、button绑定button对象和函数
排版,多个控件选中后设置大小,和整体大小拖动可以控制间距 Gizmos:选中效果设置可扩展,相机选中效果显示区域 相机叠加:相机的depth only模式和don’t clear模式配置depth顺序配置渲染先后顺序,depth小的先渲染
脚本OnGUI只能创建,操作在Update中进行
UnityEditor不能在打包项目中使用,否则无法打包 Unity中使用System.IO中的DirectoryInfo打包会找不到路径
application.datapath unity的资源目录,权限导致写入数据容易失败 temporaryCachePath 系统临时缓存目录
vs tool>setting>实时>全部勾选 或者建议使用vscode
SceneManager.LoadScene //场景名称或者build setting中的编号
特殊目录:Eidtor\Resource
参考:https://blog.csdn.net/u013628121/article/details/53377372
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169328.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有