热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

六、使用虚幻日场

六、使用虚幻日场虚幻日场是虚幻引擎4提供的另一个强大的工具。虚幻日场用于制作电影、过场动画、

六、使用虚幻日场

虚幻日场是虚幻引擎 4 提供的另一个强大的工具。虚幻日场用于制作电影、过场动画、动画、布景等。它也很容易学习,你可以用它来创造惊人的东西。通常日场和蓝图一起使用。在前一章中,我们已经省略了游戏中的一些脚本编写,我们现在将介绍这些内容。本章将涵盖以下主题:


  • 什么是虚幻日场?

  • 虚幻日场用户界面

  • 在我们的游戏中使用虚幻日场


什么是虚幻日场?

虚幻日场是一个动画工具。它提供了一些工具,你可以在游戏中使用这些工具来激活演员的属性,或者创建电影、过场动画、布景等等。在曲线和关键帧的帮助下,你可以使用这个工具来制作游戏中演员的动画,就像专业人士使用的任何其他视频编辑软件一样。您也可以使用日场来设置日场活动。

增加日场演员

在可以使用日场之前,首先需要做的就是在场景中加入一个日场演员。日场演员由拍板描绘,就像你在电影布景中看到的那样,如下图所示:

Adding Matinee actors

我们已经在第 4 章、中通过模式面板讨论了一种添加日场演员的方法,即使用演员、班级和音量。另一种添加日场演员同时检查场景中有多少演员的方法是单击视口工具栏中的日场按钮,该按钮会打开一个下拉菜单。这里,在菜单的顶部,在新建部分下,您可以选择通过点击添加日场来创建新的日场演员。在此下方的编辑现有日场部分,您可以找到列表中所有日场演员的列表。双击其中任何一个进行编辑。

当你创建一个新的日场演员或双击一个现有的演员时,一个新的窗口会打开。让我们仔细看看。

虚幻日场用户界面

任何在 虚幻开发套件 ( UDK )中使用过日场的都会发现布局和用户界面相当相似。

The Unreal Matinee user interface

选项卡和菜单栏

就像在网络浏览器中一样,在标签栏中,你可以看到当前打开了多少个窗口,在它们之间交换,重新排列它们,并关闭其中的任何一个。

The tab and menu bar

下方是菜单栏,包含以下动作和功能:


  • 文件:从这里,您可以选择从 FBX 文件导入序列(因为 FBX 文件和网格一起也存储对象的动画,导入它会将那个 FBX 文件的动画序列导入到 Matinee),导出一个动画序列,保存一个序列,等等

  • 编辑:使用此选项卡,可以撤销或重做之前的动作,添加或删除关键帧,编辑部分等

  • 回放:这为您提供了播放、暂停、停止、循环和反转动画序列的选项

  • 查看:这里可以设置想要查看的内容,启用网格捕捉,在轨迹视图面板中适应整个序列,等等

  • 窗口:这个标签允许你通过设置你想要在 UI 中显示的面板和窗口来定制你的日场 UI,等等

  • 帮助:你可以从这里访问日场的文档和教程


工具栏

下方菜单栏为工具栏。在这里,您可以访问最常用的操作。

The toolbar

从左至右,图标如下:


  • 添加关键帧:这个在动画轨迹的当前位置添加一个关键帧。

  • 插值:插值就是在另外两个点之间找到一个点。在关键帧动画中,插值是一个重要的工具,因为它使动画平滑。这样,您可以设置关键点和曲线的初始插值模式。您可以选择线性、恒定、曲线自动夹紧、曲线自动等等。

  • 播放:播放按钮播放您创建的动画序列。您可以在“编辑器”视口中看到动画。动画只播放一次。

  • 循环:如果想多次观看动画,可以点击循环按钮,动画一结束就会循环播放。

  • 停止:点击此处将停止动画。

  • 反转:这样会反方向播放动画。

  • 相机:点击这个可以创建相机组。

  • 播放速度:通过该选项,可以设置想要播放动画的速度。可以从正常播放速度的 100%50%25%10%1% 中选择。

  • 捕捉设置:如果启用了栅格捕捉,可以从这里设置捕捉大小。

  • 曲线:默认启用,可以用此打开/关闭曲线编辑器窗口。

  • 捕捉:以磁铁为代表,切换网格捕捉。

  • 帧时间:此将时间轴光标捕捉到捕捉设置中设置的捕捉大小。仅当快照大小以每秒帧数为单位时,才会启用此选项。

  • 固定时间:使用此功能,您可以将播放速度固定为在快照设置菜单中选择的帧率。仅当捕捉设置以每秒帧数为单位时,它才有效。

  • 序列:点击此处的进行缩放,以适合您在“轨迹”面板中创建的整个序列。

  • 选定的:这将缩放以适合在轨迹面板中选定的关键帧。

  • 循环:这将缩放时间线以适合动画序列中的循环部分。

  • 循环序列:这将循环部分的起点设置为动画序列的起点,终点设置为序列的终点。换句话说,点击它将调整循环部分的大小,使其适合您创建的整个动画序列。

  • End :点击工具栏最右上角的箭头,会多出三个图标。第一个是 End 。这将轨道时间线移动到序列的末尾。

  • 录制器:这将打开日场录制器窗口,您可以使用该窗口为您的日场录制序列。

  • 电影:最后我们有电影选项。您可以使用它从您创建的动画序列中创建电影。


曲线编辑器

下一个窗口是曲线编辑器。与任何动画软件一样,您可以使用曲线编辑动画。如果您想要在动画序列中包含粒子系统,也可以使用它。曲线还有许多其他用途,但这些是最常见的用途。 x 轴代表时间, y 轴是你在日场中随时间变化的数值。曲线编辑器中的曲线显示该值随时间变化。例如,如果值以恒定的速率变化,曲线将是线性的,如果值以指数变化,曲线将是指数曲线,以此类推。

要查看和编辑曲线,首先必须在轨迹面板中切换它们。完成后,您将看到相应动画序列的曲线,然后您可以编辑该曲线,以便进一步编辑或微调动画。

The Curve Editor

顶部是曲线编辑器的工具栏。让我们看看它的选项:


  • 水平:该选项允许缩放以水平拟合选定的曲线组。

  • 垂直:这与水平选项相同,但垂直拟合选定的曲线组。

  • All :它在水平和垂直方向上拟合曲线,这样整个曲线在曲线编辑器中都是可见的。

  • 选中:此功能与 All 功能相同,但只针对选中的点。

  • 平移:这将把曲线编辑器切换到平移模式,也就是说你可以通过按住鼠标左键并拖动它在图形编辑器中移动。

  • 缩放:这将切换到缩放模式。您可以通过按住鼠标左键并拖动鼠标来放大和缩小。

  • 自动:将选择的曲线插值改为自动

  • 自动/夹紧:将选择的曲线插值设置为自动/夹紧

  • 用户:该选项将插值更改为用户(如果在曲线设置为自动自动/夹紧时对曲线进行任何更改,则将插值更改为用户)。

  • 断开:这将插值改为断开

  • 线性:这将插值改为线性。这意味着两点之间的曲线将是线性的,即两个关键帧之间的直线。

  • 常量:这将插值改为常量。这意味着所选关键帧之间的曲线将是一条水平直线。换句话说,沿着 Y 轴的值将随着时间保持不变。

  • 展平:点击此处将展平曲线的选定切线,使其变平。

  • 拉直:该选项从曲线的选定切线上移除任何不规则,并使其变直。

  • 显示全部:这显示了存在的所有曲线的所有切线。

  • 创建:最后,我们有创建标签按钮。您可以选择创建多个选项卡。您可以通过点击工具栏最右上角的箭头按钮并使用当前选项卡菜单选择要转到的选项卡来切换选项卡。您也可以删除当前选项卡。

工具栏下方的左侧是曲目列表。在这里,您可以看到当前标签中的所有轨道。顶部是轨道的名称,底部是您可以打开/关闭的按钮。在这个例子中,我们有一个运动轨迹,所以每个轴有三个按钮:红色代表 X 轴,绿色代表 Y 轴,蓝色代表 Z 轴。最右侧是一个黄色按钮,可用于打开/关闭整个轨道。

The Curve Editor

在它的右边,我们有一个图形编辑器,在那里你可以看到和调整曲线。

The Curve Editor

在这里,您可以看到有三条单独的曲线,每条曲线代表我们刚才讨论的按钮。您可以在这里调整每条曲线,以获得所需的结果。选择曲线上的一个点,并更改切线以改变曲线的形状。

轨道面板

轨迹面板中,您可以看到动画序列中的所有轨迹、文件夹和组。

The Tracks panel

在这里,您可以看到指定动画时长的时间线、您创建的组、动画中涉及的所有组件等。面板顶部是选项卡栏。下方是选项卡。对于简单的动画,您并不真的需要这样做,但是如果您有一个复杂的动画序列(如电影或过场动画),您可能希望利用这个功能来保持您的工作站整洁有序。您可以将类似的演员放在他们各自的标签中。例如,如果您有摄像头,您可以将它们放在摄像头组中。要创建组或文件夹,右键单击它;这将打开一个菜单,从中可以创建组或文件夹。

在左侧的标签下,是组和轨迹列表。列出了动画序列或当前标签中的所有组和轨道。您也可以在此添加或删除组。

The Tracks panel

可以看到,一组下面有各种轨迹。每个单独的轨道都有自己的动画,您可以编辑。您也可以通过单击每个轨道左侧的灰色框来打开/关闭整个轨道。右下角还有两个盒子。左边的按钮启用或禁用动画序列中各个轨道的播放。右边的选项启用或禁用该轨道的曲线编辑器。此外,有些轨道没有这两个按钮,表明这些轨道没有曲线。

它的右边是动画时间线。

The Tracks panel

在底部,您可以看到动画时间刻度。在它上面,带有红色边缘的半透明白色方框描绘了动画时间的总持续时间。您可以单击边缘并向左或向右拖动它们,分别减少或增加动画的持续时间。浅绿色方框显示循环序列的持续时间。这意味着只有绿色线段内的部分将循环,其余部分将被忽略。您也可以通过单击并向左或向右拖动绿色箭头来增加或减小其大小。还有时间线滑块,由白线描绘,您可以使用它跳转到任何帧。最后,您可以单击时间栏上的任何位置来跳转到任何帧。时间线滑块将跳转到您单击的任何位置。

详细信息面板

最后是 细节面板,在这里可以设置某些轨迹、组等属性。

The Details panel

前面的截图显示了运动轨迹关键帧的属性。可以在视口中切换运动轨迹不播放,切换旋转开/关,设置是否要在编辑器视口中看到轨迹,等等。

激活门

现在你已经熟悉了虚幻日场及其用户界面,我们可以继续为我们的游戏添加一些动画。这包括打开门的动画,第一个房间的一个小过场动画,以及为人工智能角色画一座桥。

1 号房间

现在是时候在我们的游戏中实际使用日场了。选择第一个房间门口附近的日场演员,点击详情面板中的打开日场。打开后,第一步是添加一个组。在制作组之前,确保在编辑器视口中选择了要动画化的一个或多个演员;否则,该组中不会有任何演员引用,您会收到一条错误消息,说没有要为设置关键帧的内容,或者选定的对象不能在这种类型的轨道上设置关键帧。

点击门选择,右键点击轨迹面板中的轨迹列表,选择新增空组。当要求给组命名时,将其命名为并按进入。门将连接到该组。这将创建一个空组,您可以在其中放置多个轨迹(运动、可见性、粒子等)。首先,我们需要一个运动轨迹。右键单击,选择添加新的运动轨迹。创建后,您将在轨迹面板中看到它。

Room 1

现在,我们做不希望动画持续 5 秒,因为对于简单的开门动画来说太长了,会不必要地降低游戏速度。因此,通过左键单击最右侧的红色箭头(位于 5 秒标记上方)将动画持续时间减少到 2 秒,并将其移回 2 秒标记。如果需要,您也可以通过对绿色框右边的绿色箭头执行相同的操作,将循环序列持续时间从 1 秒增加到 2 秒。

Room 1

在时间线中,在运动轨迹之前,你会在 0 秒标记上看到一个小的栗色箭头。这是一个关键的框架。因为我们有一个简单的动画,所以我们只需要两个关键帧:一个在动画序列的开头,另一个在结尾(如前面的截图所示)。要添加第二个关键帧,请将动画滑块移动到动画时间线的末端,然后按进入

现在我们已经设置了关键帧,回到编辑器。

Room 1

你会在视窗的左上角注意到一些东西。无论何时打开日场,视口都会发生变化,以预览相应的日场动画。左上角用白色文字写着的是日场。这基本上是通知视口当前设置为预览模式。在它旁边,用青色文字书写的是视口的分辨率。在它下面,用绿色文字写着,是相应的日场动画的帧数。左上角写着日场。在它旁边,你可以看到分辨率,在它下面,是动画的总帧数。在此模式下,您不能保存、打开或加载场景,也不能玩游戏。为了执行这些动作,您必须先关闭日场。

现在,确保时间线滑块位于动画时间线的末端,使用变换工具,向上或沿着 z 轴移动门。移动它,直到它不碍事。

Room 1

只要你移动门,你就会看到一条垂直的黄线。这条线显示了播放动画时门将遵循的路径。要观看动画,返回日场,点击工具栏中的播放按钮。

接下来我们需要的是利用我们之前添加的摄像头。当玩家把钥匙立方体放在基座上时,我们想玩一个小过场动画,展示它有什么效果,这样玩家就知道房间里的主要目标是什么。在这个过场动画中,我们将:


  1. 从玩家手中夺走控制权。

  2. 从主摄像头切换到门前摄像头。

  3. 播放动画。

  4. 归还玩家对角色的控制权。

为此,我们需要添加一个摄像机组。返回到日场窗口,右键单击轨道面板,然后单击添加新摄像机组(再次确保在视口中选择了摄像机)。命名该组相机

Room 1

一个摄像机组有两条轨迹:一条 运动轨迹和一条视场角 角度轨迹。日场播放时,您可以用它来移动相机并设置其视野。在这种情况下,我们希望摄像机保持静止。所以,把时间轴滑块拿到时间轴的末端,在相机组的运动轨迹中点击进入创建关键帧。

接下来我们需要的是所谓的 导演组。它的一个用途是在播放动画时指定切换到哪个摄像机。再次右键单击轨迹面板,选择创建新导演组。将在导演组的轨道面板上方创建一个新的独立轨道。

Room 1

现在我们有了我们的导演组,我们需要告诉它动画播放的时候切换到哪个镜头。为此,选择它并按进入。这将打开一个小窗口,询问您要切换到哪个组。这个窗口登记了我们在日场中创建的所有组。在这里,点击下拉菜单,选择相机,点击确定(确保时间线滑块在 0 秒标记处)。一旦完成,摄像机组将被分配到导演组。

Room 1

现在如果你播放日场,你会看到在视口中,摄像机切换到我们放在门前的那个。我们已经安排好了日场。现在我们需要在它应该播放的时候编写脚本。我们希望它在玩家将钥匙立方体放在基座上时播放。因此,打开蓝图,在我们为放置关键立方体而创建的序列中,添加一个序列节点。将此连接到节点。接下来,将the0输出引脚连接到设置演员隐藏在游戏节点。

Room 1

接下来,在视口中选择日场演员,右键单击并创建其参考。然后,拖动该节点的管脚,菜单打开时输入Play,创建播放节点。将其连接到序列节点的 1 号引脚。

Room 1

如果你测试出水平,你会看到一切都按预期运行;当玩家将钥匙立方体放在底座上时,摄像头会切换到门前面的那个,门的动画就会开始播放。然而,还有一些事情要做。在过场动画播放时,你仍然可以控制玩家(移动和射击)。我们希望玩家在动画播放时不能移动或拍摄。为此,选择日场演员,并在详情面板中的电影部分下,检查以下内容:


  • 禁用移动输入

  • 禁用查看输入

  • 隐藏玩家

Room 1

这就是我们所拥有的:我们刚刚创建了自己的过场动画。让我们继续到第二个房间的大门。

2 号房间

在第二个房间的中间,我们有一扇大门。我们希望玩家能够在他们将第一个钥匙立方体放在基座上时使用它。到目前为止,它与前一扇门相当相似。这里唯一的区别如下:


  1. 当玩家在屏幕上触摸它时,门就会打开(前提是先解锁)。

  2. 当玩家从屏幕上松开手指时,门就会关闭。

在这里,日场部分会类似;我们将创建一个 2 秒长的运动轨迹,并设置门向上的动画。这里,由于我们不是在创建剪辑场景,我们不需要摄像机组或导演组,也不需要在日场运行时禁用玩家输入。考虑到这一点,选择大门口附近的日场演员,点击详情面板中的开启日场。使用运动轨迹为门设置动画,就像我们对前一扇门所做的那样。

完成后,打开级别蓝图。这里,我们将使用触摸输入节点,而不是打开门的立方体。与前面的触发器一样,为门周围的大触发器添加一个重叠事件。如下图所示设置节点:

Room 2

这里,当玩家叠加触发时,启用玩家输入,打开节点。当玩家现在触摸屏幕时,它将播放日场。我们唯一需要编写脚本的是当玩家释放屏幕时会发生什么。这里,当玩家停止触摸屏幕时,门会关闭,即日场反向播放。

为此,创建另一个对日场演员的引用(或者复制已经存在的引用),创建一个反向节点,并将日场演员附加到其目标输入。

Room 2

现在测试游戏,你会看到,当你把钥匙立方体放在第一个底座上,点击门(在编辑器中玩的时候,鼠标键充当触摸输入),门就打开了;你一松手,它又关上了。对 4 号房间的门也这样做,但不需要先开门;你可以简单地编写脚本,让它在玩家靠近它并触摸屏幕时打开,在玩家从屏幕上松开手指时关闭。让我们继续到桥的平台。

人工智能角色的桥梁

在有 AI 角色的房间里,玩家要给它做一个桥段,这样它就可以过坑解锁钥匙立方体了。有一些开关可以画出一段桥。玩家必须在 AI 角色掉进坑里之前快速画出桥的所有线段。在第三个房间,桥将有三个部分,每个部分由基座上的开关画出。对于我们的桥,我们将使用立方体原始演员。在场景中加入三个 Cube 原始人演员,将他们的比例分别设置为2.22.50.3,放在坑底。确保将他们的机动性设置为可移动

A bridge for the AI character

这样做了之后,再加上三个日场演员,每段一个。然后,在日场中,将动画时间设置为 1 秒,并通过移动它使其与地面对齐来动画化即将到来的部分。确保该部分完全对齐。太高的话 AI 角色上不去,太低的话 AI 角色上不去。如果您看到该部分的上表面是绿色的(因为导航网格边界体积),这意味着该部分对于人工智能角色是可行走的,如下图所示:

A bridge for the AI character

对剩余的两个部分进行同样的,确保它们在绘制时完全吻合。

A bridge for the AI character

下一步我们需要做的是将日场脚本写入我们的游戏。我们在第三个房间有四个基座。从左到右,第一个激活 AI 角色,第二个绘制桥的第一段,第三个绘制第二段,第四个绘制第三段。所以,打开 Level bluetooth,就像第二个房间的大门一样,编写脚本,这样,当玩家离开关足够近并触摸屏幕时,日场就会播放。对所有三个播放各自日场的触发盒都这样做。

A bridge for the AI character

当 AI 角色掉进坑里的时候,我们希望桥段回到坑底,这样当玩家重新开始的时候,他们就要再次按下开关来画段了。回到将人工智能角色传送回起始位置的触发框。到序列节点,添加一个大头针,为所有三个日场演员创建一个引用。创建一个反向节点,并将所有三个角色连接到它。

A bridge for the AI character

现在,如果人工智能角色掉进坑里,除了被传送回它的起始位置,桥段也会重置到它们的原始位置。

我们的难题已经解决了。然而,目前这个难题没有任何回报。我们之前提到过,当 AI 角色穿过坑时,它会解锁钥匙立方体。但是现在,我们的钥匙似乎没有锁。我们能做的是封装我们的关键立方体,当人工智能角色成功穿过坑时,它就会打开。为此,在关键立方体(充当笼子的墙壁)周围放置四个立方体,创建它们打开的日场,并设置一个触发框,当人工智能角色与触发框重叠时,触发框将播放日场。因此,在包围它的关键立方体周围放置四个立方体,并对它们应用门材质(如果您愿意,您可以复制门 _ 材质,并在材质编辑器中,删除与折射表达式的连接,并将其应用于墙壁,以便从坑的另一侧可以正确地看到关键立方体)。当放置这些时,确保钥匙立方体周围的触发盒也封闭在墙壁内。

A bridge for the AI character

现在在这个笼子附近添加一场日场,并在目标点演员上方放置一个触发框。打开日场,这样我们就可以创作动画了。这里,我们有四个单独的对象要制作动画。然而,由于它们都是一起制作动画的,所以为每面墙创建四个不同的日场演员是很浪费的。相反,我们将在同一个日场动画所有四面墙。为此,我们将创建四个不同的组,每面墙一个,每个组都有一个运动轨迹。选择第一面墙,创建一个带有运动轨迹的空组(命名为墙 1 ,并使其向下运动。将动画时间设置为 1 秒。然后,用第二面墙的移动轨迹创建另一个空组(命名为墙 2 ,并且使其向下移动。对剩下的两面墙也这样做。

A bridge for the AI character

我们现在有四个独立的动画对象使用同一个日场演员。剩下的最后一件事是为播放日场的触发盒设置重叠事件。

A bridge for the AI character

从你所学到的,在制作第四个房间的桥时应用同样的方法,确保 AI 角色在绘制时可以穿过它们。

总结

在这一章中,我们看了虚幻日场:它是什么,它的用户界面,以及它能做什么。我们用它来创建过场动画,制作门和桥的动画。就这样,我们完成了我们的小游戏,展示了 UE4 提供的各种功能和工具。下一步是最终确定游戏(添加主菜单,润色游戏等),将其打包成.apk文件,移植到安卓设备上,并在那里进行测试。


推荐阅读
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • Ulysses Mac v29:革新文本编辑与写作体验
    探索Ulysses Mac v29,这款先进的纯文本编辑器为Mac用户带来了全新的写作和编辑环境。它不仅具备简洁直观的界面,还融合了Markdown等标记语言的最佳特性,支持多种格式导出,并提供强大的组织和同步功能。 ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 解决Windows 10开机频繁自检问题的实用方法
    许多用户在使用Windows 10系统时,经常会遇到开机时自动进行磁盘检查的情况。这不仅影响了开机速度,还可能带来不必要的麻烦。本文将详细介绍如何通过简单的注册表修改来避免每次开机时的磁盘自检,提升系统启动效率。 ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 本文介绍了解决Oracle 10G数据库中ORA-12541 TNS: no listener错误的详细步骤。该错误通常发生在监听器服务未正确启动或配置不当的情况下,文章将指导您通过检查服务状态、配置注册表和启动监听器来解决问题。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • 本文介绍如何在 Visual Studio Code 中使用 Jupyter Notebook 插件,包括创建、编辑和运行笔记本的基本操作。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 本文将带您了解Cocos家族的不同版本和分支,特别是Cocos Creator的发展历程及其核心特性,帮助初学者快速入门。 ... [详细]
  • 如何从python读取sql[mysql基础教程]
    从python读取sql的方法:1、利用python内置的open函数读入sql文件;2、利用第三方库pymysql中的connect函数连接mysql服务器;3、利用第三方库pa ... [详细]
author-avatar
天眞啲笨尛孩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有