由于某种原因,我的光线投射击中了另一层中的物体。
private int obstaclesLayerMask = (1 << 11) | (1 << 12);
private Vector3 GetPointOfContactNormal()
{
Ray ray = new Ray(transform.position, transform.forward);
if (Physics.Raycast(ray.origin, ray.direction, out hit, obstaclesLayerMask))
{
Debug.Log(hit.collider.gameObject.name);
return hit.normal;
}
return Vector3.zero;
}
Run Code Online (Sandbox Code Playgroud)
我尝试将 LayerMask 更改为随机图层,即使是未指定的图层(例如 1 << 30),并尝试使用 LayerMask.GetMask() 代替,但光线投射仍然会命中对象。仅将 LayerMask 设置为默认图层(例如 1 << 0)会使光线投射忽略碰撞。
Firebase 提供了一些默认事件,例如 level_up。以下是在代码中调用此事件的方法:
FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLevelUp, new Parameter(FirebaseAnalytics.ParameterLevel, levelNumber));
Run Code Online (Sandbox Code Playgroud)
我试过像这样制作我自己的事件(firebase 快速启动项目的方式):
FirebaseAnalytics.LogEvent("Player pressed the button", "Button name", someIntvalue));
Run Code Online (Sandbox Code Playgroud)
基本上将参数作为字符串发送。
我也试过这样写这个函数:
FirebaseAnalytics.LogEvent("Player pressed the button", new Parameter("Button name", someIntValue));
Run Code Online (Sandbox Code Playgroud)
这两个变体都没有在 firebase 分析的调试视图中注册,但默认事件会注册。
问题是什么?
提前致谢!