【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…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...