《UE5_C++多人TPS完整教程》学习笔记28 ——《P29 Mixamo 动画(Mixamo Animations)》

news2024/11/26 14:36:10

本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P29 Mixamo动画(Mixamo Animations)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。


文章目录

  • P29 Mixamo 动画(Mixamo Animations)
  • 29.1 从 Mixamo 官网获取动画
  • 29.2 Mixamo 角色动画重定向为 “Animation Starter Pack” 角色动画
  • 29.3 “Animation Starter Pack” 角色动画重定向为 “LearningKit_Games” 角色动画
  • 29.4 资产迁移至项目 “Blaster”
  • 29.5 Summary


P29 Mixamo 动画(Mixamo Animations)

本节课将从 Mixamo 官网获取免费角色动画,然后将其重定向(Retargeting)为虚幻引擎的骨骼(Skeleton)中,以便将其用于我们的角色模型中。
在这里插入图片描述


29.1 从 Mixamo 官网获取动画

  1. 访问 Mixamo 官网,注册账户后登录。
    在这里插入图片描述

  2. 在 “Character” 中选择 “CRYPTO”,然后点击 “DOWNLOAD” 按钮,下载格式(Format)选择 “FBX Binaries(fbx)”,姿势(Pose)选择“T-Pose” ,因为这个姿势类似于虚幻引擎骨骼的默认姿势。
    在这里插入图片描述
    在这里插入图片描述

  3. 在 “UnrealLearningKitGames” 项目目录下,新建目录 “/Content/Mixamo/Character" ,将下载好的 FBX Binaries 文件 “Ch45_nonPBR” 其移动该目录下,并重命名为 “MixamoCharacter”。
    在这里插入图片描述 在这里插入图片描述

  4. 在虚幻引擎中打开 “UnrealLearningKitGames”,导入 “MixamoCharacter”,“FBX导入选项” 对话框的设置保持默认。
    在这里插入图片描述
    此时消息日志窗口出现 “无平滑组” 错误提示信息,忽略即可。可以在内容浏览器中看到导入的内容。
    在这里插入图片描述
    在这里插入图片描述

  5. 双击 “MixamoCharacter_Skeleton”,与 “/Content/AnimStarterPack/SK_Mannequin/Mesh/”目录下的 “SK_Mannequin” 对比可以发现它们的(顶点)层次和名称略有不同(Slightly different),因此在之后进行重定向时需要考虑这一点(Take this into account)。
    在这里插入图片描述
    在这里插入图片描述

  6. 返回 Mixamo 官网,在选定角色 “CRYPTO” 的基础上,在 “Animations” 中搜索 “Right Turn”,下载蹲下且在预览中不会转向的 “Turn Right”(之后的课程将在虚幻引擎中通过代码逻辑实现转向),下载设置保持默认。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  7. 下载站立且在预览中不会转向的 “Turning Right 45 Degrees”(之后的课程将在虚幻引擎中通过代码逻辑实现转向),下载设置保持默认。
    在这里插入图片描述
    在这里插入图片描述

  8. 搜索 “Left Turn”,下载蹲下和站立且在预览中不会转向的动画,下载设置保持默认。
    在这里插入图片描述
    在这里插入图片描述

  9. 搜索 “Jump”,下载 “Jump Up”、“Jump Down” 和 “Jump Loop” 动画。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  10. 将上述动画均移动至新建的目录 “/Content/Mixamo/Animations/” 下。返回虚幻引擎导入以上动画,注意在 “FBX导入选项” 对话框中,取消勾选 “导入网格体” 复选框,在 “网格体-骨骼” 选项下选择 “Ch45_nonPBR_Skeleton”,在 “动画-动画长度” 选项下选择 “设置范围”,这样在 “高级-帧导入范围” 选项就可以进行设置,设置 “最大” 为 30(因为我们从 Mixamo 官网上下载的动画都是保持默认的每秒 30 帧)
    在这里插入图片描述
    在这里插入图片描述

  11. 导入后发现目录下同时生成了六个以 “Take_001” 为后缀的动画序列,它们是角色保持 T-pose 的动画,我们并不需要,可以直接删除。
    在这里插入图片描述


29.2 Mixamo 角色动画重定向为 “Animation Starter Pack” 角色动画

  1. 我们希望上述动画都能够绑定(Rig)到同一个角色上,这就需要进行将 “MixamoCharacter_Skeleton”重定向为虚幻引擎骨骼 “SK_Mannequin”。不同于 UE 4 使用 “Retarget Manager” 进行重定向,UE 5 使用了全新的重定向目标工具 “IK Retarget” ,因此下面的步骤将主要参考 《【UE5教程】10分钟学会新功能动画重定向!》,这与本节课教学视频中展示的步骤有所不同。

    UE5 有了一个全新的重定向目标工具,能够快速、轻松地重用和增强现有动画。新的 IK 绑定系统提供了一种以交互方式创建 IK 解算器(包括新的全身 IK)并为其定义目标的方法。生成的 IK 绑定资产可以嵌入到动画蓝图中,在运行时可以控制目标。这种新的重定向方法取代了 UE4 中的 Retarget Manager。


    —— 《UE5正式版发布》

  2. 在 “内容浏览器” 中新建两个 “IK绑定” ,它们的命名保持默认,即 “NewIKRig” 和 “NewIKRig1”,骨骼网格体分别选择 “SK_Mannequin” 和 “MixamoCharacter”。
    在这里插入图片描述
    在这里插入图片描述

  3. 在 “NewIKRig” 和 “NewIKRig1” 编辑窗口中 设置重定向根在 “SK_Mannequin” 和 “MixamoCharacter” 的 “骨盆” 处( “SK_Mannequin” 的重定向根为 “pelvis”,“MixamoCharacter” 的重定向根为 “Hips”)。
    在这里插入图片描述
    在这里插入图片描述

    此步骤非常关键,可能会影响下面的 步骤 7 。因为在 IK 重定向器编辑界面,为了让 “NewIKRig1” 和 “NewIKRig” 的人物模型姿势相同( “MixamoCharacter” 的姿势为 “T-Pose”,因此需要将 “SK_Mannequin” 的姿势 “A-Pose” 改为 “T-Pose”),如果没有设置 “SK_Mannequin” 的重定向根为 “pelvis”,启用编辑姿势按钮后,将无法使用旋转工具控制 “SK_Mannequin 的骨骼网格体节点进行旋转(拖动无反应)
    https://zhuanlan.zhihu.com/p/615133089?utm_id=0

  4. 分别 “NewIKRig” 和 “NewIKRig1” 编辑窗口选择 “SK_Mannequin” 和 “MixamoCharacter” 的骨骼节点,然后单击鼠标右键,在弹出的下拉菜单栏中新增重定向链条,注意一一对应关系。
    在这里插入图片描述
    在这里插入图片描述

    笔者在这里新增的重定向链条可能与本节课教学视频中进行重定向的骨骼节点对应关系(下图)不同,即 没有在 “NewRig” 新增与 “root” 和 “pelvis” 链条,没有在 “NewRig1” 中新增与 “Hips” 链条。因为经测试发现,在不新增上述链条的情况下进行重定向后 “MixamoCharacter” 的动画和 “SK_Mannequin” 动画也能保持相似。
    在这里插入图片描述
    如果一定要新增上述链条,经笔者测试,在 “链映射” 中保证 “MixamoCharacter_Skeleton” 的 “Hips” 与 “SK_Mannequin” 的 “root” 对应,“SK_Mannequin” 的 “pelvis” 对应 “None”,进行重定向后 “MixamoCharacter_Skeleton” 的动画和 “SK_Mannequin” 动画还是可以保持相似的。

  5. 在内容浏览器中新建 “IK重定向器”,命名保持默认 “NewIKRetargeter”,“选择要复制动画的 IK 绑定” 为 “NewIKRig1”。
    在这里插入图片描述
    在这里插入图片描述

  6. 在 “NewIKRetargeter” 编辑窗口的右侧 “细节” 面板设置 “目标IKRig资产” 为 “NewIKRig”。设置完成后,就可以看到 “SK_Mannequin” 也出现在预览窗口中,在右侧资产浏览器中选择动画进行预览,但是 “SK_Mannequin” 的手臂有些奇怪,下面我们将对其进行调整。
    在这里插入图片描述
    在这里插入图片描述

  7. 在 “NewIKRetargeter” 编辑窗口工具栏处点击 “新建姿势” 按钮,新建重定向姿势 “CustomRetargetPose”(即名称保持默认),然后点击 “编辑姿势” 按钮,此时我们可以调整 “SK_Mannequin” 的手臂角度。
    在这里插入图片描述
    在这里插入图片描述

    注意,如果在 步骤 3 中没有在 “NewIKRig” 编辑窗口中设置 “SK_Mannequin” 的 “骨盆”(“pelvis”)为重定向根 ,启用编辑姿势按钮后,将无法使用旋转工具控制 “SK_Mannequin” 的骨骼网格体节点进行旋转(拖动时骨骼无反应)。
    在这里插入图片描述

  8. 在编辑窗口 “设置旋转网格对齐值” 为 5°。依照教学视频中将骨骼网格体 “SK_Mannequin” 的 “A-Pose” 改为 “T-Pose” 的方法进行如下调整:把 “SK_Mannequin” 的 “upperarm_l” 和 “upperarm_r向上旋转 45°,将 “lowerarm_l” 和 “lowerarm_r向外旋转 10°,这是教学视频作者反复实验和试错(Through trial and error)找到的数字;笔者同时还将 “foot_l” 和 “foot_r向外旋转 20°,这样在 进行 “Turn_Left_45_Degrees” 和 “Turn_Right_45_Degrees” 动画重定向时, “SK_Mannequin” 的脚部动作会与 “MixamoCharacter” 更加相近。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  1. 再次点击 “编辑姿势” 按钮即可退出编辑模式。在右侧资产浏览器中选择动画进行预览,两个骨骼网格体的动画非常相似。
    在这里插入图片描述
  2. 导出动画到目录 “/Content/AnimStarterPack/” 下的新建文件夹 “FromMixamo” 下。
    在这里插入图片描述
    在这里插入图片描述
  3. 在内容浏览器中打开并查看重定向后的动画。如果发现骨骼错位(Bones misplaced),则在左侧 “骨骼树” 面板设置 “显示重定向选项”,然后右键单击 “root” 节点,在弹出的下拉菜单栏中选择 “递归设置平移重定向骨骼”后,设置 “root” 的平移重定向为 “动画”,“pelvis” 的平移重定向为 “缩放动画”。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

29.3 “Animation Starter Pack” 角色动画重定向为 “LearningKit_Games” 角色动画

  1. 在 “内容浏览器” 中新建一个 “IK绑定” , “NewIKRig2”,骨骼网格体选择 “SK_EpicCharacter” 。
    在这里插入图片描述

  2. 在 “NewIKRig2” 编辑窗口中 设置 “SK_EpicCharacter” 的重定向根为 “骨盆” “pelvis,接着在 “NewIKRig2” 编辑窗口选择 “SK_EpicCharacter” 的骨骼节点,然后单击鼠标右键,在弹出的下拉菜单栏中新增重定向链条,注意参照 “NewIKRig” 中 “SK_Mannequin” 的链条,保持一一对应关系。
    在这里插入图片描述

  3. 在内容浏览器中新建 “IK重定向器”,命名保持默认 “NewIKRetargeter1”,“选择要复制动画的 IK 绑定” 为 “NewIKRig”,在 “NewIKRetargeter1” 编辑窗口的右侧 “细节” 面板设置 “目标IKRig资产” 为 “NewIKRig2”。设置完成后,就可以看到 “SK_EpicCharacter” 也出现在预览窗口中。由于“SK_EpicCharacter” 相比于 “SK_Mannequin” 更细长(Lengthier and skinnier),手臂也更直(Straighter),下面我们将对其进行调账,以保证两者动画相似。
    在这里插入图片描述
    在这里插入图片描述

  4. 在 “NewIKRetargeter1” 编辑窗口“设置旋转网格对齐值” 为 5°,接着在工具栏处点击 “新建姿势” 按钮,新建重定向姿势 “CustomRetargetPose”(即名称保持默认),然后点击 “编辑姿势” 按钮。教学视频中是将 “SK_EpicCharacter” 改为 “T-Pose”,并且在 “SK_Mannequin” 的姿势为 “T-Pose” 的基础上将其手臂改直;然而,这里只能修改 “SK_EpicCharacter”,于是笔者通过反复实验和试错得到了如下的调整方案: “SK_EpicCharacter” 的 “upperarm_l” 和 “upperarm_r不做改动,将 “lowerarm_l” 和 “lowerarm_r向内旋转 25°
    在这里插入图片描述

  5. 再次点击 “编辑姿势” 按钮即可退出编辑模式。在右侧资产浏览器中选择动画进行预览,两个骨骼网格体的动画非常相似。导出动画到目录 “/Content/AnimStarterPack/” 下的新建文件夹 “FromMixamo” 下。
    在这里插入图片描述

  6. 在内容浏览器中打开并查看重定向后的动画。如果发现骨骼错位(Bones misplaced),则在左侧 “骨骼树” 面板设置 “显示重定向选项”,然后右键单击 “root” 节点,在弹出的下拉菜单栏中选择 “递归设置平移重定向骨骼”后,设置 “root” 的平移重定向为 “动画”,“pelvis” 的平移重定向为 “缩放动画”。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


29.4 资产迁移至项目 “Blaster”

  1. 修改 Mixamo 重定向动画的名称。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 把其他动画的后缀名 “_Retargeted”删去,可以通过使用 UE 中的 Python 脚本实现(此步骤可以忽略)。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 将目录 “/Assets/Animations/” 迁移至项目 “Blaster” 的目录 “Content” 下。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 打开项目 “Blaster”,可以看到 “UnrealLearningKitGames" 的角色动画成功迁移至项目目录 “Contents” 下,在内容浏览器中对文件夹进行整理:将 “LearningKit_Games”、“MilitaryWeapSilver”、“Characters” 和 “LevelPrototyping”(UE 4 中名称为 “Geometry”) 移动至 “Assets” 目录下,然后删除 “ThirdPerson” 文件夹。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    如果对某个文件夹进行移动后,原位置仍存在该文件夹,但文件夹中内容为空,这是因为虚幻引擎仍然保留了该文件夹的重定向器(Redirectors),即包含移动之前该文件夹中的资产路径,我们可以右键单击该文件夹,在弹出的下拉菜单中选择 “修复文件夹中的重定向器”(Fix up Redirectors in Folder),然后删除该文件夹即可。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  5. 最后在内容浏览器中的文件结构如下图所示。
    在这里插入图片描述


29.5 Summary

本节课从 Mixamo 官网获取角色 “CRYPTO”,下载其对应的 FBX Binaries 文件 “Ch45_nonPBR” 导入虚幻引擎中,重命名为 “MixamoCharacter”;我们还下载了该角色有关的动画,包括跳跃、站立转向和蹲下转向等。接着,借助虚幻引擎 5 的重定向工具 “IK Rig” 和 “IK Retargeter” 将 Mixamo 角色 “MixamoCharacter” 的动画重定向为 “Animation Starter Pack" 角色 “SK_Mannequin” 的动画:我们使用 “IK Rig” 工具新增来自两个角色骨骼的重定向链,并使用 “IK Retargeter” 工具进行链映射以及角色姿势调整,这使得两个角色的动画更加相似,然后输出重定向动画即可。参照以上过程,我们也可以将角色 “SK_Mannequin” 的所有动画重定向为 “LearningKit_Games” 的角色 “SK_EpicCharacter” 的动画。最后,我们将项目 “UnrealLearningKitGames” 的角色 “SK_EpicCharacter” 及其所有动画资产迁移至项目 “Blaster”,并在项目 “Blaster” 的内容浏览器中对文件结构进行整理。
在这里插入图片描述

29.1 从 Mixamo 官网获取动画步骤 8 中, “FBX导入选项” 对话框的几个设置都非常重要:取消勾选 “导入网格体” 复选框,在 “网格体-骨骼” 选项下选择 “Ch45_nonPBR_Skeleton”,在 “动画-动画长度” 选项下选择 “设置范围”,这样在 “高级-帧导入范围” 选项就可以进行设置,设置 “最大” 为 30

29.2 Mixamo 角色动画重定向为 “Animation Starter Pack” 角色动画 中,由于 UE5 使用了不同于 UE4 的重定向目标工具 “IK Retarget” ,因此进行动画重定向的步骤将主要参考 《【UE5教程】10分钟学会新功能动画重定向!》,这与本节课教学视频中展示的步骤有所不同。
步骤 3 中如果没有在 “NewIKRig” 编辑窗口中 设置 “SK_Mannequin” 的 “骨盆”(“pelvis”)为重定向根 ,那么在下面的 步骤 7 中启用编辑姿势按钮后,将无法使用旋转工具控制 “SK_Mannequin” 的骨骼网格体节点进行旋转(拖动时骨骼无反应)。
步骤 4 建立链映射关系时,笔者没有在 “NewRig” 新增与 “root” 和 “pelvis” 相关的链条,没有在 “NewRig1” 中新增与 “Hips” 相关的链条。因为经笔者测试发现,在不新增上述链条的情况下进行重定向后 “MixamoCharacter” 的动画和 “SK_Mannequin” 动画也能保持相似。如果一定要新增上述链条,需要在 “链映射” 中保证 “MixamoCharacter_Skeleton” 的 “Hips” 与 “SK_Mannequin” 的 “root” 对应,“SK_Mannequin” 的 “pelvis” 对应 “None”,进行重定向后 “MixamoCharacter_Skeleton” 的动画和 “SK_Mannequin” 动画还是可以保持相似的。
步骤 11 查看重定向后的动画时,如果发现骨骼错位,则可以在左侧 “骨骼树” 面板设置 “显示重定向选项”,然后右键单击 “root” 节点,在弹出的下拉菜单栏中选择 “递归设置平移重定向骨骼”后,设置 “root” 的平移重定向为 “动画”,“pelvis” 的平移重定向为 “缩放动画”。

29.4 资产迁移至项目 “Blaster”步骤 4 移动某个文件夹后,发现原位置仍存在原文件夹,但该文件夹中内容为空,这是因为虚幻引擎仍然保留了该文件夹的重定向器,即包含移动之前该文件夹中的资产路径,我们可以右键单击该文件夹,在弹出的下拉菜单中选择 “修复文件夹中的重定向器”,然后删除该文件夹即可。


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习-05】模型的评估与选择

在前面【机器学习-01】机器学习基本概念与建模流程的文章中我们已经知道了机器学习的一些基本概念和模型构建的流程,本章我们将介绍模型训练出来后如何对模型进行评估和选择等 1、 误差与过拟合 学习器对样本的实际预测结果与真实值之间的差异,我们称之…

蓝桥刷题--四元组问题和肖恩的投球游戏加强版

1.四元组问题 我的这个代码有点问题&#xff0c;我也找不出来&#xff0c;哪位大佬指正一下 // 四元组问题 //思路 // 是否存在 a < b < c < d, 使得nums[d] < nums[c] < nums[a] < nums[b] //分别维护二元组 (a, b) 和 (c, d), 对合法 b 维护前缀 max 的 n…

安卓Android入门

安卓作为日常生活中不可缺少的移动操作系统&#xff0c;在5G的发展和应用过程中发挥着其重要的作用。 5G是第五代移动通信技术&#xff0c;拥有更快的速度、更高的带宽、更低的延迟和更大的连接密度。这一技术的快速发展为移动设备和应用提供了更多的可能性。 安卓和5G的关系…

低代码 + 大模型,让业务系统智能化,加速想法落地

1 AI 时代下的应用 大模型来了&#xff0c;每个行业/领域都在融合大模型。作为低代码开发的探索者&#xff0c;今天我们来聊聊业务系统是如何融合大模型实现智能化的。 我们用百度内部实际应用场景来举例。比如请假&#xff0c;智能业务助手可以帮你&#xff1a; 了解…

卸载torch并更新版本,torch-gpu的下载安装--亲测有效!!

以前一直抱怨实验室的cuda版本&#xff0c;以前是10.1&#xff0c;导致只能安装最低配版本的torch&#xff0c;也就是torch1.8.1&#xff0c;现在内核版本和驱动都更新了&#xff0c;变成了cuda11.4&#xff0c;以前的环境都没办法跑代码&#xff0c;只能重新进行卸载安装。 1…

计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析

概要 在21世纪的今天&#xff0c;网络发展越来越快&#xff0c;网上的娱乐方式也越来越多样化&#xff0c;而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示&#xff0c;直到2019年的10月份&#xff0c;B…

flowable-ui部署

版本 java: java8+tomcat: apache-tomcat-9.0.87flowable: flowable-6.8.1mysql驱动: mysql-connector-java-8.0.30.jar 注意:版本一定要对,否则启动报错执行数据库脚本 创建数据库flowable执行脚本,脚本位于解压flowable-6.8.1.zip后的flowable-6.8.1/database/create/all/…

机器学习——终身学习

终身学习 AI不断学习新的任务&#xff0c;最终进化成天网控制人类终身学习&#xff08;LLL&#xff09;&#xff0c;持续学习&#xff0c;永不停止的学习&#xff0c;增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘&#xff0c;在之前的任务上表现不好…

MySQL数据库的基本概念与安装

目录 引言 一、数据库的基本概念 &#xff08;一&#xff09;数据、表与数据库 1.数据(Data) 2.表 3.数据库 &#xff08;二&#xff09;数据库管理系统 &#xff08;三&#xff09;数据库系统 二、数据库的发展 三、主流数据库的介绍 &#xff08;一&#xff09;关…

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端&#xff0c;然后输入以下内容&#xff0c;其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…

杰发科技AC7801——读取Flash数据做CRC校验

查看Keil的编译结果发现总共6160个字节。计算结果如下&#xff0c; 代码如下 #include "ac780x_crc.h" #include "ac780x.h" #include "ac780x_debugout.h" #include "string.h" #include "ac780x_eflash.h"#define TestSi…

2024年第二届亚洲前沿图像处理会议(AAIP 2024)即将召开!

2024年第二届亚洲前沿图像处理会议(AAIP 2024)将于2024年7月26-28日在泰国曼谷召开。本次会议由温特沃斯理工学院、国立中山大学、泰国国立法政大学联合主办&#xff0c;JOIG期刊参与支持。会议旨在促进图像处理相关领域学术交流与合作&#xff0c;热忱欢迎从事相关技术研究的专…

【PyQt】17-日历控件

文章目录 前言一、代码二、运行结果总结 前言 固定格式的表述 日期的获取 一、代码 #Author &#xff1a;susocool #Creattime:2024/3/19 #FileName:40-日历控件 #Description: 日历控件的展示 import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQ…

麒麟 V10 一键安装 Oracle 11GR2(231017)单机版

Oracle 一键安装脚本&#xff0c;演示 麒麟 V10 一键安装 Oracle 11GR2 单机版过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;Shell脚本安装Oracle数据库 脚本第…

代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

题目&#xff1a;20. 有效的括号 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:20.有效的括号 题目链接&#xff1a;力扣题目链接 图释&#xff1a; class Solution { public:// 有效的括号 bool isValid(string s) {// 遇到左括号时就放入右括号&#xf…

【C语言】结构体类型名、变量名以及typedef

文章目录 分类判断结构体成员的使用typedef 分类判断 struct tag {char m;int i; }p;假设定义了上面这一个结构体&#xff0c;tag 就是类型名&#xff0c; p 就是变量名&#xff0c; m 和 i 就是结构体成员列表。 可以这么记&#xff0c;括号前面的是类型名&#xff0c;括号后…

尝试搭建谷粒商城 记录(四)

1、分布式组件 父工程引入依赖&#xff08;已完成&#xff09; spring boot 2.1.8.RELEASE spring cloud Greenwich.SR3 spring cloud alibaba 2.1.0.RELEASE 1. nacos用作服务注册中心 1、nacos下载安装 下载地址&#xff1a; https://github.com/alibaba/nacos/rel…

教务管理系统(java+mysql+jdbc+Druid+三层架构)

1、项目要求 1.1数据库表描述 设计一个教务管理系统&#xff0c;要求如下&#xff1a; 系统涉及的表有 account表&#xff08;账号表&#xff09; teacher表&#xff08;教师表&#xff09; student表&#xff08;学生表&#xff09; course表 (课程表) score表&#xff08;成…

【运维】MacOS Wifi热点设置

目录 打开热点 配置共享网段 打开热点 打开macOS设置&#xff0c;进入通用->共享 点击如下图标进行配置&#xff0c; 会进入如下界面&#xff08;⚠️目前是打开共享状态&#xff0c;无法修改配置&#xff0c;只有在未打开状态才能进入配置&#xff09; 配置完成后&#x…

STM32-DMA数据转运

DMA进行转运的条件 1&#xff1a;开关控制&#xff0c;DMA_CMD必须使能2&#xff1a;传输计数器必须大于03&#xff1a;触发源必须有触发的信号