实现一个形状的图片,一般是使用UGUI遮罩的方式
缺点:
1 耗费较多性能
2 锯齿感明显
实现一个形状的图片,一般是使用UGUI遮罩的方式
缺点:
1 耗费较多性能
2 锯齿感明显
3D物体对鼠标左键的响应需要过滤掉UI的情况,具体实现就是通过获取UI检测射线是否检测到UI,只有未检测到UI的时候,才3D物体才可以做出反应
private bool IsUI()
{
PointerEventData data = new PointerEventData(EventSystem.current);
data.pressPosition = Input.mousePosition;
data.position = Input.mousePosition;
List<RaycastResult> results = new List<RaycastResult>();
_raycaster.Raycast(data,results);
return results.Count > 0;
}
当想要UI和3D物体同时响应时,利用ExecuteEvents可以实现。
public void ExecuteAll(PointerEventData eventData)
{
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventData,results);
foreach (var result in results)
{
if (result.gameObject != this.gameObject)
{
ExecuteEvents.Execute(result.gameObject,eventData,ExecuteEvents.pointerClickHandler);
}
}
}
Click接口UI和3D物体都可以继承这个接口
需要在Camera上添加Physical Raycaster组件就可以了,这样就实现只响应UI的需求
UI和物体之间的相应问题
1 UI响应 3D物体不响应
2 同时响应
3 在某些特定情况下,过滤到某些响应
均匀缩放 对角矩阵
坐标系旋转相当于物体相反方向旋转
向量点乘
a.b = x1x2 + y1y2
|a||b|cos
a.b>0 锐角
a.b = 0 垂直
a.b <0 钝角
shader 会遍历所有SubShader块,扎到第一个平台支持的快,进行使用。
如果都没有找到,则选择使用FallBack定义的shader
合并操作对应颜色缓冲
不透明物品可以关闭混合
三角面片 顺时针为正向
模板测试,
scenesArgs
static Consts
{
pubilc const string E_ExiteScenes = "E_ExiteScenes"
}
OnLevel
库中有输出结构体
Unity中调试工具,及shader的debug调试
是加不是减,是竖线
这里有一点要注意,调用Load后边会有路径问题。
任务6
1.解决错误的时候先去解决第一个
2.先把课程写了
[零基础入门 丛林探险]相机不跟随角色了
详细的错误信息 与问题相关的
在运行游戏的时候出现了异常,并且相机不跟随角色移动了。
异常信息
出问题的代码
Unity的版本号和插件的版本号
里氏替换:所有父类都能替换为子类不会对其产生影响。
单一职责原则:一个对象只包含单一的职责,对于一个类,仅有一个引起
开闭原则
对扩展开发,对修改关闭
修改功能时通过增加的方式,而不是修改原有系统