(四)Unity开发Vision Pro——参考文档

4.参考文档

4.1 支持的功能和组件

4.1.1 支持的 Unity 功能和组件

大多数 Unity 组件无需修改即可在此平台上运行 - 包括大多数自定义 MonoBehaviours、动画逻辑、物理、输入处理、资产管理、AI 等。然而,需要渲染的组件需要特殊的支持。因此,一些组件在此平台上提供的功能集有所减少;其他目前不支持。下表总结了该平台上各种渲染组件支持的当前状态。

有关转换旧项目的更多信息,另请参阅将 Unity 项目移植到 PolySpatial XR

4.1.2 Unity 仿真组件/系统

在此页面中不可能列出 Unity 公开的所有系统和软件包,但下表列出了对一系列 Unity 核心功能的支持状态:

成分

地位

转换

支持的

声音的

不支持空间音频

网状过滤器

支持的

动画/动画师

支持的

二维物理

支持的

3D 物理

支持的

脚本

支持的

人工智能和导航网格

支持的

地形

实验支持

MonoBehaviours预计可以工作,但它们将取决于具体情况,具体取决于您的脚本与哪些其他组件交互。

4.1.3 渲染组件/系统

成分

地位

网格渲染器

不支持“Lighting”(阴影、GI 不支持“Probes” 立即模式下不支持此组件 不支持“Additional Settings”(动态遮挡、渲染层)

蒙皮网格渲染器

仅未优化的动画(如果模型导入检查器的装备选项卡上的优化游戏对象选项出现,则必须将其勾选。)

粒子系统

部分支持;看粒子系统以下

不支持

相机

不支持

光环

不支持

镜头光晕

不支持

线条渲染

不支持

投影仪

不支持

轨迹渲染器

不支持

视觉效果

不支持

镜头光晕

不支持

细节层次 (LoD)

不支持

遮挡区域

不支持

闭塞门户

不支持

天空盒

不支持

URP 贴花投影仪

不支持

瓷砖地图渲染器

不支持

视频播放器

支持有限

图形光线投射器

不支持

Shaderlab 着色器

不支持

后处理器

不支持

光照贴图

需要手动支持

烘焙照明

不支持

开导

不支持

光探头

需要手动支持

反射探头

不支持

树木

不支持

多雾路段

不支持

其中一些功能由于平台限制而不受支持(例如,全屏图形后处理器与共享渲染系统的想法不兼容),而其他功能则属于正在进行或计划开发的领域。

4.1.4 粒子系统

PolySpatial XR 中对粒子的支持是一项正在进行的工作。下表显示了 Unity粒子系统当前支持的特定模块和设置的支持状态:

模块

地位

排放

部分支持

形状

部分支持

生命周期内的速度

部分支持

生命周期内的极限速度

部分支持

继承速度

部分支持

整个生命周期内的力

部分支持

整个生命周期的颜色

部分支持

按速度着色

不支持

使用寿命期间的尺寸

部分支持

尺寸按速度

不支持

整个生命周期内的轮换

部分支持

按速度旋转

不支持

外力

不支持

噪音

部分支持

碰撞

部分支持

触发器

不支持

子发射器

部分支持

纹理片动画

部分支持

不支持

步道

不支持

自定义数据

不支持

渲染器

部分支持

4.1.4 用户界面(UI)

Unity UI在世界空间中工作,但屏幕空间 UI 和高级视觉功能(如遮罩、阴影等)当前无法工作。下表总结了其他 UI 功能的支持状态:

成分

地位

文本网格

支持的

画布渲染器

部分支持

精灵渲染器

支持的

文本网格专业版

部分支持
仅光栅
无自定义着色器

矩形变换

没有对尺寸的具体支持

4.1.5 最后的想法

Unity 有更多组件,但本节涵盖了普通 XR 应用程序的主要部分。一般来说,您现有的 Unity 项目可能需要移植到 PolySpatial XR。

您将需要通过编写自己的 PolySpatial XR 兼容系统或找到这些限制的解决方法来实验、研究和适应 PolySpatial XR 要求和约束,以支持您现有的功能。

4.2 PolySpatial资产支持

1.网格

RealityKit 提供了一组有限的预定义顶点格式。网格可以提供位置、法线、切线、颜色、混合权重和混合索引。Unity 将为 RealityKit 提供最多 8 个纹理坐标,但请注意,在其 MaterialX 实现中只有前两个 UV 通道可用,从而限制了额外几何数据的实用性。

由于Unity和RealityKit使用不同的坐标系,因此在系统之间传递时,一些顶点属性会被修改。针对位置、法线和切线执行惯用手交换。所有 UV 通道的 UV 都会翻转。

2.材质

有关 VisionOS 上材质和着色器支持的详细信息,请参阅PolySpatial 材质支持。

Unity ShaderGraphs

请参阅Shader Graph 支持,了解有关如何将通过 Unity ShaderGraph 定义的自定义着色器转换为 MaterialX 以与 RealityKit 互操作的详细信息。

3.纹理

Unity 在 VisionOS 上提供对 2D 纹理的支持,并利用本机纹理压缩选项。

VisionOS 的 RealityKit 不支持 3D 纹理或立方体贴图,因此用户必须根据 2D 纹理重新实现这些纹理资源。

4.渲染纹理

Unity 会将渲染目标实时复制到 RealityKit,但目前只能按速度进行有限数量的提交。引入额外的渲染目标可能会与 Unity 自己的图形缓冲区提交相冲突,从而影响整体性能。

另请注意,修改 RenderTextures 后必须手动将其标记为脏;目前,不会自动发生此类脏污,并且如果纹理未脏污,则不会将其复制到 RealityKit。

5.字体

VisionOS 支持光栅化字体和 SDF 字体,但我们强烈建议使用 SDF 字体,以确保所有观看距离下的清晰度。

4.3 材质

每个管道的几个重要标准着色器已映射到最接近的可用 RealityKit 模拟。目前的支持包括:

  • 标准 URP 着色器:Lit、Simple Lit、Unlit(+TBD - 更多即将推出)
  • 标准内置着色器:标准,(+待定 - 更多即将推出)

4.3.1 自定义着色器

可以通过 Unity ShaderGraph 为 VisionOS 创作着色器和材质。在幕后,这些着色器图被转换为 MaterialX。虽然 MaterialX 非常具有表现力,但某些 ShaderGraph 节点在 MaterialX 中没有类似物。在 ShaderGraph 编辑器中,不支持的节点将通过符号来指示#,但另请参阅ShaderGraph 支持。支持点亮和未点亮根节点。

ShaderLab、Metal 和其他基于代码的着色器不可用,因为 VisionOS 的 RealityKit 目前不公开低级着色语言。

4.3.2 无光照材质

4.3.2.1 通用渲染管线/无光照

对于 URP 未光照材质,PolySpatial 支持Base Map颜色和纹理属性以及 和OpaqueTransparent使用混合模式Alpha)曲面类型。 Alpha Clipping可能已启用;如果Threshold大于零,则不会执行混合(仅进行 alpha 测试)。

4.3.2.2 无光照/彩色

对于内置渲染器管道未点亮的颜色材质,Main Color支持该属性。

4.3.2.3 无光照/纹理

对于内置渲染器管线未点亮的纹理材质,Base (RGB)支持该纹理。

4.3.2.4 无光照/透明

对于内置渲染器管道未点亮的透明材质,Base (RGBA)支持纹理。

4.3.3 光照材质

4.3.3.1 通用渲染管线/光照

对于 URP 光照材质,颜色和纹理受到尊重,选项和属性Base Map也是如此。Render FaceSurface Inputs TilingOffset

Specular工作流程中并Specular Highlights启用时,PolySpatial 支持Specular Map关联颜色的纹理或(灰度)强度。在Metallic工作流程中,PolySpatial 支持Metallic Map纹理或强度并遵循Specular Highlights切换。

对于这两个工作流程,Smoothness都会考虑强度,但Metallic Alpha不支持纹理通道(例如,来自 )的平滑度。 Normal Map支持 [^1],但不支持正常比例。同样,Occlusion Map支持,但不支持遮挡强度。 可以指定Emission颜色或纹理;如果两者都给定,则颜色会降低为灰度并充当乘数。

支持 和 (使用混合模式)曲面Opaque类型TransparentAlphaTransparent模式下,该Preserve Specular标志受到尊重。 Alpha Clipping可能已启用;如果Threshold大于零,则不会执行混合(仅进行 alpha 测试)。

4.3.3.2 通用渲染管线/简单光照

对于 URP 简单光照材质,支持的选项与光照材质相同,只是没有Metallic属性且没有Occlusion Map

4.3.3.3 通用渲染管线/复杂光照

对于 URP 复杂光照材质,支持的选项与光照材质相同,只是添加了选项Clear Coat及其Mask属性Smoothness

4.3.3.4 标准材质

内置标准光照材质的支持方式与Metallic工作流程中 URP 光照材质的支持方式大致相同。纹理Albedo和颜色同样受到尊重,Metallic贴图或强度和Smoothness强度(但不包括平滑度Source)也是如此。 支持Normal Map[^1] 和(但不支持其相应的强度),颜色或纹理、和以及标志也是如此。支持所有渲染模式:、、和。OcclusionEmissionMain Maps TilingOffsetSpecular HighlightsOpaqueTransparentFadeCutout

4.3.3.5 标准材质(镜面设置)

内置光照镜面材质的支持方式与Specular工作流程中 URP 光照材质的支持方式相同。纹理Albedo和颜色也受到类似的尊重,Specular地图或(灰度)强度和Smoothness强度(但不是平滑度Source)也是如此。 支持Normal Map[^1] 和(但不支持其相应的强度),颜色或纹理、和以及标志也是如此。支持所有渲染模式:、、和。OcclusionEmissionMain Maps TilingOffsetSpecular HighlightsOpaqueTransparentFadeCutout

[^1]:目前,非着色器图形材质中使用的法线贴图必须作为纹理Default类型(即,而不是类型Normal map)导入,并且sRGB (Color Texture)未选中该选项。

4.3.4 特殊用途材质

4.3.4.1 TextMeshPro/距离场

4.3.4.2 TextMeshPro/Mobile/距离场

TMP 距离场材质将转换为仅遵循Face ColorFace Texture属性的着色器图形材质。

4.3.4.3 用户界面/默认

UI 默认材质将转换为尊重色调和纹理属性的无光照材质。

4.3.4.4 通用渲染管线/粒子/无光照

URP 未光照粒子材质将转换为尊重Base Map纹理和颜色的未光照材质以及Surface Type.

4.3.4.5 AR/基本遮挡

4.3.4.6 AR/遮挡

遮挡材质转换为基本等效材质

4.3.5 着色器图形材质

着色器图可以使用内置或 URP 目标以及 Unlit 或 Lit 材质。支持所有输出块。有关着色器图支持的更多信息,请参阅着色器图转换说明

4.4 ShaderGraph支持

您可以使用 Unity ShaderGraph 为visionOS 创建自定义材质。这些将在 Unity 中以其编译形式进行预览,但会转换为 MaterialX 以在模拟器和设备上显示。虽然 MaterialX 非常具有表现力,但某些 ShaderGraph 节点在 MaterialX 中没有类似物。在 ShaderGraph 编辑器中,不支持的节点将通过#符号的存在来指示。

出于技术、安全和隐私原因,visionOS 不允许在使用 AR 直通时运行基于 Metal 的着色器或其他低级着色语言。

4.4.1 VisionOS 中的 Shader Graph 限制

下表显示了VisionOS 的 PolySpatial 中Shader Graph 节点的当前支持状态,包括支持的节点列表及其各种注意事项。

如果此处未出现节点,则表示当前不支持该节点。请注意,随着我们继续添加对更多节点的支持,此列表将会更新。

4.4.2 美术

部分

节点

笔记

调整

对比

颜色可能不一致。

色调

颜色可能不一致。

饱和

颜色可能不一致。

混合

混合

支持差值、减法、加深、减淡、线性减淡、叠加、滤色、覆盖、求反、乘法

筛选

抖动

- 需要模拟屏幕空间位置。
- 由于 curvelookup 节点定义存在错误,目前无法工作。

普通的

正常混合

支持

从高度看正常

支持

正常重建 Z

支持

正常强度

支持

正常拆包

支持

公用事业

色彩空间转换

不一致 - 未实现线性转换。

4.4.3 通道

部分

节点

笔记

渠道

结合

支持

分裂

支持

调配

支持

4.4.4 输入

Custom Interpolators仅限于此特定/名称类型:

  • Color:矢量4
  • UV0:矢量2
  • UV1:矢量2
  • UserAttribute:矢量4

部分

节点

笔记

基本的

布尔值

支持

颜色

支持

持续的

支持

整数

支持

滑块

支持

时间

支持

漂浮

支持

向量2

支持

矢量3

支持

矢量4

支持

几何学

双切向量

切线和视图空间选项不是标准的。

法向量

切线和视图空间选项不是标准的。

位置

切线和视图空间选项不是标准的。

屏幕位置

支持

切向量

切线和视图空间选项不是标准的。

紫外线

支持

顶点颜色

支持

顶点ID

支持

坡度

坡度

支持

样本梯度

支持

灯光

主光方向

支持

矩阵

不起作用(由于常量矩阵节点定义中的错误)

不起作用(由于常量矩阵节点定义中的错误)

矩阵构建

支持

变换矩阵

切线和视图空间选项不是标准的。

场景

相机

PositionDirection支持的输出(非标准)。

目的

支持

场景深度

平台不允许访问深度缓冲区,这只是剪辑或视图空间中的相机距离。

屏幕

支持

质地

2D 纹理示例

支持

示例纹理 2D LOD

支持

采样器状态

MirrorOnce不支持换行模式。

纹理 2D 资源

支持

纹理尺寸

支持

4.4.5 数学

部分

节点

笔记

先进的

绝对

支持

指数

支持

长度

支持

日志

支持

模块

支持

否定

支持

标准化

支持

基本的

添加

支持

划分

支持

支持

力量

支持

平方根

支持

减去

支持

插值法

逆向线性化

支持

莱普

支持

平滑步

支持

矩阵

矩阵行列式

如果使用 Matrix2,将标记为不受支持。

矩阵转置

如果使用 Matrix2,将标记为不受支持。

范围

夹钳

支持

分数

支持

最大限度

支持

最低限度

支持

一减

支持

随机范围

支持

重新映射

支持

饱和

支持

圆形的

天花板

支持

地面

支持

圆形的

支持

符号

支持

支持

三角学

反余弦

支持

反正弦

支持

反正切

支持

反正切2

支持

余弦

支持

他的

支持

切线

支持

向量

叉积

支持

距离

支持

点积

支持

菲涅耳效应

支持

反射

支持

绕轴旋转

支持

转换

有些空间是模拟的,未在测试中涵盖。

海浪

三角波

支持

4.4.6 程序

部分

节点

笔记

噪音

梯度噪声

- 无法确定目标平台噪声函数的行为是否相同。
- 频率当前关闭(比例映射到幅度而不是频率)。

沃罗诺伊

- 无法确定目标平台噪声函数的行为是否相同。

形状

椭圆

支持

4.4.7 Utility

部分

节点

笔记

Utility

预览

支持

分体式左轮

特定于 PolySpatial 的非标准着色器图形节点。实现 splitlr 函数,如中所述材质X规格.

逻辑

分支

支持

比较

支持

或者

支持

4.4.8 UV

部分

节点

笔记

紫外线

翻页书

支持

旋转

仅支持度数。

平铺和偏移

支持

三平面

支持

4.5 输入

在 VisionOS 上有两种捕获用户意图的方法:3D 触摸和骨骼手跟踪。在独占模式下,开发人员还可以访问头部跟踪数据。

4.5.1 3D Touch 和 TouchSpace

在有界和无界体积中,当用户使用输入碰撞器查看对象并执行“捏”(拇指和食指一起触摸以“点击”或“拖动”)手势时,就会提供3D触摸输入。PolySpatialTouchSpace输入设备向开发人员提供该信息。如果用户按住捏合手势,则会启动拖动,并向应用程序提供相对于原始起点的“移动”更新。如果对象在触手可及的范围内(无需特定注视),用户还可以直接在对象上执行捏合手势。

3D触摸事件通过PolySpatialTouchSpace 输入设备公开,该设备构建在封装之上com.unity.inputsystem,也称为新输入系统。绑定到触摸屏设备的现有操作应该适用于 2D 输入。对于 3D 输入,用户可以将操作绑定到特定的PolySpatialTouchSpace设备以获得 3D 位置向量。

任何可以接收 3D 触摸事件的对象都需要将碰撞遮罩设置为 PolySpatial 输入层的碰撞器。仅报告对这些事件的接触。目前,平台不会在点击手势开始时提供凝视光线。

4.5.2 骨骼手追踪

骨骼手部跟踪由XR Hands 中的手部子系统提供。使用场景中的手部可视化器组件,用户可以显示玩家手部的蒙皮网格或每关节几何体,以及基于手部物理交互的物理对象。用户可以直接针对手子系统编写 C# 脚本来推断骨骼之间的距离和关节角度。Hand Visualizer组件的代码可在XR Hands Package中找到,并且可以作为利用Hand Subsystem 代码的良好起点。

4.5.3 头部追踪

ARKit 通过VisionOS Package提供头部跟踪。这可以使用移动 AR 的创建菜单在场景中进行设置:创建 > XR > XR Origin (Mobile AR)。位姿数据来自devicePosition [HandheldARInputDevice]deviceRotation [HandheldARInputDevice]的新输入系统。

4.6 自定义 PolySpatial 组件

4.6.1 体积相机

PolySpatial 提供了一个名为 的新 Unity 组件,用于Volume Camera与visionOS 环境提供的模式和体积进行交互。体积相机与常规 Unity 相机类似,因为它们指示用户应该看到哪些内容,但不同之处在于它们捕获 3D 内容而不是 2D 图像。

将 VolumeCamera 组件添加到场景中的对象,以指定向用户呈现的内容以及内容的呈现方式。保存 VolumeCamera 的 GameObject 的变换(例如比例)会影响向用户显示的体积大小。VolumeCamera 的编辑器内预览范围可以帮助可视化应渲染的内容。

通常,然后通过相应的“体积渲染器”将该规范体积映射到主机体积渲染器自己的不同OBB,将该内容显示在主机平台上。效果是体积相机边界内的 3D 内容被变换、旋转、拉伸和/或挤压以填充体积渲染器的边界。

Mode设置为 时Unbounded,一切都与典型的 Unity 相机类似,只是体积相机和体积渲染器各自定义了无界 3 空间而不是有界

VolumeCamera组件公开以下属性

财产

描述

模式

指定音量的模式。

    有界

体积相机具有由其尺寸定义的有限边界。任意数量的体积相机都可以处于“有界”模式。

    无界

体积相机捕获所有内容,无论位置如何,并且尺寸字段被禁用和忽略。对于给定应用程序,在给定时间只能有一台卷相机处于无界模式。将体积相机的模式设置为无界相当于请求您的应用程序切换到“独占”模式。

方面

定义相机边界框的(未缩放)大小,该边界框以 VolumeCamera变换的位置为中心。世界空间维度是通过维度和变换比例的元素相乘来计算的。

剔除掩码

定义 Unity 图层的位掩码。体积相机只会显示属于指定图层的对象。对于典型的 Unity 相机和 CullingMask 工作流程,这可用于指定每个单独的体积相机可见的对象。例如,库存体积相机可用于通过定义“库存”图层来渲染一个体积内的 3D 库存,而“小地图”图层可用于渲染第二体积内整个场景的鸟瞰图。

4.6.2 PolySpatial视频组件

为了支持 VisionOS 上的视频内容,PolySpatial 目前包含一个自定义的PolySpatialVideoComponent我们预计最终会支持股票视visionOS提供关键视频功能。要使用它,请将 设置Target Material Renderer为频组件,但该组件在此期间为GameObjectMeshRenderer显示视频的资源,并设置Clip为指向要播放的视频资源,例如.mp4

当前系统的一个限制是,必须手动将剪辑复制到../StreamingAssets/PolySpatialVideoClips/文件夹中才能在 VisionOS 上实现完整功能。如果该文件夹不存在,则创建该文件夹。确保剪辑不仅移入此文件夹,而且复制到其中,以便有它的两个实例。

PolySpatialVideoComponent组件公开以下属性:

财产

描述

目标材质渲染器

引用应在其上渲染视频的 MeshRenderer。视频将覆盖该 MeshRenderer 上的当前材质。

夹子

要播放的视频资源。

正在循环

当播放到达剪辑末尾时视频是否应重复。

醒着玩

视频是否应在Awake()调用时开始播放。

沉默的

当 true 时,音频播放被抑制;如果为 false,则遵循体积值。

体积

剪辑的当前音频播放音量,范围在 0 到 1 之间。

4.6.3 PolySpatial悬停效果

向平台提供提示,以在用户将鼠标悬停在此对象上时应用系统悬停效果。这通常用于向用户提供该对象是交互式的视觉提示。这种效果可以通过凝视或用手戳来触发。该效果应用于正在悬停的对象,而不是正在悬停的对象。

出于隐私原因,visionOS 不允许应用程序直接访问用户的视线。然而,在视觉上突出显示用户正在注视的对象通常是有帮助的,以便暗示如果用户执行捏合手势,哪个对象将接收输入。为此,Unity PolySpatialPolySpatialHoverEffect为visionOS 提供了一个组件,可以将其添加到可能通过注视接收输入的游戏对象中。该组件的存在指示主机平台 (RealityKit) 在用户的凝视光线与其相应的碰撞体相交时向GameObject'应用着色效果。MeshRenderer

必须存在所有三个组件才能实现效果: 指示PolySpatialHoverEffectGameObject显示悬停,Collider组件定义凝视光线投射的碰撞形状,提供MeshRenderer将应用着色效果的网格和几何体。

4.7 PolySpatial Tooling

4.7.1 日志

PolySpatial 日志记录消息按类别和级别进行标记,以便于更有针对性的调试。从 Unity 编辑器的主菜单中,选择窗口”>“PolySpatial”>“日志记录”以打开“PolySpatial 日志记录”窗口。从这里,您可以切换启用哪些类别,是否应生成堆栈跟踪,以及对于启用堆栈跟踪的类别,哪些级别将生成跟踪。

4.7.2 多空间统计

首先,通过启用项目设置 > PolySpatial > 启用统计来启用 PolySpatial 统计跟踪。然后可以在 Unity Editor 主菜单中的Window > PolySpatial > PolySpatial Statistics下找到该编辑器。在播放模式下,此编辑器显示时间的直方图跟踪、跟踪的对象以及已复制到 PolySpatial 主机的资源。

4.7.3 调试链接

为了便于在播放模式下进行调试,PolySpatial 运行时添加了DebugPolySpatialGameObjectLinks组件,以将每个模拟游戏对象连接到Unity SceneGraph 中其相应的支持游戏对象。

4.7.4 资产查找器

在播放模式下,AssetFinder 会跟踪已复制到主机渲染器的所有资源。这对于追踪资产链接非常有用。该编辑器可以在 Unity Editor 主菜单中的PolySpatial > Asset Finder下找到。

4.7.5 录音与回放

要录制 PolySpatial 播放模式会话,请转至Windows > PolySpatial > 录制和播放。按Record进入播放模式并开始录音。正常进行交互并提供输入,然后退出播放模式以停止录制。新文件将添加到列表中;您可以通过选择该录音然后按Play按钮来重播该录音。新输入不会被处理,但原始录音中编码的输入将重播。

录音保存在Library/PolySpatialRecordings任何使用相同版本 PolySpatial 软件包的机器上,并且可以在任何机器上播放。除此之外,这些文件可以提交给 Unity 支持,使我们能够调试许多特定于项目的问题,而无需项目的完整 zip 文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/92532.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV-Python中的图像处理-霍夫变换

OpenCV-Python中的图像处理-霍夫变换 霍夫变换霍夫直线变换霍夫圆环变换 霍夫变换 霍夫(Hough)变换在检测各种形状的技术中非常流行,如果要检测的形状可以用数学表达式描述,就可以是使用霍夫变换检测它。即使要检测的形状存在一点破坏或者扭曲也是可以使…

C++——oo的魅力之多态

文章目录 多态的概念多态的定义和实现多态的构成条件虚函数重写的两个例外协变(基类和派生类虚函数返回值类型不同)析构函数的重写(基类和派生类析构函数名字不同) c11 override 和 final关键字 重载,重写(覆盖), 隐藏(重定义)对比抽象类(纯虚函数)多态的…

docker安装及优化详解

目录 一、部署20版的docker 1.1 安装依赖包 1.2 设置阿里云镜像源 1.3 安装docker-ce 社区版 1.4 关闭增强机制 1.5 开启服务 1.6 设置镜像加速 1.7 网络优化 二、linux 系统中的命令 记10条(cd ls pwd mv cp ) 2.1 查询docker 版本 2.2 搜索镜像 2.3 技能点 2.…

实例038 设置窗体在屏幕中的位置

实例说明 在窗体中可以设置窗体居中显示,本例通过设置窗体的Left属性和Top属性可以准确设置窗体的位置。运行本例,效果如图1.38所示。 技术要点 设置窗体在屏幕中的位置,可以通过设置窗体的属性来实现。窗体的Left属性表示窗体距屏幕左侧的…

C语言 字符指针

1、介绍 概念: 字符指针,就是字符类型的指针,同整型指针,指针指向的元素表示整型一样,字符指针指向的元素表示的是字符。 假设: char ch a;char * pc &ch; pc 就是字符指针变量,字符指…

Linux安装Docker

一、Docker系统版本介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相…

常识判断

头像 carrin~👻 产品经理 225/753 75/302.5 30/152 15/101.5 等差数列,所以最后一个是10/101 收起 60 回复 发布于 2020-02-18 16:33

学习篇之React Fiber概念及原理

什么是React Fibber? React Fiber 是 React 框架的一种底层架构,为了改进 React 的渲染引擎,使其更加高效、灵活和可扩展。 传统上,React 使用一种称为堆栈调和递归算法来处理虚拟 DOM 的更新,这种方法在大型应用或者…

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …

用于弥散加权MRI的关节各向异性维纳滤光片研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

CentOS系统环境搭建(三)——Centos7安装DockerDocker Compose

centos系统环境搭建专栏🔗点击跳转 Centos7安装Docker&Docker Compose 使用 yum 安装Docker 内核 [rootVM-4-17-centos ~]# uname -r 3.10.0-1160.88.1.el7.x86_64Docker 要求 CentOS 系统的内核版本高于 3.10 更新 yum yum update安装需要的软件包&#x…

为什么商业基础软件需要开源

Bytebase 本身是一家商业软件公司,而作为最核心资产的代码从 Day 0 却是开源的。同时我们还是 star-history.com 的运营者,大家在各种开源渠道会看到它生成的图: 一直以来,常会被别人问起的一个问题,就是为什么 Byteba…

使用维纳过滤器消除驾驶舱噪音(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

QT QLCDNumber 使用详解

本文详细的介绍了QLCDNumber控件的各种操作,例如:新建界面、源文件、设置显示位数、设置进制、设置外观、设置小数点、设置溢出、显示事件、其它文章等等操作。 实际开发中,一个界面上可能包含十几个控件,手动调整它们的位置既费时…

Java:PO、VO、BO、DO、DAO、DTO、POJO

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Java:PO、VO、BO、DO、DAO、DTO、POJO PO持久化对象(Persistent Object) PO是持久化对象,用于表示数据库中的实体或表…

C语言 棱形图案

目录 一、问题分析 上部分: 下部分: 二、代码演示 一、问题分析 如上图所示,我们可以将棱形进行拆解,分为上下两个部分。 上部分: 通过观察,我们得到 单边空格数 上半部分总行数 - 行数 - 1 …

WebRTC音视频通话-WebRTC本地视频通话使用ossrs服务搭建

iOS开发-ossrs服务WebRTC本地视频通话服务搭建 之前开发中使用到了ossrs,这里记录一下ossrs支持的WebRTC本地服务搭建。 一、ossrs是什么? ossrs是什么呢? SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTM…

vue基础知识五:请描述下你对vue生命周期的理解?在created和mounted这两个生命周期中请求数据有什么区别呢?

一、生命周期是什么 生命周期(Life Cycle)的概念应用很广泛,特别是在政治、经济、环境、技术、社会等诸多领域经常出现,其基本涵义可以通俗地理解为“从摇篮到坟墓”(Cradle-to-Grave)的整个过程在Vue中实…

pg 简单查询语句

语法: 搜索语句: select (distinct(去重)) 内容(*代表所有) as 别名 from 表 注释: -- 快速查询:select 内容 AS 别名 没有表一般当做计算器来用

清风数学建模——拟合算法

拟合算法 文章目录 拟合算法概念 确定拟合曲线最小二乘法的几何解释求解最小二乘法matlab求解最小二乘法如何评价拟合的好坏计算拟合优度的代码 概念 在前面的篇幅中提到可以使用插值算法,通过给定的样本点推算出一定的曲线从而推算出一些想要的值。但存在一些问题…