CocosCreater 教程(中)

2023-10-29

1.图形渲染

1.1 渲染管线

RenderPipeline 用于控制场景的渲染流程,包括光照管理、物体剔除、渲染物体排序、渲染目标切换等。

引擎默认使用 前向渲染管线,前向渲染管线的执行流程如下图所示:

1.2 相机

游戏中的相机是用来捕捉场景画面的主要工具。我们通过调节相机相关参数来控制可视范围的大小,在 Cocos Creator 编辑器中相机呈如下表示:

相机的可视范围是通过 6 个平面组成一个 视锥体(Frustum) 构成,近裁剪面(Near Plane) 和 远裁剪面(Far Plane) 用于控制近处和远处的可视距离与范围,同时它们也构成了视口的大小。

1.3 光照

Creator 中光照的实现模拟了光对真实世界的影响。在场景中添加光源可以使场景产生相应的光照和阴影效果,获得更好的视觉效果。

1.色温(ColorTemperature)

真实世界环境中,一天不同时段的环境色温也会动态发生变化:

2.平行光

平行光又称为方向光(Directional Light),是最常用的一种光源,模拟了无限远处的光源发出的光线,常用于实现太阳光。

3.球面光

球面光会向所有方向均匀地发散光线,接近于蜡烛产生的光线。物体受到的光照强度会随着跟光源距离的增大而减弱,当距离超过设置的光照影响范围,则光照强度为 0。

在实际应用中可用于模拟火把、蜡烛、灯泡等光源,照亮四周一定距离内的环境。

4.聚光灯

聚光灯 是由一个点向一个方向发射一束锥形光线,类似于手电筒或舞台照明灯产生的光线。

5.环境光

在生活中,错综复杂的光线与凹凸不平的物体表面相互反射,使得整个环境都被照亮,仿佛被一层光均匀笼罩,这个光一般称为 环境光,也称为 漫射环境光

6.阴影

在 3D 世界中,光与影一直都是极其重要的组成部分,它们能够丰富整个环境,质量好的阴影可以达到以假乱真的效果,并且使得整个世界具有立体感。

7.光照贴图

烘焙系统会对光源稳定的静态物体所受到的光照和阴影等进行预先计算,计算产生的结果存放在一张纹理贴图中,这张贴图我们称之为 光照贴图

生成的光照贴图 Creator 会在运行时自动处理并使用。在光源固定的场景中,使用光照贴图代替实时的光照计算,可以减少资源消耗,从而提高场景运行效率。

1.4 网格(Meshes)

网格 一般用于绘制 3D 图像。Creator 提供了以下网格渲染器组件来渲染基础网格、蒙皮网格等,从而将模型绘制显示出来:

  • MeshRenderer:网格渲染器组件,用于渲染基础的模型网格。
  • SkinnedMeshRenderer:蒙皮网格渲染器组件,用于渲染蒙皮模型网格。
  • SkinnedMeshBatchRenderer:批量蒙皮网格渲染器组件,用于将同一个骨骼动画组件控制的所有子蒙皮模型合并渲染。

模型若要应用于实际的物理碰撞中,实现类似凹凸不平的路面效果,可以使用网格碰撞组件,会根据模型形状生成碰撞网格。详情请参考 使用网格碰撞

1.5 纹理(Textures)

纹理是一张可显示的图像,或一段用于计算的中间数据,通过 UV 坐标映射到渲染物体表面,使之效果更为丰富精彩且真实。Creator 中纹理的应用包括以下几种:

  • 用于 2D UI 渲染,参考 SpriteFrame

  • 用于 3D 模型渲染,需要在材质中指定 纹理贴图资源,才能将其渲染映射到网格表面。纹理贴图还支持在 导入图像资源 时将其切换为 立方体贴图 或 法线贴图

  • 用于粒子系统,使粒子表现更丰富。与 3D 模型一样,纹理在粒子系统中的应用也依赖于材质。

  • 用于地形渲染,参考 地形系统

Cocos Creator 支持导入多种格式的图片(具体见下表),但是在实际游戏运行中,我们不建议使用原始图片作为资源来加载。比如在手机平台上可能只需要原图 80% 或者更少的画质,又或者是没有使用到透明通道的 .png 可以将其转换成 .jpg,这样可以减少很大一部分图片的存储空间。

1.6 材质

Cocos Creator 通过 材质 来描述物体外观。它们在光照情况下所呈现出来的明暗、光点、光反射、光散射等效果,都是通过 着色器 来实现的。而材质则是着色器的数据集(包括纹理贴图、光照算法等),方便进行可视化调整。

材质(Material)资源可以看成是着色器资源(EffectAsset)在场景中的资源实例。

创建代码示例:

const mat = new Material();
mat.initialize({
    // 通过 effect 名指定材质使用的着色器资源
    effectName: 'pipeline/skybox',
    defines: {
        USE_RGBE_CUBEMAP: true
    }
});

对任意渲染器组件,可以在脚本模块中进行程序化访问,代码示例如下:

// 通过网格渲染器组件(MeshRenderer、SkinnedMeshRenderer、SkinnedMeshBatchRenderer)可访问 3D 物体的材质
let renderable = this.getComponent(MeshRenderer);

// 获取索引为 0 的材质
let material = renderable.getMaterial(0)

// 设置索引为 0 的材质
renderable.setMaterial(mat, 0);

let sprite = this.node.getComponent(Sprite)

// 获取 2D 渲染器组件的自定义材质
let customMaterial = sprite.customMaterial;

// 设置 2D 渲染器组件的自定义材质
sprite.customMaterial = mat;

// 获取和设置粒子发射器的材质
let particleSystem = this.getComponent(ParticleSystem);
const material = particleSystem.material;
particleSystem.material = material;

// 设置和获取粒子拖尾材质
const trailMaterial = particleSystem.renderer.trailMaterial;
particleSystem.renderer.trailMaterial = trailMaterial;

1.7 着色器(Cocos Effect)

在 资源管理器 面板中点击左上角的 + 号按钮并选择 着色器(Effect) 便可创建新的着色器资源。

在脚本中使用着色器时,需要在 属性检查器 面板中着色器的 Shaders 属性里找到相应着色器,然后通过其唯一字符串名称来加载使用。

1.代码示例:

resources.load("custom-effect", EffectAsset, ()=>{
    const effectAsset = EffectAsset.get("../resources/custom-effect");
    const material = new Material();
    material.initialize({ effectName: "../resources/custom-effect" });
})

注意:从 3.6 开始,当你在脚本中使用引擎内置着色器时,你也需要在 属性检查器 面板中着色器的 Shaders 属性里找到相应着色器,然后通过其唯一字符串名称来加载使用。以 Standard 着色器为例,代码示例如下:

// 获取内置 Standard 着色器 ‘builtin-standard.effect’
const effect = EffectAsset.get('builtin-standard');

const mat = new Material();

// 使用内置基于物理的光照着色器(PBR)‘builtin-standard.effect’ 初始化材质
mat.initialize({ effectName: "builtin-standard" });

2.语法框架

Cocos Effect 通常由两个部分组成:

  • CCEffect:用于声明渲染技术(Technique)、渲染过程(Pass)、渲染状态、材质参数等属性。
  • CCProgram:用于声明顶点着色器(Vertex Shader)和片元着色器(Fragment Shader)代码片段。

3.基于物理的光照模型(Physically Based Rendering - PBR)

Cocos Creator 从 v3.0 开始提供了基于物理渲染(PBR)的光照着色器:builtin-standard.effect。PBR 根据现实中光线传播原理和能量守恒定律,模拟出近似于真实物理光照的效果。

PBR 的优势在于:

  • 真实性:基于物理原理的渲染让最终效果更加逼真
  • 一致性:美术制作流程规范化、制作标准统一化
  • 复用性:模型材质与光照环境分离,在所有 PBR 项目中均可复用

1.8 天空盒

游戏中的天空盒是一个包裹整个场景的立方体,可以很好地渲染并展示整个场景环境,在基于 PBR 的工作流中天空盒也可以贡献非常重要的 IBL 环境光照。

1.开启天空盒

在 层级管理器 中选中场景根节点,然后在 属性检查器 的 Skybox 组件中勾选 Enabled 属性即可开启天空盒。

天空盒的环境贴图资源支持:

  1. TextureCube 类型的单张贴图,可在 Creator 中设置。

    • Cube Cross 图片

    • PNG 或 HDR 格式的图片

  2. 图片文件形式的 CubeMap(立方体贴图)

  3. 在 Creator 中手动创建的由六张 texture 类型的贴图组合而成的 CubeMap

2.天空盒材质

天空盒材质默认使用的着色器是 资源管理器 -> internal/pipeline/skybox.effect

 1.9 全局雾

全局雾用于在游戏中模拟室外环境中的雾效果。

全局雾的类型目前包括 线性雾指数雾指数平方雾层雾 四种。

层雾(Layered)

层雾(Layered)平行于水平面,具有一定的高度。可在场景世界坐标系垂直方向上的任一位置设定层雾的顶部,以此来确定雾的高低。

2.2D 对象

区别于 3D 模型对象,我们将不涉及模型的图片渲染体统称为 2D 渲染对象。

2.1 渲染节点排序

UI 的渲染排序采用的是一个深度优先的排序方式。

排序是一个很简单的功能,但是最终的呈现却是根据不同平台提供的渲染能力来的。因此,在这里说明一下,如果遇到了 UI 渲染出错,花屏,闪屏等现象,首先要检查的就是场景里所有相机(Camera 和 Canvas)的 ClearFlag,确保 场景里必须有一个相机要执行 Solid_Color 清屏操作

具体如何设置 ClearFlag,可参考以下几种情况:

  • 如果场景中只有一个 UI Canvas 或者 3D Camera,那么 ClearFlag 属性设置为 Solid_Color
  • 如果场景中包含 2D 背景层、3D 场景层、 2D UI 层,则:

    • 2D 背景层:ClearFlag 属性设置为 Solid_Color
    • 3D 场景层:ClearFlag 属性设置为 Depth_Only
    • 2D UI 层:若有模型,ClearFlag 属性设置为 Depth_Only 以避免出现模型闪屏或者穿透的情况。若没有模型,ClearFlag 属性可设置为 Dont_Clear 或 Depth_Only

2.2 渲染组件

1.Sprite 

Sprite(精灵)是 2D/3D 游戏最常见的显示图像的方式

Sprite 支持以下几种渲染模式:

  • 普通模式(Simple):根据原始图片资源渲染 Sprite,一般在这个模式下我们不会手动修改节点的尺寸,来保证场景中显示的图像和美术人员生产的图片比例一致。

  • 九宫格模式(Sliced):图像将被分割成九宫格,并按照一定规则进行缩放以适应可随意设置的尺寸(size)。通常用于 UI 元素,或将可以无限放大而不影响图像质量的图片制作成九宫格图来节省游戏资源空间。详细信息请阅读 使用 Sprite 编辑器制作九宫格图像 一节。

  • 平铺模式(Tiled):当 Sprite 的尺寸增大时,图像不会被拉伸,而是会按照原始图片的大小不断重复,就像平铺瓦片一样将原始图片铺满整个 Sprite 规定的大小。

  • 填充模式(Filled):根据原点和填充模式的设置,按照一定的方向和比例绘制原始图片的一部分。经常用于进度条的动态展示。

2.Label 

Label 用来显示一段文字,文字可以是系统字体,TrueType 字体、BMFont 字体或艺术数字。

3.Mask(遮罩)

Mask 用于规定子节点可渲染的范围,默认带有 Mask 组件的节点会使用该节点的约束框(也就是 属性检查器 中 Node 组件的 ContentSize 规定的范围)创建一个矩形渲染遮罩,该节点的所有子节点都会依据这个遮罩进行裁剪,遮罩范围外的将不会渲染。

4.Graphics 

Graphics 组件提供了一系列绘画接口,这些接口参考了 Canvas 的绘画接口来进行实现。

5.RichText

RichText 组件用来显示一段带有不同样式效果的文字,可以通过一些简单的 BBCode 标签来设置文字的样式。目前支持的样式有:颜色(color)、字体大小(size)、字体描边(outline)、加粗(b)、斜体(i)、下划线(u)、换行(br)、图片(img)和点击事件(on),并且不同的 BBCode 标签是可以支持相互嵌套的。

6.UIStaticBatch

UI 静态合批组件是一个提升 UI 渲染性能的组件,脚本在初始化当前帧渲染的过程中会收集该 UI 节点树下的所有渲染数据(除了模型、Mask 和 Graphics),存储为一个静态的 IA 渲染数据。并在后续的渲染流程中使用固定数据进行渲染,不再遍历其节点树,此后的坐标变换将不再生效。

需要修改静态数据的时候,可以调用 markAsDirty 接口来重新触发渲染数据收集标记。

通过脚本代码开启静态合批

import { _decorator, Component } from 'cc';
const { ccclass, property } = _decorator;

@ccclass("example")
export class example extends Component {
    start(){
        const uiStatic = this.node.getComponent(UIStaticBatch);
        // 选择你要开始静态合批的时机,调用此接口开始静态合批
        uiStatic.markAsDirty();
    }
}

7.Spine Skeleton

Spine Skeleton 组件支持 Spine 官方工具导出的数据格式,并对 Spine(骨骼动画)资源进行渲染和播放。

Spine 顶点效果

顶点效果只有当 Spine Skeleton 组件的 Animation Cache Mode 属性设置为 REALTIME 模式时有效。

Spine 挂点

在使用骨骼动画时,经常需要在骨骼动画的某个部位上挂载节点,以实现节点与骨骼动画联动的效果。

星星挂在龙的尾巴上,并随着龙的尾巴一起晃动。

Spine 碰撞检测

通过 Spine 挂点功能可以对骨骼动画的某个部位做碰撞检测。

8.DragonBones ArmatureDisplay

ArmatureDisplay 组件可以对 DragonBones(龙骨)资源进行渲染和播放。

9.TiledMap

TiledMap(地图)用于在游戏中显示 TMX 格式的地图。

10.MotionStreak(拖尾)

MotionStreak(拖尾)是运动轨迹,用于在游戏对象的运动轨迹上实现拖尾渐隐效果。

3.动画系统

Cocos Creator 内置了通用的动画系统用以实现基于关键帧的动画。

3.1 动画剪辑(Animation Clip)

包含了动画数据的资源,可复用。动画剪辑可以通过 动画编辑器 产出,或者通过某些已经包含了骨骼动画的外部资源导入。

3.2 骨骼动画

导入带有动画文件的 模型资源 后,若模型网格中带有蒙皮信息,在使用模型时,SkeletalAnimation 组件便会自动添加到模型节点上。

1.挂点系统

如果需要将某些外部节点挂到指定的骨骼关节上,使其在动画过程中随骨骼关节一起运动变换,需要使用骨骼动画组件的 挂点(Socket)系统

2.骨骼动画系统

Creator 提供了 预烘焙骨骼动画 和 实时计算骨骼动画 两套系统,针对不同方向的需求,分别优化。

这两套系统的唯一开关是 SkeletalAnimation 组件中的 useBakedAnimation 属性,运行时也可以无缝切换。

预烘焙骨骼动画系统

这个系统的压倒性目的是性能,因此部分表现力的牺牲被认为是可以接受的。

实时计算骨骼动画系统

这个系统的压倒性目的是表现力,确保所有细节的正确显示,以及完整的程序控制能力。

两套系统的选择与最佳实践

目前所有模型资源在导入后,Prefab 中全部默认使用 预烘焙系统,以达到最佳性能。建议只在明显感到预烘焙系统的表现力无法达标的情况下,再使用 实时计算系统

3.3 Marionette 动画系统

Cocos Creator 3.4 引入了一个全新的 Marionette 动画系统,通过状态机控制对象的骨骼动画,实现了自动化、可复用的动画流程。

为了跟 v3.4 之前的动画系统区分,我们将新的动画系统称为木偶(Marionette)动画系统,称 v3.4 之前使用的动画系统为旧式动画系统。两种动画系统都可以正常使用,但不支持同时使用。主要的区别在于:

  • 旧式动画系统:以动画组件、动画状态为核心,手动简单控制动画剪辑的播放暂停等。动画剪辑支持使用通过编辑器创建的 Animation Clip 和外部导入的骨骼动画(.fbx 、 .gltf 和 .glb)。

  • Marionette 动画系统:以动画控制器组件、动画图为核心,按照事先搭建好的动画图,通过状态机自动控制动画剪辑的播放和切换等。动画剪辑只支持外部导入的骨骼动画(.fbx 、 .gltf 和 .glb)。

4.音频系统

音乐是游戏中不可或缺的一部分,好的音乐能让游戏更加真实、富有沉浸感。

AudioSource 组件

AudioSource 组件用于控制音乐和音效的播放。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CocosCreater 教程(中) 的相关文章

  • 柏林噪声(Perlin Noise) 介绍及应用

    什么是噪声 信号处理中一般指原信号中不存在的无规则的额外信号 在处理过程中一般是我们不需要的 需要被处理掉的 噪声和信号本身无关 其频率和强弱变化无规律 噪声有什么用处 就如上面提到的那样 噪声是干扰原信号的存在 在信号处理中 我们一般都希
  • 【Unity】自带的录屏插件Recorder

    目录 Recorder简介 Recorder导入 Recorder使用 Recorder简介 Recorder是Unity官方的录屏插件 可以直接录制Game窗口 还可以录制不同相机的视图 不仅可以直接生成视频 帧动画图 还可以制作gif和
  • ue4 蓝图通信的几种方式

    一 设置公有变量 完成通信 1 蓝图类Door bp中声明变量NewVar 1 为公有 确定好变量类型 编译 2 关卡视口中选中这个蓝图类Door bp的实例 世界大纲视图下的细节面板中 默认下出现公有变量名称NewVar 1 用吸管吸取关
  • unity木船模型,古代帆船模型,古船

    unity木船模型 模型如下图所示 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 64876331
  • Unity笔记:修改代码执行的默认打开方式

    使用 External Tools 偏好设置可设置用于编写脚本 处理图像和进行源代码控制的外部应用程序 External Script Editor 选择 Unity 应使用哪个应用程序来打开脚本文件 Unity 会自动将正确的参数传递给内
  • 【基于Cocos Creator实现的赛车游戏】9.实现汽车节点的控制逻辑

    转载知识星球 深度连接铁杆粉丝 运营高品质社群 知识变现的工具 项目地址 赛车小游戏 基于Cocos Creator 3 5版本实现 课程的源码 基于Cocos Creator 3 5版本实现 在上一节的课程中 您已经实现了通过触控给刚体施
  • 【unity3D】创建TextMeshPro(TMP)中文字体(解决输入中文乱码问题)

    未来的游戏开发程序媛 现在的努力学习菜鸡 本专栏是我关于游戏开发的学习笔记 本篇是unity的TMP中文输入显示乱码的解决方式 创建 TextMeshPro 中文字体 遇到的问题描述 解决方式 Font Asset Creator 面板扩展
  • PicoNeo3开发VR——小白教程

    不断更新中 欢迎大佬们来指导 纠错 导入PicoVRSDK 1 新创一个Unity工程 Unity版本最好选择2019 4以上版本 以及需配置好安卓环境 然后导入官方picoVRSDK 2 渲染设置 Graphics APIs暂不支持Vul
  • unity 使用vrtk4的插件 打包htv vive VR客户端包,手柄不生效

    背景 目的 u3d使用vrtk开发pico应用 vrtk是为了到时候无缝衔接后续要买的htc vive pro 2 先导入了tilia importer 也就是vrtk4 0 根据教程模块化使用功能 和pico官网下的 PICO Unity
  • 【cc3.x】顶点着色器和片元着色器小记

    cc3 x cocos creator3 x 的着色器demo有点少 而且讲的不是很清晰 我这种业余自学小白学的真的很艰难 不过好赖算是啃的差不多了 所以有了这则小记 权当备忘录了 首先顶点着色器 上一段代码 CCProgram vs pr
  • 一些个人常用的网站网址

    一些个人常用的网站网址 GitHub https github com Gitee https gitee com 1 书栈网 https www bookstack cn explore cid 27 tab popular 2 Unit
  • Unity 资源加载卸载过程

    什么时候才是UnusedAssets 看一个例子 Object obj Resources Load MyPrefab GameObject instance Instantiate obj as GameObject Destroy in
  • UE5学习笔记(一)——界面功能梳理&第一天知识点记录

    学习UE5的第一步 是软件安装 默认是安装好的 由于安装没有太多技术含量 所以就没有专门做记录 这里有个注意点 虚幻引擎是整合在Epic games launcher中的 也就是说开发引擎内嵌在游戏平台上 打个比方 就是如果你要下unity
  • 蒙特卡洛积分、重要性采样、低差异序列

    渲染公式 渲染的目标在于计算周围环境的光线有多少从表面像素点反射到相机视口中 要计算总的反射光 每个入射方向的贡献 必须将他们在半球上相加 为入射光线 与法线 的夹角 为方便计算可以使用法线向量和入射向量 单位化 的乘积表示 对于基于图像的
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity-AR 简介

    Unity AR 简介 现有Unity AR Sdk ARKit 苹果推出的AR开发平台 ARCore Google 推出的增强现实 SDK ARFoundation ARFoundation是ARKit XR插件和ARCore XR插件
  • Unity保存图片到相册

    Unity保存图片到Android相册 Java 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜

随机推荐

  • sqli-labs less9详解

    作者简介 研究生在读 IT女 如果文章有错请指正 让我们一起学习 天天向上 一起进步 如果对你有帮助 还请点赞收藏哦 写在前面 建议 如果对SQL注入中SQL语句不熟悉的可以先看看SQL盲注 你需要知道的常用sql函数和语句 如果看懂了这篇
  • 一款简单易用的视频下载工具

    公众号回复 1024 免费领取程序员赚钱实操经验 大家好 我是章鱼猫 今天推荐的这个项目是 downkyi 哔哩下载姬 一个简单易用的哔哩哔哩视频下载工具 支持批量下载 支持 8K HDR 杜比视界 提供工具箱 音视频提取 去水印等 哔哩下
  • 图书管理系统(Java面向对象总结性项目)

    文章目录 前言 一 图书管理系统的总体框架是什么 1 管理员的操作 2 普通用户的操作 二 具体的实现过程 1 创建关于书的一个包 book类的具体实现 booklist类的具体实现 2 创建operation的一个包 实现IOperati
  • Spring Bean的管理(IOC 依赖注入)

    文章目录 Spring Bean 基于xml的实现 name定义别名的演示 scope作用域的演示 singleton 演示 prototype 演示 xml配置方式的依赖注入 创建对象 为对象中的值赋值 方式一 通过构造方式的注入属性值
  • 青龙面板之酷狗大字版简单抓包

    酷狗大字版 一天1元左右 下载后复制下方得打开酷狗大字版 IQ1CPA 填写 你得金币 我也得金币 操作步骤 第一步 拉库 ql raw https gitee com ajouter shiyi git raw shiyi kgdzb j
  • freeswitch:回声、会议

    回声和延迟回声 关于回声 没什么需要多解释的 我们已经非常熟悉这一段了 如果拨9196 就能听到自己的回声 Dialplan如下 与echo类似 delay echo可以使用回声有一定延迟 Dialplan如下 其中5000是毫秒数 将通话
  • 执行hibernate的max()等聚合函数

    Exception in thread main java lang IllegalStateException No data type for node org hibernate hql ast tree AggregateNode
  • c++ map

    map是标准的关联式容器 一个map是一个键值对序列 映射 map提供基于key的快速检索能力 map中key值是唯一的 集合中的元素按一定的顺序排列 map元素插入过程是按排序规则插入 所以不能插入指定位置 map的具体实现采用红黑树变体
  • Sublime Text和Webstorm快速编写HTML/CSS代码的技巧

    1 初始化模板 HTML文档需要包含一些固定的标签 比如 等 现在你只需要1秒钟就可以输入这些标签 比如输入 或 html 5 然后按Tab键 html 5 或 用于HTML5文档类型 html xt 用于XHTML过渡文档类型 html
  • 归并排序(C)递归与分治策略

    归并排序 C 习题描述 题目描述 采用归并排序算法 并利用递归函数完成n个数字 n lt 100 的从小到大排序 输入描述 输入包括两行 第一行1个数字n 表示要排序的数字的个数 第二行有连续n个待排序数字 输出描述 输出只有一行 有n个排
  • Weex内置组件的使用——Weex的学习之路(二)

    最近公司项目不是很忙 就和组内成员商量利用时间学学新技术 最终在Weex和Flutter做选择 Weex是由阿里的大牛们开发出来语言 Flutter是由Google公司开发的 各种网上查找得出的评论都是Flutter更有前景 但是最终我们还
  • unity-Camera参数介绍、种类、操作以及获取相机截图画面

    总结一下学到的Camera 相关知识 unity中的Camera unity中相机参数介绍 Camera种类 对相机操作 截取相机画面到本地 unity中的Camera 相机是我们观察游戏世界的窗口 在unity中至少需要一个相机 可以使用
  • 使用Git在cmd控制台上传到Gitee平台文件

    注 以下操作实在Git安装完整且环境配置成功后才可正常操作 还需提前注册好Gitee账号 一 选择你要上传的文件夹 进到文件夹目录 输入cmd进入控制台 在控制台输入Git v 查询自己的Git环境变量是否配置成功 控制台继续输入Git i
  • Linux进程栈区、堆区、数据区、程序区

    1 内存映射 堆区 栈区 程序区 数据区 函数参数从右向左入栈 栈溢出原理 栈中保存的局部变量缓冲区发生溢出 导致栈中其它存储单元内容被重写 导致溢出的常用函数strcpy memcpy 1 gt 栈区 主要用来存放局部变量 传递参数 存放
  • MAE ViT过程,随机选取75%的patch mask掉。将原始图像分块作为一个list,然后random shuffle一遍,选取shuffle后在list中排在后75%的 patch,将他们ma

    在看到ViT出来的时候 我就在想 既然都已经把图像token化了 并且结构上都保持与BERT一致 那为什么最后的预训练目标非得是图像分类而不直接保持BERT的Mask Language Model的预训练目标呢 果然 在MAE中就尝试了这种
  • Ubuntu 16.04 x64搭建GitLab服务器操作笔记

    本人在作业部落上的原文 https www zybuluo com lovemiffy note 418758 本文主要记录在Ubuntu 16 04操作系统中搭建GitLab服务器的操作记录 以下是操作步骤 主要参考资料 https ab
  • OpenAI CTO、吴恩达夫人……AI 领域值得关注的「她」力量,个个都是女强人

    内容一览 她时代 来临 一些有着强大信念与热情的女性 纷纷投身至 AI 领域 成为不可或缺的存在与力量 值此国际妇女节到来之际 HyperAI超神经盘点了领域内令人印象深刻的杰出的女性代表 关键词 国际妇女节 人工智能 杰出女性 技术本无关
  • 南丁格尔玫瑰图

    1 绘制南丁格尔玫瑰图的步骤 数据准备工作 准备好角度数值和半径数值 建立画布 并将直角坐标转化为极坐标 并对极坐标进行一定的设置 使用bar函数进行绘图 对图形进行美化处理 2 上代码 import numpy as np import
  • 基于SSM的教师管理系统

    文末获取源码 项目技术栈 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用HTML和Vue相结合开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Ec
  • CocosCreater 教程(中)

    1 图形渲染 1 1 渲染管线 RenderPipeline 用于控制场景的渲染流程 包括光照管理 物体剔除 渲染物体排序 渲染目标切换等 引擎默认使用 前向渲染管线 前向渲染管线的执行流程如下图所示 1 2 相机 游戏中的相机是用来捕捉场