【maya 入门笔记】基本视图和拓扑
1. 界面布局
先看基本窗口布局,基本窗口情况如下:
就基本窗口布局的情况来看,某种意义上跟blender更像一点(与3ds max相比)。
那么有朋友就说了,玛格基,那blender最下面的时间轴哪里去了?没有时间轴还像blender吗!
没关系,maya提供了多种可选的默认布局。直接窗口-工作区-maya经典进行布局切换,时间轴就出来了。
1.1视图操作
maya的视图操作:alt+鼠标三键
alt + 鼠标左键:旋转视图
alt + 鼠标中键:平移视图
alt + 鼠标右键:缩放视图(与滚动中间相比,为平滑缩放)
回到原始视图:A
快速三/六视图切换:
1)空格+鼠标右键
2)通过工具盒的视图切换进行单视图/双视图/四视图的切换
关于实例的显示/隐藏:
选定指定的mesh,按H即可
maya不像blender那样通过H以及alt + H的方法来做显示及隐藏的切换,统一都通过H一键完成
同样的,也支持基于特定点线面的显示与隐藏。
关于隔离选择:
类似于blender的/键,仅显示当前选中进行编辑的物体。
隔离选择无法做到面向点线面级别的隔离。
关于参考图:
1)参考图导入
工作区内 视图-图像平面-导入图像即可,类似于blender的import image as plane
需要注意的是,导入的参考图会依据当前的摄像机观察角度进行适应性调整,所以强烈推荐在四视图下的工作区,在对应的视图下导入参考如。
2)参考图透明度调整
导入参考图后,在右侧属性/通道盒内进行调整
1.2基本编辑操作
都是自动桌的产品,跟3ds max一样
QWER对应选择,移动,旋转,缩放。
关于编辑模式的切换方法:
(需要注意的是,与3ds和blender不同,maya没法在编辑模式下通过主键盘数字123来进行点,线,面编辑的切换)
1)快捷键:点击选中物体后,保持鼠标位置不动,长按鼠标右键
2)也可以通过面板直接切换
关于复制:
选中特定实例,按shift,进行WER操作即可
这里注意的是,进行过一次复制+位移后,通过shift+D可以直接进行固定偏移的实例复制,也算是maya的一个特色功能?
关于循环边:
maya无法通过ctrl + R快捷键直接进行循环边切割。
需要通过网格工具选中相关功能,然后点击mesh的指定边,进行循环边的添加。
一般来说,我们需要手动按qwer功能来退出添加循环边的功能,否则系统会一直添加循环边。
比如这里,通过点击圆柱体的其中一条竖边进行循环边的插入。
快速选中循环边:边编辑模式下,鼠标左键双击指定边
sp)实现循环边的对半分割:
像常规的循环边插入模式下,只能手动选择切割位置,基本上无法像blender那样默认在中间切割。
需要在边编辑模式下,选择对应边,然后ctrl + 右键,进入循环边工具,选择“到环形边并分割”选项,就会实现对半分割。
关于mesh的分离:
相互孤立的mesh,可以通过网格-分离,直接进行分离。
当然如果不存在孤立mesh,直接进行分离就会报错
通过shift + 鼠标右键启动网格工具面板,选择分离组件
关于倒角:
maya的倒角工具快捷键和blender一样 ctrl + B,有种意外的熟悉感。。
关于挤出:
快捷键ctrl + E
关于内插面:
blender里面可以通过i键之间创建内插面,maya没有直接的内插面逻辑,需要通过挤出+缩放来实现内插面
关于原点
1)解锁/启用原点变换锁定:D
2)使原点位于几何中心:
使用顶栏工具架的快捷键
关于捕捉:
按住V键激活捕捉。我觉得maya比较有意思的一点是,可以自动切换点线面的捕捉模式。
以捕捉+原点变换为例,按住V + D进行原点捕捉变换后,能够自动根据鼠标位置,变换到指定点线面上,但是会根据对应实例的法向情况改变原点轴指向,且变换后的原点轴指向无法通过变换到几何中心进行重置,这个有点奇怪。
以调整对应突出点到平面为例,按住V然后进行平移即可,但是多点间形成平面,用捕捉工具去做就需要逐一去对齐,特别麻烦。
那么这里就有朋友想问了,那么物体间的捕捉来做平移变换的对齐,效果是咋样呢?
1)基于对象模式来做捕捉平移
会以原点为中心进行面捕捉
2)面编辑模式下,进行捕捉平移
会直接拉长对应的面
3)先切换原点到接触面,再进行捕捉平移
正确捕捉平移
关于删除:
maya的顶点/边/面的删除,默认不会影响整体的造型。
如我们对一个立方体进行两次环切,得到下面的立方体。
删除第二条循环边后,顶点仍存在。
删除对应六个顶点后,面结构仍存在
选择对应影响造型的顶点后,无法通过delete直接删除顶点。
需要通过shift + 右键的方式进行删除。
关于软选择/影响范围:
通过B键启动软选择模式,类似于blender的影响范围。
启用软选择后进行编辑操作,范围内的顶点都会受到影响。
按住B拉动鼠标左键,调整软选择范围。
关于桥接:
maya的桥接工具比较全能,像传统的补漏洞式的桥接完全胜任,同时也能做一下跨孤立mesh间的桥接。如做管道之类的,非常的高效。
但同样的,maya的桥接工具也无法实现对相邻边的补洞。
关于切割:
当需要对多边面进行切割重拓扑的时候(类似于blender的K键,但并不是blender那样的实时显示切割线的方式)
shift +右键 多切割功能
关于布尔:
做硬表面的时候,基本上逃不了要使用布尔,maya的布尔功能在 网格-布尔里面
关于编辑历史:
与blender不同,当我们使用布尔之类的编辑操作后,maya会留下操作历史的相关记录。
如下图,通过立方体和柱体进行布尔差集操作后,原本的立方体和柱体mesh会转换成编辑历史记录。
可以通过工具架组件或alt shift D进行编辑历史的删除。
2. 个人感想和吐槽
总的来说,比起3ds max和blender的差别,maya和blender的拓扑功能更相似,对于blender用户也更友好,但也有一些功能设计思路上的区别。与3dsmax相比,maya又完全抛弃了编辑修改器的设定,用户执行的操作不以修改器的形式记录,而以输入节点的形式存在,用户是对节点进行编辑操作。
1)maya不存在单独的编辑模式,可以直接从物体模式切换到点线面的编辑模式。
2)插入循环边工具不存在快捷的多分割选项,而且一次只能插入一条循环边,重复操作的情况比较多,且均等分割功能也不是这么方便,经常插入不到我想均分的地方。
3)对于一些非法拓扑的判定更宽松,像3ds max可以复制顶点,但是孤立顶点间无法进行连接或合并,而maya在进行顶点复制时,会默认挤出新的面,直接避免了孤立点的问题。且对于真正意义上的孤立点,maya可以通过“附加到多边形”工具来进行处理。就拓扑上的自由度来说,blender > maya > 3ds max,所以整体来说,blender做拓扑的时候感觉是比自动桌的东西更爽一点。。。
4)镜像工具是一次性成型的,而不支持对于镜像前拓扑的进行修改,并实时反馈到镜像的结果。相对来说,blender的镜像工具更友好一些。并且blender的镜像工具支持基于特定实例的镜像,同时也支持自动防止边界跨越。
5)多选工具也比较鸡肋,一方面是不支持基于路径的连续选择,有些情况下,需要手动去逐一选择连续路径上的点线面实例,而且有好几次在非透视模式下,进行框选后都会选中视角背面的点线面实例,不知道是否为版本限定的bug。
相关文章:
【maya 入门笔记】基本视图和拓扑
1. 界面布局 先看基本窗口布局,基本窗口情况如下: 就基本窗口布局的情况来看,某种意义上跟blender更像一点(与3ds max相比)。 那么有朋友就说了,玛格基,那blender最下面的时间轴哪里去了&…...
IO 流分类
一、File File 类(磁盘操作)可以用于表示文件和目录的信息,但是它不表示文件的内容。递归地列出一个目录下所有文件: public static void listAllFiles(File dir) {if (dir null || !dir.exists()) {return;}if (dir.isFile())…...
JVM的主要组成部分,以及它们的作用。JVM中的内存区域有哪些,它们各自的作用是什么?什么是Java的堆内存,它如何影响程序的性能?
JVM的主要组成部分,以及它们的作用 JVM(Java虚拟机)的主要组成部分包括类加载器(Class Loader)、运行时数据区(Runtime Data Area)、执行引擎(Execution Engine)、本地库…...
Qt QWidget以及各种控件、布局 核心属性(适合入门使用时查询)
目录 1. QWidget核心属性 2. 按钮类控件 2.1 PushButton 核心属性 2.2 RadioButton 核心属性 2.3 CheckBox 和 Tool Button 核心属性 3. 显示类控件 3.1 Label 核心属性 3.2 LCDNumber 核心属性 3.3 ProgressBar 核心属性 3.4 Calendar Widget 核心属性 4. 输入类控…...
svg图片构造QGraphicsSvgItem对象耗时很长的问题解决
目录 1. 问题的提出 2. 问题解决 1. 问题的提出 今天通过一张像素为141 * 214,大小为426KB的svg格式的图片构造QGraphicsSvgItem对象,再通过Qt的Graphics View Framework框架,将QGraphicsSvgItem对象显示到场景视图上,代码如下&…...
边坡位移监测设备:守护工程安全的前沿科技
随着现代工程建设的飞速发展,边坡位移监测作为预防山体滑坡、泥石流等自然灾害的重要手段,日益受到人们的关注。边坡位移监测设备作为这一领域的关键技术,以其高精度、实时监测的特点,成为守护工程安全的重要武器。 一、边坡位移…...
Qt使用单例模式读取xml文件
Qt使用单例模式读取xml文件 一、单例模式介绍1、什么是单例模式2、为什么使用单例模式3、什么情况下使用单例模式4、使用单例模式需要注意哪些问题线程安全 5、单例模式的类型6、单例类的特点 2、单例模式的实现2.1懒汉式2.2饿汉式 一、单例模式介绍 1、什么是单例模式 单例模…...
备战蓝桥杯 Day6(学习动态规划)
引入 支付问题 假设有无限多的硬币,硬币面值为1,5,11。现在需要支付15元,问最少使用的硬币数? 贪心策略:1511*11*4,145 真正的答案153*5 3 dp的两个性质 最优子结构无后效性 dp的两大要素 1.状态2.状态转移方程 思路…...
【uniapp】自定义步骤条样式
代码实现 <view class"steps-wrap"><view class"flex-box"><view class"number active-number">1</view><view class"desc active-desc">步骤1</view><view :class"[line, activeStep …...
UE5 C++ UObject实例化
一.创建UObject C类 在MyObject中声明结构体FMyDataTableStruct 在MyPawn里面,先将头文件里包含 MyObject.h 在MyPawn中声明一个UMyObject类型的指针 TSubclassOf 是提供 UClass 类型安全性的模板类。例如您在创建一个投射物类,允许设计者指定伤害类型…...
Appium环境安装与架构介绍
Appium架构 Appium 设计哲学 不需要为了自动化而重新编译或修改被测应用不应该让移动端自动化测试限定在某种语言或者某个具体的框架不要为了移动端的自动化测试而重新造轮子移动端自动化测试应该是开源的 Appium 架构 Appium 架构图如下: Appium 的核心是一个 …...
Vue+Vite项目初建(axios+Unocss+iconify)
一. 创建项目 npx --package vue/cli vue 项目成功启动后,进入http://localhost:3200,即可进入创建好的页面(假设启动端口为3200) 二. 测试网络通讯模块 假设有本地服务器地址localhost:8000提供接口服务,接口为localhost:8000/token&#…...
ASUS华硕枪神8笔记本电脑G614JIR,G814JVR,G634JYR,G834JZR工厂模式出厂Windows11系统 带重置还原功能
适用ROG枪神8系列笔记本型号: G614JIR、G614JVR、G634JYR、G634JZR G814JIR、G814JVR、G834JYR、G834JZR 链接:https://pan.baidu.com/s/1tYZt6XFNC2d6YmwTbtFN7A?pwd3kp8 提取码:3kp8 带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主…...
Python入门:常用模块—xml模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单 xml的格式如下,就是通过<>节点来区别数据结构的: <data> <country name"Liechtenstein"> <rank updated"yes"…...
蓝队应急响应工具箱v2024.1
1 蓝队工具箱 v2024.1 2 简介 蓝队工具箱是为打造一款专业级应急响应的集成多种工具的工具集,由真实应急响应环境所用到的工具进行总结打包而来,由 ChinaRan404,W 啥都学,清辉等开发者编写.把项目现场中所用到的工具连同环境一同打包,并实…...
Linux中获取字符串长度与获取子字符串
一、 获取字符串长度 #!/bin/bash string"jobs" echo ${string} # 输出结果: jobs echo ${#string} # 输出结果: 4 二、提取子字符串 以下实例从字符串第 2 个字符开始截取 4 个字符: #!/bin/bash str"敢于亮剑决不后退" echo ${str:2:…...
Rust语言之sha-256爆破
文章目录 一、实现Sha-256加密1.创建项目2.编写Cargo.toml文件3.编写程序代码 二、sha256爆破1.获取命令行参数2.读取文件3.校验输入参数4.暴力破解 一、实现Sha-256加密 SHA-256是一种安全哈希算法,主要特点是将输入的数据(无论长度)通过特定…...
Rust中的字符串处理及相关方法详解
在Rust中,字符串是一种非常重要的数据类型,而String类型则提供了对动态可变字符串的支持。本文将介绍一些常见的字符串处理方法以及相关示例代码。 创建字符串 在Rust中,有多种方式创建字符串,以下是一些常见的例子:…...
NS安装-CentOS服务器安装Nightscout CGM
NS CGM 安装必要条件 有自己的云服务器好像没有2,有云服务器就行了 安装顺序 先安装数据库,目前支持的是 MongoDB ,官方推荐4,其实目前最新版本就行。可以用宝塔安装,比较简单克隆代码,我是放到 /opt/ns…...
利用ChatGPT提升工作效率
随着科技的飞速发展,人工智能逐渐成为我们生活的一部分。ChatGPT作为一种先进的自然语言处理技术,已经在各个领域取得了显著的成果。本文将探讨如何利用ChatGPT提升工作效率,让我们的生活变得更加便捷。 一、什么是ChatGPT? ChatG…...
django admin页面美化
美化 Django Admin 页面可以通过多种方式实现,从简单的 CSS 样式调整到完全自定义模板。以下是一些建议和步骤来美化 Django Admin 页面: 1. 使用 CSS 覆盖默认样式 这是最简单的方法,你可以通过添加自定义 CSS 文件来覆盖 Django Admin 的…...
Git 操作以及Git 常见问题
Git 操作 git 教程:https://www.runoob.com/git/git-tutorial.html 基本概念 工作区:克隆项目到本地后,项目所在的文件夹; 暂存区:从工作区添加上来的变更(新增,修改,删除ÿ…...
如何学习和规划类似ChatGPT这种人工智能(AI)相关技术
学习和规划类似ChatGPT这种人工智能(AI)相关技术的路径通常包括以下步骤: 学习基础知识: 学习编程:首先,你需要学习一种编程语言,例如Python,这是大多数人工智能项目的首选语言。数学…...
4 月 9 日至 4 月 10 日,Hack.Summit() 2024 首聚香江
Hack.Summit() 是一系列 Web3 开发者大会。2024 年的活动将于 2024 年 4 月 9 日至 4 月 10 日在香港数码港举行。自十年前首次举办以来,此次会议标志着 Hack.Summit() 首次在亚洲举办,香港被选为首次亚洲主办城市,这对 Hack VC 和该地区都具…...
[力扣 Hot100]Day29 删除链表的倒数第 N 个结点
题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 出处 思路 两个指针间隔n,一趟遍历解决。 代码 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* phead;ListNode* …...
探索设计模式的魅力:掌握命令模式-解锁软件设计的‘遥控器’
🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,并且坚持默默的做事。 引言:探索命令模式的奥秘 软件设计领域充满挑战与机遇,命令模式…...
LNMP搭建discuz论坛
discuz论坛是一种网络论坛软件,也称bbs,它是一种用于在互联网上建立论坛社区的程序系统。只哟中功能强大的论坛软件,可以帮助用户建立一个专业、完善的论坛社区,并且可以实现多种功能,如搭建用户注册、登录、查看主题、…...
257.【华为OD机试真题】幼儿园篮球游戏(贪心算法-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…...
[计算机网络]深度学习传输层TCP协议
💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录专栏:深度学习传输层TCP协议 🎉欢迎大家点赞👍评论📝收藏⭐文章 [计算机网络]深度学习传输层TCP协议 前提概括一: TCP协议段格式二:确认应答三:超时重传四:…...
动态头部:统一目标检测头部与注意力
摘要 在目标检测中,定位与分类相结合的复杂性导致了各种方法的蓬勃发展。以前的工作试图提高在不同的目标检测头的性能,但未能呈现一个统一的视图。在本文中,我们提出了一种新的动态头部框架来统一目标检测头部和注意力。通过在尺度感知的特…...
【状态估计】深度传感器与深度估计算法(1/3)
深度传感器与深度估计算法 深度传感器概念 获得空间中目标位置或距离的传感器,按接收的媒介波来源可分为主动式和被动式两大范畴,主动式包括激光雷达、雷达、超声波传感器等,被动式主要为单目、多目相机等,同时两大类可组合为混…...
ClickHouse从入门到精通(高级)
第1章 Explain查看执行计划 第2章 建表优化 第3章 ClickHouse语法优化规则 第4章 查询优化 第5章 数据一致性(重点) 第6章 物化视图 第7章 MaterializeMySQL引擎 第8章 常见问题排查...
什么是Docker的容器编排工具,它们之间有何不同?
随着Docker容器技术的广泛应用,容器编排工具成为了自动化部署、扩展和管理容器化应用程序的关键组件。这些工具提供了一种抽象层,帮助开发者和管理员更高效地管理大量的Docker容器,确保它们在不同的主机和环境中能够可靠地运行。目前…...
qml之Control类型布局讲解,padding属性和Inset属性细讲
1、Control布局图 2、如何理解? *padding和*Inset参数如何理解呢? //main.qml import QtQuick 2.0 import QtQuick.Controls 2.12 import QtQuick.Layouts 1.12 import QtQuick.Controls 1.4 import QtQml 2.12ApplicationWindow {id: windowvisible: …...
【Jvm】性能调优(拓展)Jprofiler如何监控和解决死锁、内存泄露问题
文章目录 Jprofiler简介1.安装及IDEA集成Jprofiler2.如何监控并解决死锁3.如何监控及解决内存泄露(重点)4.总结5.后话 Jprofiler简介 Jprofilers是针对Java开发的性能分析工具(免费试用10天), 可以对Java程序的内存,CPU,线程,GC,锁等进行监控和分析, 1.安装及IDEA集成Jprofil…...
运行错误(竞赛遇到的问题)
在代码提交时会遇见这样的错误: 此处运行错误不同于编译错误和答案错误,运行错误是指是由于在代码运行时发生错误,运行错误可能是由于逻辑错误、数据问题、资源问题等原因引起的。这些错误可能导致程序在运行时出现异常、崩溃。 导致不会显示…...
nodename nor servname provided, or not known
异常信息 在 Maven 打包过程中出现的 nodename nor servname provided, or not known 异常通常是由于 Maven 无法解析某个域名,这可能是因为网络问题、DNS 解析失败或者 Maven 配置中指定的仓库地址错误导致的。这个问题通常出现在 Maven 试图从远程仓库下载依赖时 …...
前端vue金额用逗号分隔
实现效果 代码 template部分 <el-input v-model"state.val"></el-input><div>{{ priceFor(state.val) }}</div> js部分 const state reactive({ val: });const priceFor (val)> {if(!val){return }else if(val.length<4){return…...
vulvhub-----Hacker-KID靶机
打靶详细教程 1.网段探测2.端口服务扫描3.目录扫描4.收集信息burp suite抓包 5.dig命令6.XXE漏洞读取.bashrc文件 7.SSTI漏洞8.提权1.查看python是否具备这个能力2.使用python执行exp.py脚本,如果提权成功,靶机则会开放5600端口 1.网段探测 ┌──(root…...
遨博I20协作臂关节逆解组Matlab可视化
AUBO I20协作臂关节逆解组Matlab可视化 前言1、RTB使用注意点2、代码与效果2.1、完整代码2.2、运行效果 总结 前言 注意:请预先配置好Matlab和RTB机器人工具箱环境,本文使用matlab2022b和RTB10.04版本 工作需要,使用matlab实现对六轴机械臂…...
力扣题目训练(15)
2024年2月8日力扣题目训练 2024年2月8日力扣题目训练507. 完美数520. 检测大写字母521. 最长特殊序列 Ⅰ221. 最大正方形237. 删除链表中的节点115. 不同的子序列 2024年2月8日力扣题目训练 2024年2月8日第十五天编程训练,今天主要是进行一些题训练,包括…...
PCB差模辐射是如何产生的
在电路应用中,高频时钟信号往往会采用差分线传输模式,其优点是在提高速率的同时减小功耗和提高抗扰度,因此,差模辐射就成为电路正常工作的结果,是电流流过导体形成的环路所产生,差模辐射模型可以被模拟为一个小环形天线,对于一个面积为A的小环路,载有电流Idm,在远场中…...
车载诊断协议DoIP系列 —— 协议中术语解释和定义
车载诊断协议DoIP系列 —— 协议中术语解释和定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,…...
【退役之重学前端】关于在控制台得到undefined的事
在浏览器控制台中,undefined 会时不时地,在我不想看到的地方出现。如果你遇到相同的问题,在这篇博客中你会得到答案。 先来看代码块 function test(){} test()//undefined再看下一个代码块 function test(){return 1; } test()//1再来看一个…...
指数和估计六大问题
1955年英国著名数学家R.A.Rankin在牛津大学出版的数学刊物Quart.J.Math.发表了论文(现 FRS D.R.Heath-Brown为主编),专门讲van der Corput方法产生的指数对理论(1933年E.Phillips提出的精彩理论,好友曲阜师范大学毕业中…...
【软件相关】基于Alist挂载云盘到本地文件资源管理器
文章目录 0 前言1 Alist挂载云盘2 RaiDrive配置3 rclone配置 0 前言 因为最近在研究各种云盘存储影视资源的方法,无意间看到一个教程是利用软件将云盘挂载到本地的资源管理器,这样就能实现类似本地文件操作的方式来操作云盘文件,还是有点意思…...
Java多线程系列——锁
0.引言 在并发编程中,锁是一种重要的同步机制,用于控制对共享资源的访问。Java 提供了多种锁的实现,每种锁都有不同的特性和适用场景。本文将深入介绍 Java 中常见的锁类型,包括内置锁、显式锁、读写锁等,并讨论它们的…...
蓝牙BLE学习-GAP
1.概述 GAP层(Generic access profile-通用访问配置文件)。GAP是对LL层payload(有效数据包)如何进行解析的两种方式的一种,而且也是最简单的一种。GAP简单的对LL payload进行一些规范和定义,因此GAP能实现的…...
算法训练营day28(补), 贪心算法2
//122. 买卖股票的最佳时机 II func maxProfit(prices []int) int { result : 0 //利润总和 for i : 1; i < len(prices); i { if prices[i]-prices[i-1] > 0 { result result (prices[i] - prices[i-1]) } } return result } //55. 跳跃游戏 func canJump(nums []…...
Vue核心基础4:绑定样式、条件渲染、列表渲染
1 绑定样式 【代码】 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>绑定样式</title><s…...