unity3D 在屏幕边框创建碰撞框
2015-06-15 17:55
330 查看
private static GameObject s_aroundCols; public static void CreateAroundColliders() { if(s_aroundCols != null) return; s_aroundCols = new GameObject("aroundCols"); s_aroundCols.transform.position = Vector3.zero; s_aroundCols.transform.localScale = Vector3.one; s_aroundCols.transform.localEulerAngles = Vector3.zero; Vector3 top = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2f, Screen.height, 3f)); Vector3 bottom = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2f, 0f, 3f)); Vector3 left = Camera.main.ScreenToWorldPoint(new Vector3(0f, Screen.height/2f, 3f)); Vector3 right = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height/2f, 3f)); float width = Vector3.Distance(left, right); float height = Vector3.Distance(bottom, top); PhysicMaterial pmat = new PhysicMaterial(); pmat.dynamicFriction = 0f; //动摩擦力// pmat.staticFriction = 0f; //静摩擦力// pmat.bounciness = 1f; //弹力// pmat.frictionCombine = PhysicMaterialCombine.Maximum; //接触物体之间的摩擦力计算// pmat.bounceCombine = PhysicMaterialCombine.Maximum; //接触物体之间的弹力计算// createOnCollider("top", s_aroundCols.transform, Vector3.zero, top, new Vector3(width, 0.05f, 0.05f), pmat); createOnCollider("bottom", s_aroundCols.transform, Vector3.zero, bottom, new Vector3(width, 0.05f, 0.05f), pmat); createOnCollider("left", s_aroundCols.transform, Vector3.zero, left, new Vector3(0.05f, height, 0.05f), pmat); createOnCollider("right", s_aroundCols.transform, Vector3.zero, right, new Vector3(0.05f, height, 0.05f), pmat); } private static void createOnCollider(string name, Transform parent, Vector3 pos, Vector3 center, Vector3 size, PhysicMaterial mat) { GameObject col = new GameObject(name); col.transform.position = pos; col.transform.parent = parent; BoxCollider box = col.AddComponent<BoxCollider>(); box.center = center; box.size = size; box.material = mat; }
如上所示
相关文章推荐
- Unity调用Android原生的震动(简单)
- Unity WebPlayer下打开、另存为本地文件浏览器,更改颜色等等
- Visual Studio 2013 Tools for Unity安装目录,Visual Studio 2013 Tools.unitypackage
- unity3D 摇一摇功能
- excel导出csv
- Unity + iBatis + Asp.net Mvc 系统搭建
- unity3D 射线碰撞检测
- Unity面试题
- UnityAssetExplorer + PowerVRTexTool
- 处理unity文档打开慢的问题
- 在Unity环境下使用抽象和接口
- unity3d 半自动化从模型资源生成AnimatorController
- unity, 导出对象到另一个项目
- unity free asset
- 非常详细的测试unity与android之间的通讯操作(一直activity那块还是有问题,一直进不来android界面!)
- Unityshader实例02:Xray材质
- Unity3D游戏开发之使用AssetBundle和Xml实现场景的动态加载
- 【Unity】项目源码——2D横版过关类游戏《A_Standard_Runner》
- unity开发关于IOS平台接入之自动化构建管线
- Unity 5.1 重大发布,新功能全力支持VR开发