博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unity3D 在屏幕边框创建碰撞框
阅读量:1983 次
发布时间:2019-04-27

本文共 2092 字,大约阅读时间需要 6 分钟。

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
(); box.center = center; box.size = size; box.material = mat; }

如上所示

转载地址:http://ogzvf.baihongyu.com/

你可能感兴趣的文章
【NLP学习笔记】中文分词(Word Segmentation,WS)
查看>>
【超越白皮书7】你需要知道关于ETH2.0的几个事实
查看>>
对于时间复杂度的通俗理解
查看>>
如何输入多组数据并输出每组数据的和?
查看>>
行阶梯型矩阵
查看>>
matlab中uint8,double,im2double和im2uint8的区别
查看>>
SVM进行人脸检测
查看>>
C++学习笔记
查看>>
图像处理学习笔记
查看>>
Machine Learning Onramp on MATLAB 学习笔记
查看>>
Machine Learning with MATLAB 1.1 to 2.2
查看>>
Learning DSP with MATLAB
查看>>
用MATLAB实现m序列的生成(MATLAB 2021a适用)
查看>>
MATLAB函数备忘(定期更新)
查看>>
13行MATLAB代码实现网络爬虫 爬取NASA画廊星图
查看>>
MATLAB指定路径保存图片方法
查看>>
Python一键获取微信推送封面图
查看>>
油猴脚本:微信推送浏览功能拓展
查看>>
JavaScript DOM对象操作详解
查看>>
JavaScript 表单操作与MD5加密
查看>>