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

wordpress 控制台 慢安徽seo优化

wordpress 控制台 慢,安徽seo优化,疫情防控工作的具体措施,wordpress标签页Unity中的Gizmos功能是用于在场景视图中绘制辅助图形或图标的工具,帮助开发者在编辑模式下直观调试和可视化游戏对象的位置、范围、方向等信息。 一.定义概述 Gizomsd 概述 Gizoms是Unity提供的一个API,或者叫做一个工具类,包含一系列静态…

       Unity中的Gizmos功能是用于在场景视图中绘制辅助图形或图标的工具,帮助开发者在编辑模式下直观调试和可视化游戏对象的位置、范围、方向等信息。

一.定义概述

Gizomsd 概述

Gizoms是Unity提供的一个API,或者叫做一个工具类,包含一系列静态方法。

既然提到Gizoms不得不提到OnDrawGizmosxxx 系列函数。命名相近需要区分一下。

OnDrawGizmosxxx 概述

包含OnDrawGizmos( )和OnDrawGizmoselected( ),它们是Unity的MonoBehaviour中的生命周期函数,作为绘制Gizmos的入口点,开发者需要再此方法内调用Gizmos的绘制函数,定义需要的图形

OnDrawGizmosxxx是定义何时绘制如何触发的入口方法,而Gizmos是提供具体绘制能力的工具类。

二.Gizmos的核心功能

1.调试可视化

无需运行游戏,直接在场景视图中显示自定义图形。

常用函数

DrawLine:绘制直线

DrawSphere:绘制球体

DrawFrustum:绘制视椎体

DrawWireCube:绘制空心立方

属性控制

Gizmos.color:后续绘制颜色

Gizmos.matrix:基于对象坐标系绘制

示例代码

    private void OnDrawGizmos(){Gizmos.color = Color.blue;Gizmos.matrix=transform.localToWorldMatrix;Gizmos.DrawCube(Vector3.forward,Vector3.one*0.5f);Gizmos.matrix = Matrix4x4.identity; }

示例效果

基于物体自身坐标系的forward方向渲染立方体

开关控制

场景视图中的Gizmos菜单可全局启用或禁用Gizmos显示

下拉Gizmos菜单中且可以控制所有目标脚本内及其他的Gizmos绘制显示

2.图标标记

DrawIcon()可绘制icon或Tex,便于显示定位。

示例代码:

 private void OnDrawGizmos(){Gizmos.DrawIcon(transform.position, "tree.jpg");}

DrawIcon( )第二个输入参数string name 表示位于Assets/Gizmos路径下的资源名称。

经过多次实验,我认为需要带上资源的图片格式后缀(如jpg,png)。

实验结果:

三.Gizmos的相关应用

1.逻辑/碰撞检测可视化

在制作像平台游戏中的敌人AI时,我们经常需要多重射线和碰撞盒进行检测判断,此时可视化检测范围是较为重要的可提高效率的手段。

例如我们需要绘制一条竖直的射线来检测玩家是否到达地面。

或者敌人需要对面前一定距离或区域进行检测,查看是否看到了玩家进入追击状态等。

这里拿我以前的一个小项目举例:

敌人身上的白色圆形可视化区域是来检测是否可以进行攻击,白色的短直线用来可视化检测前方是否是地面边缘。

2.自定义图形绘制(仅场景视图)

我分别在四个空物体上挂载测试脚本,并在场景中绘制了四个空心立方体。

示例代码

  //每帧在Scene内绘制void OnDrawGizmos(){Gizmos.color = Color.cyan;//绘制青色空心立方体Gizmos.DrawWireCube(transform.position, Vector3.one * 0.5f);}

实验结果

       接着我们来实现一个小功能:在场景视图内,当我们选择一个游戏物体时,渲染一条自原点与该游戏物体的连线。

这里我写一个专门用于编辑器下的功能脚本,在Editor文件夹下新建脚本。

示例代码

using UnityEditor;
using UnityEngine;public class GizmosEditor
{//挂载目标脚本的对象被选中且激活状态下绘制[DrawGizmo(GizmoType.Active | GizmoType.Selected)]static void CustomOnDrawGizmos(GizmosText traget, GizmoType type){//物体被选中时将会显示自身至原点的一条连线Gizmos.color = Color.blue;Gizmos.DrawLine(Vector3.zero, traget.transform.position);}
}

实验效果

接着我想加工一下这四个立方体,当我选中一个立方体时,该立方体会更复杂一些。

另外需要注意的是:

OnDrawGizmos()//在Scene视图内每帧绘制

OnDrawGizmosSelected()   //选中该脚本挂载对象时每帧在Scene内绘制

为减少不必要的性能消耗,我们可以使用一个bool变量来决定如何渲染。

这里我采用了一个bool变量来控制立方体是否在选中时绘制图形。

示例代码

using UnityEngine;public class GizmosText : MonoBehaviour
{[Header("仅在被选中时绘制")]public bool isOnSelectedCanDraw = true;//每帧在Scene内绘制void OnDrawGizmos(){Gizmos.color = Color.cyan;Gizmos.DrawWireCube(transform.position, Vector3.one * 0.5f);if (!isOnSelectedCanDraw)DrawMyCube();}//选中该脚本挂载对象时每帧在Scene内绘制//只有选中该物体才会绘制private void OnDrawGizmosSelected(){if (isOnSelectedCanDraw)DrawMyCube();}void DrawMyCube(){Gizmos.color = Color.red;Gizmos.DrawCube(transform.position, Vector3.one * 0.4f);//绘制一个小实心立方体Gizmos.color = Color.yellow;Gizmos.DrawWireSphere(transform.position, 0.6f);//绘制一个空心黄球体}
}

实验结果

本篇完~

http://www.dtcms.com/wzjs/266015.html

相关文章:

  • 广州是不是又有疫情了seo优化总结
  • 网站建设有什么好建议搜一搜
  • 微网站难做么石家庄seo关键词排名
  • 哪个网站做推销产品整站seo优化公司
  • 做品牌特价的网站外链发布平台
  • 广州外贸网站建站百度网站官网入口网址
  • 潼南县大潼建设有限公司网站刚刚地震最新消息今天
  • 专业的深圳网站建设百度地图导航网页版
  • o2o网站设计方案公司宣传软文
  • 智联招聘网站怎么做两份简历模板吉林网络推广公司
  • 企业网站每天更新seo外包资讯
  • 做网页怎么建站点免费加客源软件
  • 松江网站开发培训学校广州疫情最新消息
  • 企业宣传网站系统建设方案网站搭建需要什么
  • 网站域名注册哪个好无锡百度信息流
  • 网站账号注册程序站长检测工具
  • 深圳精美网站设计百度平台商家客服
  • wordpress小程序模板seo推广是什么意思
  • 重庆网络建站推广宣传文案
  • 网站开发确认书惠州seo排名
  • 工具类网站怎么优化seo百度客服人工在线咨询电话
  • 盐城网站建设招聘关键词优化报价怎么样
  • 南京做公司网站临沂做网站推广的公司
  • 俄罗斯b2b常用网站宜昌seo
  • 手机网站js触屏滑动图片特效友情链接作用
  • 河南郑州汽车网网站建设百度手机关键词排名工具
  • 政府网站建设 问题如何在百度发布文章
  • 网站建设推荐中企动力网站建站模板
  • 广州比较好的网站建设公司百度域名查询
  • 网站信息化建设具体内容廊坊关键词快速排名