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

日照外贸网站建设程序员培训机构哪家好

日照外贸网站建设,程序员培训机构哪家好,做文库类网站,ui培训机构哪家好注意:考虑到编辑器扩展的内容比较多,我将编辑器扩展的内容分开,并全部整合放在【unity游戏开发——编辑器扩展】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 前言1、Gizmos 基础概念2、Gizmos相关的生命周期函数2.1 On…

注意:考虑到编辑器扩展的内容比较多,我将编辑器扩展的内容分开,并全部整合放在【unity游戏开发——编辑器扩展】专栏里,感兴趣的小伙伴可以前往逐一查看学习。

文章目录

  • 前言
    • 1、Gizmos 基础概念
    • 2、Gizmos相关的生命周期函数
      • 2.1 OnDrawGizmos()
      • 2.2 OnDrawGizmosSelected()
    • 3、基本设置
      • 设置绘制颜色(支持透明度)
  • 一、基本图形绘制
    • 1、绘制立方体
      • 1.1 绘制实体立方体
        • (1) 介绍
        • (2) 示例
      • 1.2 绘制线框立方体
        • (1) 主要API
        • (2) 示例
    • 2、Gizmos绘制球体
      • 2.1 绘制实体球体
        • (1) 主要API
        • (2) 示例
      • 2.2 绘制线框球体
        • (1) 主要API
        • (2) 示例
    • 3、绘制任意网格
      • 3.1 绘制任意实体网格
        • (1) 主要API
        • (2) 示例
      • 3.2 绘制任意线框网格
        • (1) 主要API
        • (2) 示例
    • 4、绘制视锥体
        • (1) 主要API
        • (2) 示例
  • 二、绘制内容跟随对象旋转
    • 1、主要API
    • 2、示例
  • 三、绘制线段射线
    • 1、绘制线段
      • 1.1 主要API
      • 1.2 示例
    • 2、绘制射线
      • 2.1 主要API
      • 2.2 示例
  • 四、绘制贴图、图标
    • 1、Gizmos绘制贴图
      • 1.1 主要API
      • 1.2 示例
    • 2、Gizmos绘制图标
      • 2.1 主要API
      • 2.2 示例
  • 专栏推荐
  • 完结

前言

1、Gizmos 基础概念

Gizmos和Handles一样,是用来让我们拓展Scene窗口的。相对于Handles,Gizmos主要用于在 Scene 视图中绘制辅助图形(如线框、图标等),而Handles主要用于编辑器工具开发,创建可交互的控制手柄(如移动、旋转手柄)。

2、Gizmos相关的生命周期函数

在继承MonoBehaviour的脚本中实现以下生命周期函数,便可以在其中使用Gizmos来进行图形图像的绘制:

2.1 OnDrawGizmos()

在每帧调用,绘制的内容随时可以在Scene窗口中看见。

private void OnDrawGizmos()
{Debug.Log("OnDrawGizmos");
}

2.2 OnDrawGizmosSelected()

仅当脚本依附的GameObject被选中时才会每帧调用绘制相关内容。

private void OnDrawGizmosSelected()
{Debug.Log("OnDrawGizmosSelected");
}

3、基本设置

设置绘制颜色(支持透明度)

Gizmos.color = Color.red;Gizmos.color = new Color(1, 0, 0, 0.5f);

一般它不会单独拿来使用,都会配合其他api绘制出不同颜色的辅助线

一、基本图形绘制

1、绘制立方体

1.1 绘制实体立方体

(1) 介绍
//实体立方体
Gizmos.DrawCube(中心点, 大小);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawCube(transform.position, Vector3.one);}
}

效果
在这里插入图片描述

1.2 绘制线框立方体

(1) 主要API
//线框立方体
Gizmos.DrawWireCube(中心点, 大小);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawWireCube(transform.position, new Vector3(2, 1, 3));}
}

效果
在这里插入图片描述

2、Gizmos绘制球体

2.1 绘制实体球体

(1) 主要API
Gizmos.DrawSphere(中心点, 半径);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawSphere(transform.position, 2);}
}

效果
在这里插入图片描述

2.2 绘制线框球体

(1) 主要API
Gizmos.DrawWireSphere(中心点, 半径);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawWireSphere(this.transform.position, 3);}
}

效果
在这里插入图片描述

3、绘制任意网格

3.1 绘制任意实体网格

(1) 主要API
Gizmos.DrawMesh(mesh, 位置, 角度);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{public Mesh mesh;private void OnDrawGizmosSelected(){Gizmos.color = Color.red;if (mesh != null) Gizmos.DrawMesh(mesh, transform.position, transform.rotation);}
}

效果
在这里插入图片描述

3.2 绘制任意线框网格

(1) 主要API
Gizmos.DrawWireMesh(mesh, 位置, 角度);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{public Mesh mesh;private void OnDrawGizmosSelected(){Gizmos.color = Color.red;if (mesh != null) Gizmos.DrawWireMesh(mesh, this.transform.position, this.transform.rotation);}
}

效果
在这里插入图片描述

4、绘制视锥体

(1) 主要API
Gizmos.DrawFrustum(绘制中心, FOV(Field of View,视野)角度, 远裁切平面, 近裁切平面, 屏幕长宽比);
(2) 示例
using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawFrustum(transform.position, 30, 50, 0.5f, 1.7f);}
}

效果
在这里插入图片描述

二、绘制内容跟随对象旋转

注意:因为Gizmos绘制图形是不能跟随对象旋转的,所以我们要自行处理

1、主要API

  • 修改Gizmos绘制前的矩阵

    Gizmos.matrix = Matrix4x4.TRS(位置, 角度, 缩放);
    
  • 还原矩阵

    Gizmos.matrix = Matrix4x4.identity
    

2、示例

using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){// 将绘制矩阵该为某个对象的,这样就可以跟着移动、旋转、缩放了Gizmos.matrix = Matrix4x4.TRS(transform.position, transform.rotation, Vector3.one);// Gizmos绘制视锥Gizmos.color = Color.red;Gizmos.DrawFrustum(transform.position, 30, 50, 0.5f, 1.7f);// 将绘制矩阵还原,以下绘制的对象不会跟随旋转Gizmos.matrix = Matrix4x4.identity;// Gizmos绘制线框立方体Gizmos.color = Color.blue;Gizmos.DrawWireCube(transform.position, new Vector3(2, 1, 3));}
}

效果
在这里插入图片描述

三、绘制线段射线

1、绘制线段

1.1 主要API

Gizmos.DrawLine(起点, 终点);

1.2 示例

using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawLine(transform.position, transform.position + Vector3.one);}
}

效果
在这里插入图片描述

2、绘制射线

2.1 主要API

Gizmos.DrawRay(起点, 方向);

2.2 示例

using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.color = Color.red;Gizmos.DrawRay(transform.position, transform.forward);}
}

效果
在这里插入图片描述

四、绘制贴图、图标

1、Gizmos绘制贴图

1.1 主要API

图片默认是反过来的

Gizmos.DrawGUITexture(new Rect(x, y, w, h), 图片信息);

1.2 示例

using UnityEngine;public class TestGizmosMono : MonoBehaviour
{public Texture texture;private void OnDrawGizmosSelected(){if (texture != null){// 注意只能在xy跟随对象移动,在z轴移动不起作用Gizmos.DrawGUITexture(new Rect(transform.position.x, transform.position.y, 160, 90), texture);}}
}

效果
在这里插入图片描述

2、Gizmos绘制图标

2.1 主要API

图标需要放置在固定文件夹中 Assets/Gizmos/
在这里插入图片描述

Gizmos.DrawIcon(Vector3.up, “图标名”);

2.2 示例

using UnityEngine;public class TestGizmosMono : MonoBehaviour
{private void OnDrawGizmosSelected(){Gizmos.DrawIcon(transform.position, "MyIcon");}
}

效果
在这里插入图片描述


专栏推荐

地址
【unity游戏开发入门到精通——C#篇】
【unity游戏开发入门到精通——unity通用篇】
【unity游戏开发入门到精通——unity3D篇】
【unity游戏开发入门到精通——unity2D篇】
【unity实战】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】
【unity游戏开发——模型篇】
【unity游戏开发——InputSystem】
【unity游戏开发——Animator动画】
【unity游戏开发——UGUI】
【unity游戏开发——联网篇】
【unity游戏开发——优化篇】
【unity游戏开发——shader篇】
【unity游戏开发——编辑器扩展】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

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

相关文章:

  • 加强网站建设考察交流舆情服务公司
  • wordpress 3.9 wpmuseo排名优化代理
  • 做设计有哪些接私活的网站国内广告联盟平台
  • 哪有做网站的搜索引擎营销简称
  • 在招聘网站做销售技巧软文代发平台
  • 陇南地网站seo网站如何快速被百度收录
  • 扬州网站建设文章百度宁波运营中心
  • 网站开发赚钱么十大接单推广平台
  • 创意设计服务是什么旺道seo工具
  • 交通部基本建设质量监督网站网站推广的6个方法是什么
  • 做网站要多少钱怎么样东莞关键词优化推广
  • 深圳企业网站制作推广运营武汉seo托管公司
  • 网站建设工作建议百度指数名词解释
  • 中国域名门户网站搜索引擎优化seo信息
  • 甘肃网站备案审核时间seo优化工具有哪些
  • 深圳app设计网站建设厦门人才网个人版
  • 重庆网站建设 吧win10优化工具下载
  • 做影视网站螺蛳粉营销策划方案
  • 深圳的网站建设公司价格网站规划
  • 如何做下载网站赚钱百度指数
  • 惠州制作公司网站seo西安
  • 耒阳住房与建设局网站湖北网站seo设计
  • 怎么提交自己的网站免费建站工具
  • 做足球采集软件和预测软件的网站百度贴吧广告投放
  • 怎么制作软件?北京网优化seo优化公司
  • 盐城网站推广哪家好今日头条新闻最新
  • 大型餐饮网站建设郑州做网站的大公司
  • android 移动网站开发详解营销背景包括哪些内容
  • 电子鲜花php网站怎么做semicircle
  • 做问卷调查用哪个网站好seo搜索引擎优化工具