当前位置: 首页 > news >正文

主机做网站服务器怎么设置网站上怎么做返回主页链接

主机做网站服务器怎么设置,网站上怎么做返回主页链接,如何制作网页插件,办公空间设计说明300字系列文章目录 unity工具 文章目录 系列文章目录unity工具 #x1f449;前言#x1f449;一、编辑器添加#x1f449;二、代码动态添加的方法(第一种)#x1f449;三、代码动态添加的方法(第二种)#x1f449;四、重新设置模型的中心点#x1f449;壁纸分享#x1f449;…系列文章目录 unity工具 文章目录 系列文章目录unity工具 前言一、编辑器添加二、代码动态添加的方法(第一种)三、代码动态添加的方法(第二种)四、重新设置模型的中心点壁纸分享总结 前言 大家好我是心疼你的一切不定时更新Unity开发技巧觉得有用记得一键三连哦。 有时候我们需要用到不规则的物体,或者一大堆物体,又不想每一个物体都加上碰撞盒,所以这时候就需要把这些物体放在空物体里面,在空物体上添加根据子物体的网格生成自适应大小的碰撞盒 以下就是有编辑操作的,也可以代码生成之后操作的,具体使用看自己心情哦 提示以下是本篇文章正文内容下面案例可供参考 一、编辑器添加 1.一个空物体下面有若干个子物体,想要为空物体添加碰撞盒且碰撞盒还得要包裹所有子物体,手动拖动的话有点费时,费力,费眼,这时候有个工具是最好用的(如下图所示) 2.选中空物体点击(如下图所示) 3.点完之后的图(如下图所示) 点完之后就能看到一个全包围模型的碰撞盒,实现完成 实现如上效果需要一个编辑器脚本,脚本放在Editor文件夹下面 编辑器脚本如下 using UnityEngine; using UnityEditor; /// summary /// 选择一个物体给当前物体添加自适应碰撞盒 编辑器脚本 /// /summary public class BoundsTool {[MenuItem(Tools/添加自适应碰撞盒)]private static void AutoBoxCollider(){//如果未选中任何物体 返回GameObject gameObject Selection.activeGameObject;if (gameObject null) return;//计算中心点Vector3 center Vector3.zero;var renders gameObject.GetComponentsInChildrenRenderer();for (int i 0; i renders.Length; i){center renders[i].bounds.center;}center / renders.Length;//创建边界盒Bounds bounds new Bounds(center, Vector3.zero);foreach (var render in renders){bounds.Encapsulate(render.bounds);}//先判断当前是否有碰撞器 进行销毁var currentCollider gameObject.GetComponentCollider();if (currentCollider ! null) Object.DestroyImmediate(currentCollider);//添加BoxCollider 设置中心点及大小var boxCollider gameObject.AddComponentBoxCollider();boxCollider.center bounds.center - gameObject.transform.position;boxCollider.size bounds.size;} }二、代码动态添加的方法(第一种) 1.动态生成物体的时候,也是可以添加的 代码动态添加的第一种方法 /// summary/// 自动调节碰撞盒的大小/// /summary/// param nameobj_/parampublic void AutoBoxCollider(GameObject obj_){//如果未选中任何物体 返回GameObject gameObject obj_;if (gameObject null) return;//计算中心点Vector3 center Vector3.zero;var renders gameObject.GetComponentsInChildrenRenderer();for (int i 0; i renders.Length; i){center renders[i].bounds.center;}center / renders.Length;//创建边界盒Bounds bounds new Bounds(center, Vector3.zero);foreach (var render in renders){bounds.Encapsulate(render.bounds);}//先判断当前是否有碰撞器 进行销毁var currentCollider gameObject.GetComponentCollider();if (currentCollider ! null) UnityEngine.Object.DestroyImmediate(currentCollider);//添加BoxCollider 设置中心点及大小var boxCollider gameObject.AddComponentBoxCollider();if (!gameObject.GetComponentHighlighter()){gameObject.AddComponentHighlighter(); } boxCollider.center bounds.center - gameObject.transform.position;boxCollider.size bounds.size;}结果就自行测试吧,我就不贴图片了 三、代码动态添加的方法(第二种) 调用方法如下 MeshTool.SpawnCollider(parents); //传一个父物体即可代码如下 using UnityEngine;public class MeshTool {public static Bounds SpawnCollider(Transform target){Vector3 pMax Vector3.zero;Vector3 pMin Vector3.zero;Vector3 center Vector3.zero;Vector3 oldPos target.transform.position;Quaternion oldQua target.transform.rotation;Vector3 oldScale target.transform.localScale;target.transform.position Vector3.zero;target.transform.rotation Quaternion.identity;target.transform.localScale Vector3.one;Bounds bounds CalcBounds(target, ref pMax, ref pMin, ref center);BoxCollider collider target.GetComponentBoxCollider();if (collider null){collider target.gameObject.AddComponentBoxCollider();}collider.center bounds.center;collider.size bounds.size;target.transform.position oldPos;target.transform.rotation oldQua;target.transform.localScale oldScale;return bounds;}private static Bounds CalcBounds(Transform obj, ref Vector3 pMax, ref Vector3 pMin, ref Vector3 center){Renderer meshRenderer obj.GetComponentRenderer();if (meshRenderer ! null){Bounds b meshRenderer.bounds;pMax b.max;pMin b.min;center b.center;}RecursivelyCalcBounds(obj.transform, ref pMax, ref pMin);CalculateCenter(pMax, pMin, out center, ref pMax, ref pMin);Vector3 size new Vector3(pMax.x - pMin.x, pMax.y - pMin.y, pMax.z - pMin.z);Bounds bound new Bounds(center, size);return bound;}private static void CalculateCenter(Vector3 max, Vector3 min, out Vector3 center, ref Vector3 pMax, ref Vector3 pMin){float xc (pMax.x pMin.x) / 2f;float yc (pMax.y pMin.y) / 2f;float zc (pMax.z pMin.z) / 2f;center new Vector3(xc, yc, zc);}private static void RecursivelyCalcBounds(Transform obj, ref Vector3 pMax, ref Vector3 pMin){if (obj.transform.childCount 0){return;}foreach (Transform item in obj){Renderer m item.GetComponentRenderer();if (m ! null){Bounds b m.bounds;if (pMax.Equals(Vector3.zero) pMin.Equals(Vector3.zero)){pMax b.max;pMin b.min;}if (b.max.x pMax.x){pMax.x b.max.x;}if (b.max.y pMax.y){pMax.y b.max.y;}if (b.max.z pMax.z){pMax.z b.max.z;}if (b.min.x pMin.x){pMin.x b.min.x;}if (b.min.y pMin.y){pMin.y b.min.y;}if (b.min.z pMin.z){pMin.z b.min.z;}}RecursivelyCalcBounds(item, ref pMax, ref pMin);}}}四、重新设置模型的中心点 有时候模型的轴向不准确,就需要重新设置模型的轴向了, 有时候有多个子物体的时候,想要把轴向设置到模型的中心点,这个时候就可以用了,反正只要能代码添加的,绝对不会手动添加的 能懒就懒,能不动就不动,哈哈哈… 代码方法如下 ListGameObject ObjZ new ListGameObject();Vector3 posZ Vector3.zero;/// summary/// 设置模型的中心点,方便做模型的移动/// /summary/// param name_trans/parampublic void SetModelPos(Transform _trans){yield return new WaitForSeconds(0.2f);posZ Vector3.zero;ObjZ.Clear();for (int i 0; i _trans.childCount; i){posZ (_trans.GetChild(i).GetComponentMeshCollider().bounds.center);ObjZ.Add(_trans.GetChild(i).gameObject);}posZ / _trans.childCount;for (int i 0; i ObjZ.Count; i){ObjZ[i].transform.parent null;}_trans.position posZ;for (int i 0; i ObjZ.Count; i){ObjZ[i].transform.parent _trans;} } 如果有需要会继续添加好用的小工具哦,谢谢 壁纸分享 总结 以上就是讲了如何设置碰撞盒的自适应大小如能帮助到你就帮忙点个三连吧谢谢 不定时更新Unity开发技巧觉得有用记得一键三连哦。么么哒
http://www.hkea.cn/news/14350076/

相关文章:

  • 免费企业网站空间昆明网站建设方案优化
  • 如何做网络推广赚钱深圳网站开发搜行者seo
  • 云南最便宜的网站建设全网推广成功再收费
  • 织梦网站漏洞伊宁市建设局网站
  • 湖南省建设厅网站购物网站建设市场调查论文
  • 做五金找订单查什么网站企业大全企业名录
  • 南京律师网站建设描述网站开发的流程
  • xxx网站建设策划书范文建立网站 英语怎么说
  • 唯美网站建设手机上做网站的软件
  • 石家庄无极网站建设那个网站建设好
  • 哪个网站美丽乡村做的比较好应用市场下载安装软件
  • 服装网站建设任务表网络信息设计
  • 广州做网站发多少钱高邮建设局网站
  • 湛江个人网站制作在哪里做网络规划设计师报考多少钱
  • 百度站长收录个人网站设计首页界面
  • 柳州网站建设psn118泉州专业网站建设公司哪家好
  • 门户网站集约化建设wordpress 切换语言
  • 网站3级营销是怎么做的wordpress安装在哪个文件夹
  • 教育网站赏析室内设计网站平面案例
  • 有没有做旅游攻略的网站电商网站设计方案
  • 如何在凡科上做网站商务网站建设工程师
  • 汕头网站优化电话网页改版
  • 建设网站公司哪里好相关的热搜问题解决方案h5可以来做网站吗
  • 湖南做网站 在线磐石网络ui是做什么的
  • qq炫舞做字网站中国建筑网官网是哪个
  • 兰坪建设公司网站百度网页链接
  • 镇江百姓网快速将网站seo
  • 网站开发的好处和弊端公司做网站需要准备什么资料
  • 合肥比较好的网站建设公司专题网站模板
  • 网站浏览量提升网络需求分析的主要内容有哪些