Update
BIN
Metahuman.pdf
Normal file
15
README.md
@ -1,15 +0,0 @@
|
|||||||
# Metahuman Customized Tool
|
|
||||||
|
|
||||||
Metahuman Customized Toolbag for Maya
|
|
||||||
|
|
||||||
## Tool Name
|
|
||||||
|
|
||||||
MetaFusion
|
|
||||||
|
|
||||||
## VERSION
|
|
||||||
|
|
||||||
Beta 1.0.0
|
|
||||||
|
|
||||||
## MAYA VERSION
|
|
||||||
|
|
||||||
2022~2025
|
|
70
goals.md
@ -38,8 +38,9 @@
|
|||||||
|
|
||||||
## 代码基本结构
|
## 代码基本结构
|
||||||
|
|
||||||
```
|
以"\"结尾的行为文件夹
|
||||||
.
|
|
||||||
|
```.
|
||||||
├── dnacalib\
|
├── dnacalib\
|
||||||
│ ├── CMakeModulesExtra\
|
│ ├── CMakeModulesExtra\
|
||||||
│ ├── DNACalib\
|
│ ├── DNACalib\
|
||||||
@ -150,10 +151,49 @@
|
|||||||
│ ├── MSLiveLink 参考模块:MSLiveLink
|
│ ├── MSLiveLink 参考模块:MSLiveLink
|
||||||
│ ├── SuperRiggingEditor 参考模块:SuperRiggingEditor
|
│ ├── SuperRiggingEditor 参考模块:SuperRiggingEditor
|
||||||
├── resources\
|
├── resources\
|
||||||
|
│ ├── assets\
|
||||||
|
│ │ ├── YAxisUp\
|
||||||
|
│ │ │ ├── full_rig.mb Y轴向上全身绑定Maya基础文件
|
||||||
|
│ │ │ ├── sub_ctrl.mb Y轴向上次级控制器Maya基础文件
|
||||||
|
│ │ ├── ZAxisUp\
|
||||||
|
│ │ │ ├── full_rig.mb Z轴向上全身绑定Maya基础文件
|
||||||
|
│ │ │ ├── sub_ctrl.mb Z轴向上次级控制器Maya基础文件
|
||||||
│ ├── dna\
|
│ ├── dna\
|
||||||
│ │ ├── NDA文件...
|
│ │ ├── NDA文件...
|
||||||
│ ├── icons\
|
│ ├── icons\
|
||||||
│ │ ├── NDA图标...
|
│ │ ├── NDA图标...
|
||||||
|
│ ├── data\
|
||||||
|
│ │ ├── MetaHuman\
|
||||||
|
│ │ │ ├── Deploy.dna 部署dna
|
||||||
|
│ │ │ ├── JointsInfo.json 骨骼基础信息
|
||||||
|
│ │ │ ├── VertexsInfo.json 顶点基础信息
|
||||||
|
│ │ ├── ARKit.json ARKit基础信息
|
||||||
|
│ │ ├── BodyJoints.json 身体骨骼基础信息
|
||||||
|
│ │ ├── JointsInfluence.json 骨骼影响基础信息
|
||||||
|
│ │ ├── Topology.json 拓扑基础信息
|
||||||
|
│ ├── maps\ 贴图路径(DDS)
|
||||||
|
│ ├── mask\ Mask贴图路径(TGA)
|
||||||
|
│ ├── meta_anim\
|
||||||
|
│ │ ├── meta_body_anim.py MetaHuman Body Animation
|
||||||
|
│ │ ├── meta_face_anim.py MetaHuman Face Animation
|
||||||
|
│ ├── meta_body_ctrl\
|
||||||
|
│ │ ├── meta_body_ctrl.py MetaHuman Body Control
|
||||||
|
│ ├── meta_motion_apply\
|
||||||
|
│ │ ├── match_files\
|
||||||
|
│ │ │ ├── metahuman_match_file.txt MetaHuman Motion 资源依赖文件
|
||||||
|
│ │ │ ├── meta_motion_apply.py MetaHuman Motion 应用
|
||||||
|
│ ├── shaders\
|
||||||
|
│ │ ├── dx11_shd_body.fx DX11身体材质
|
||||||
|
│ │ ├── dx11_shd_eyeLeft.fx DX11左眼球材质
|
||||||
|
│ │ ├── dx11_shd_eyeRight.fx DX11右眼球材质
|
||||||
|
│ │ ├── dx11_shd_head.fx DX11头材质
|
||||||
|
│ │ ├── dx11_shd_teeth.fx DX11牙齿材质
|
||||||
|
│ ├── skinCluster\
|
||||||
|
│ │ ├── CTRL_Root_Face.skin Skin Cluster
|
||||||
|
│ ├── additional_assemble_script.py 附加组装脚本
|
||||||
|
│ ├── analog_gui.ma 模拟图形用户界面MA文件
|
||||||
|
│ ├── gui.ma Maya GUI文件
|
||||||
|
│ ├── vtx_color.py 顶点色配置
|
||||||
├── scripts\
|
├── scripts\
|
||||||
│ ├── builder\
|
│ ├── builder\
|
||||||
│ │ ├── maya\
|
│ │ ├── maya\
|
||||||
@ -184,20 +224,28 @@
|
|||||||
│ │ ├── style.qss 样式文件
|
│ │ ├── style.qss 样式文件
|
||||||
│ │ ├── menu.py 菜单UI模块
|
│ │ ├── menu.py 菜单UI模块
|
||||||
│ │ ├── toolshelf.py 工具栏UI模块
|
│ │ ├── toolshelf.py 工具栏UI模块
|
||||||
│ │ ├── models.py 模型UI模块
|
│ │ ├── mesh.py 模型UI模块
|
||||||
│ │ ├── rigging.py 绑定UI模块
|
│ │ ├── rigging.py 绑定UI模块
|
||||||
│ │ ├── adjust.py 调整UI模块
|
│ │ ├── adjust.py 调整UI模块
|
||||||
│ │ ├── define.py 定义UI模块
|
│ │ ├── define.py 定义UI模块
|
||||||
│ ├── utils\
|
│ │ ├── menu_utils.py 菜单UI功能模块(文件,语言,帮助菜单功能,编辑和工具菜单功能从其他功能模块引用)
|
||||||
|
│ │ ├── mesh_utils.py 模型UI功能模块
|
||||||
|
│ │ ├── rigging_utils.py 绑定UI功能模块
|
||||||
|
│ │ ├── adjust_utils.py 调整UI功能模块
|
||||||
|
│ │ ├── define_utils.py 定义UI功能模块
|
||||||
|
│ ├── utils\ 功能模块
|
||||||
│ │ ├── __init__.py
|
│ │ ├── __init__.py
|
||||||
│ │ ├── menu.py 菜单功能模块(文件,语言,帮助菜单功能,编辑和工具菜单功能从其他功能模块引用)
|
│ │ ├── ... 功能模块
|
||||||
│ │ ├── models.py 模型功能模块
|
|
||||||
│ │ ├── rigging.py 绑定功能模块
|
|
||||||
│ │ ├── adjust.py 调整功能模块
|
|
||||||
│ │ ├── define.py 定义功能模块
|
|
||||||
│ ├── MetaFusion.py 插件启动框架
|
│ ├── MetaFusion.py 插件启动框架
|
||||||
├── CleanPycache.bat
|
├── CleanPycache.bat
|
||||||
├── Install.mel 拖入maya安装文件
|
├── Install.mel 拖入maya安装文件
|
||||||
├── Install.py 安装执行文件
|
├── Install.py 安装执行文件
|
||||||
├── CleanPycache.bat
|
├── CleanPycache.bat
|
||||||
```
|
├── Metahuman.pdf 官方Metahuman解析说明文档```
|
||||||
|
|
||||||
|
|
||||||
|
# 参考这些文件,并基于目前的项目文件来完善项目:
|
||||||
|
|
||||||
|
DNA Calibration Document : https://epicgames.github.io/MetaHuman-DNA-Calibration/index.html
|
||||||
|
MetaHuman-DNA-Calibration 代码:https://github.com/EpicGames/MetaHuman-DNA-Calibration
|
||||||
|
@Metahuman.pdf
|
1170
resources/additional_assemble_script.py
Normal file
951
resources/analog_gui.ma
Normal file
@ -0,0 +1,951 @@
|
|||||||
|
//Maya ASCII 2018ff08 scene
|
||||||
|
//Name: head_ac.ma
|
||||||
|
//Last modified: Wed, Apr 21, 2021 11:20:39 AM
|
||||||
|
//Codeset: 1252
|
||||||
|
requires maya "2018ff08";
|
||||||
|
requires "stereoCamera" "10.0";
|
||||||
|
currentUnit -l centimeter -a degree -t film;
|
||||||
|
fileInfo "application" "maya";
|
||||||
|
fileInfo "product" "Maya 2018";
|
||||||
|
fileInfo "version" "2018";
|
||||||
|
fileInfo "cutIdentifier" "201804211841-f3d65dda2a";
|
||||||
|
fileInfo "osv" "Microsoft Windows 8 Business Edition, 64-bit (Build 9200)\n";
|
||||||
|
createNode transform -s -n "persp";
|
||||||
|
rename -uid "1F733D66-48BC-F36A-95F0-85B776379FF9";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" 24.485336033143696 169.38252420185964 53.037144136961373 ;
|
||||||
|
setAttr ".r" -type "double3" -14.738352729976052 42.199999999997246 0 ;
|
||||||
|
setAttr ".rp" -type "double3" -8.8817841970012523e-16 0 -1.4210854715202004e-14 ;
|
||||||
|
setAttr ".rpt" -type "double3" 1.9335790755028676e-15 -8.2753054847504594e-16 3.4833295142429146e-17 ;
|
||||||
|
createNode camera -s -n "perspShape" -p "persp";
|
||||||
|
rename -uid "33E8B9B2-4CB3-2516-26DF-77BB12730D3B";
|
||||||
|
setAttr -k off ".v" no;
|
||||||
|
setAttr ".fl" 34.999999999999979;
|
||||||
|
setAttr ".fcp" 1000;
|
||||||
|
setAttr ".coi" 43.516841180429559;
|
||||||
|
setAttr ".imn" -type "string" "persp";
|
||||||
|
setAttr ".den" -type "string" "persp_depth";
|
||||||
|
setAttr ".man" -type "string" "persp_mask";
|
||||||
|
setAttr ".tp" -type "double3" 2.9223375320434575 158.78015124797821 9.5714322924613953 ;
|
||||||
|
setAttr ".hc" -type "string" "viewSet -p %camera";
|
||||||
|
createNode transform -s -n "top";
|
||||||
|
rename -uid "BB4ED561-41ED-487C-1D33-CF8A4B0897BD";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" -0.28301886792452824 100.1 0.51457975986277915 ;
|
||||||
|
setAttr ".r" -type "double3" -89.999999999999986 0 0 ;
|
||||||
|
createNode camera -s -n "topShape" -p "top";
|
||||||
|
rename -uid "45260076-45D4-A6A5-B953-A3A5EB644534";
|
||||||
|
setAttr -k off ".v" no;
|
||||||
|
setAttr ".rnd" no;
|
||||||
|
setAttr ".fcp" 1000;
|
||||||
|
setAttr ".coi" 100.1;
|
||||||
|
setAttr ".ow" 30;
|
||||||
|
setAttr ".imn" -type "string" "top";
|
||||||
|
setAttr ".den" -type "string" "top_depth";
|
||||||
|
setAttr ".man" -type "string" "top_mask";
|
||||||
|
setAttr ".hc" -type "string" "viewSet -t %camera";
|
||||||
|
setAttr ".o" yes;
|
||||||
|
createNode transform -s -n "front";
|
||||||
|
rename -uid "818C2BEB-4773-6A7B-8F67-34B4624793CD";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" -0.93640657189876109 158.21400996191252 184.61923504963326 ;
|
||||||
|
createNode camera -s -n "frontShape" -p "front";
|
||||||
|
rename -uid "906AC02E-43FF-58CF-105F-5EADA6CD732D";
|
||||||
|
setAttr -k off ".v" no;
|
||||||
|
setAttr ".rnd" no;
|
||||||
|
setAttr ".fcp" 1000;
|
||||||
|
setAttr ".coi" 100.1;
|
||||||
|
setAttr ".ow" 26.683629442125433;
|
||||||
|
setAttr ".imn" -type "string" "front";
|
||||||
|
setAttr ".den" -type "string" "front_depth";
|
||||||
|
setAttr ".man" -type "string" "front_mask";
|
||||||
|
setAttr ".hc" -type "string" "viewSet -f %camera";
|
||||||
|
setAttr ".o" yes;
|
||||||
|
createNode transform -s -n "side";
|
||||||
|
rename -uid "5795909A-43CB-84AB-8B20-5A89303D2FAD";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" 100.1 0 0 ;
|
||||||
|
setAttr ".r" -type "double3" 0 89.999999999999986 0 ;
|
||||||
|
createNode camera -s -n "sideShape" -p "side";
|
||||||
|
rename -uid "9A728A09-4A23-159B-0248-1696FEE647FF";
|
||||||
|
setAttr -k off ".v" no;
|
||||||
|
setAttr ".rnd" no;
|
||||||
|
setAttr ".fcp" 1000;
|
||||||
|
setAttr ".coi" 100.1;
|
||||||
|
setAttr ".ow" 30;
|
||||||
|
setAttr ".imn" -type "string" "side";
|
||||||
|
setAttr ".den" -type "string" "side_depth";
|
||||||
|
setAttr ".man" -type "string" "side_mask";
|
||||||
|
setAttr ".hc" -type "string" "viewSet -s %camera";
|
||||||
|
setAttr ".o" yes;
|
||||||
|
createNode transform -n "GRP_C_eyesAim";
|
||||||
|
rename -uid "709659EE-4602-72CC-4460-ECA2BD7E29D7";
|
||||||
|
setAttr ".t" -type "double3" 3.6739410342115364e-15 158.823 30 ;
|
||||||
|
setAttr ".r" -type "double3" 89.999999999999972 -6.3611093629270304e-15 89.999999999999972 ;
|
||||||
|
createNode transform -n "CTRL_C_eyesAim" -p "GRP_C_eyesAim";
|
||||||
|
rename -uid "45E674E2-47F2-9AB0-4C87-0FAF4A7D66C1";
|
||||||
|
setAttr -l on -k off ".v";
|
||||||
|
setAttr ".ovc" 17;
|
||||||
|
setAttr -l on -k off ".sx";
|
||||||
|
setAttr -l on -k off ".sy";
|
||||||
|
setAttr -l on -k off ".sz";
|
||||||
|
createNode mesh -n "CTRL_C_eyesAimShape" -p "CTRL_C_eyesAim";
|
||||||
|
rename -uid "FA0EBD96-4E9C-9FBD-730F-9D9888AD83F4";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
setAttr ".vir" yes;
|
||||||
|
setAttr ".vif" yes;
|
||||||
|
setAttr ".pv" -type "double2" 0.50000005960464478 0.625 ;
|
||||||
|
setAttr ".uvst[0].uvsn" -type "string" "map1";
|
||||||
|
setAttr ".cuvs" -type "string" "map1";
|
||||||
|
setAttr ".dcc" -type "string" "Ambient+Diffuse";
|
||||||
|
setAttr ".covm[0]" 0 1 1;
|
||||||
|
setAttr ".cdvm[0]" 0 1 1;
|
||||||
|
setAttr ".sdt" 0;
|
||||||
|
setAttr ".ugsdt" no;
|
||||||
|
setAttr -s 40 ".pt[0:39]" -type "float3" -2.1778078 -2.1091487 0.0010064747
|
||||||
|
-0.63444263 -2.0921736 2.5070686 0.87174493 -2.0049238 3.4610748 2.236877 -1.6531019
|
||||||
|
3.9886992 3.5849981 -0.92042053 4.6062508 4.7610202 0.013844609 4.8480072 5.4536204
|
||||||
|
0.9482013 4.6062512 5.5771995 1.6808825 3.9971507 4.7629995 2.0327044 3.4610763 3.4997358
|
||||||
|
2.0731709 2.5070701 1.9781556 2.1169405 0.0010064151 -2.2206321 -2.1519725 0.0010066237
|
||||||
|
-0.6689896 -2.1362562 2.5227318 0.85088497 -2.0431926 3.4801607 2.2288394 -1.6841838
|
||||||
|
4.0138559 3.6185279 -0.92718017 4.6465402 4.8093305 0.013844609 4.8963175 5.5159903
|
||||||
|
0.96101868 4.6558037 5.652595 1.7210438 4.0323839 4.8156238 2.0738878 3.4764824 3.5441055
|
||||||
|
2.1172686 2.507515 2.0209796 2.1597643 0.0010065641 -3.6832709 -2.0882215 -2.5070395
|
||||||
|
-4.935019 -2.0049543 -3.4561272 -5.7491007 -1.6531324 -3.9951358 -5.6255822 -0.92051208
|
||||||
|
-4.604238 -4.933013 0.013814091 -4.8459949 -3.7569308 0.94814026 -4.604239 -2.4152093
|
||||||
|
1.6807606 -3.9951372 -1.043855 2.0325823 -3.4561281 0.44689128 2.0731099 -2.5070415
|
||||||
|
-3.7268405 -2.1323347 -2.5061455 -5.0150599 -2.0554609 -3.4934902 -5.8321519 -1.6918133
|
||||||
|
-4.0395069 -5.7079926 -0.93958557 -4.6675749 -4.996635 0.013814091 -4.9096169 -3.8011932
|
||||||
|
0.96721387 -4.6675749 -2.4069414 1.7287494 -4.0348592 -1.008054 2.0799456 -3.4678564
|
||||||
|
0.48457316 2.117238 -2.5176306;
|
||||||
|
setAttr ".vnm" 0;
|
||||||
|
createNode mesh -n "polySurfaceShape1" -p "CTRL_C_eyesAim";
|
||||||
|
rename -uid "83C0EF37-455C-0D88-54F1-DB81B4114D7C";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
setAttr ".io" yes;
|
||||||
|
setAttr ".vir" yes;
|
||||||
|
setAttr ".vif" yes;
|
||||||
|
setAttr ".uvst[0].uvsn" -type "string" "map1";
|
||||||
|
setAttr -s 44 ".uvst[0].uvsp[0:43]" -type "float2" 0.25 0.75 0.30000001
|
||||||
|
0.75 0.35000002 0.75 0.40000004 0.75 0.45000005 0.75 0.50000006 0.75 0.55000007 0.75
|
||||||
|
0.60000008 0.75 0.6500001 0.75 0.70000011 0.75 0.75000012 0.75 0.25 0.5 0.30000001
|
||||||
|
0.5 0.35000002 0.5 0.40000004 0.5 0.45000005 0.5 0.50000006 0.5 0.55000007 0.5 0.60000008
|
||||||
|
0.5 0.6500001 0.5 0.70000011 0.5 0.75000012 0.5 0.30000001 0.75 0.25 0.75 0.25 0.5
|
||||||
|
0.30000001 0.5 0.35000002 0.75 0.35000002 0.5 0.40000004 0.75 0.40000004 0.5 0.45000005
|
||||||
|
0.75 0.45000005 0.5 0.50000006 0.75 0.50000006 0.5 0.55000007 0.75 0.55000007 0.5
|
||||||
|
0.60000008 0.75 0.60000008 0.5 0.6500001 0.75 0.6500001 0.5 0.70000011 0.75 0.70000011
|
||||||
|
0.5 0.75000012 0.75 0.75000012 0.5;
|
||||||
|
setAttr ".cuvs" -type "string" "map1";
|
||||||
|
setAttr ".dcc" -type "string" "Ambient+Diffuse";
|
||||||
|
setAttr ".covm[0]" 0 1 1;
|
||||||
|
setAttr ".cdvm[0]" 0 1 1;
|
||||||
|
setAttr ".sdt" 0;
|
||||||
|
setAttr ".ugsdt" no;
|
||||||
|
setAttr -s 44 ".pt[0:43]" -type "float3" -8.9406967e-08 -170.35814
|
||||||
|
-30 -4.4703484e-08 -170.36223 -30 7.4505806e-09 -170.37811 -30 -1.4901161e-07 -170.37811
|
||||||
|
-30 -2.3841858e-07 -170.37817 -30 -2.9802322e-08 -170.37811 -30 -2.682209e-07 -170.37814
|
||||||
|
-30 -5.9604645e-08 -170.3782 -30 2.9802322e-08 -170.3782 -30 0 -170.37814 -30 0 -170.37819
|
||||||
|
-30 -2.682209e-07 -170.35834 -30 0.02161561 -170.36226 -30 0.043231159 -170.38104
|
||||||
|
-30 0.064846814 -170.38106 -30 0.05558297 -170.39049 -30 0.052495062 -170.37811 -30
|
||||||
|
0.046319276 -170.37189 -30 0.046319306 -170.38434 -30 0.046319149 -170.37819 -30
|
||||||
|
0.030879304 -170.37811 -30 -1.1920929e-07 -170.37799 -30 0 -170.35825 -30 0 -170.36618
|
||||||
|
-30 0 -170.37808 -30 0 -170.37808 -30 0 -170.37808 -30 0 -170.37808 -30 0 -170.37808
|
||||||
|
-30 0 -170.37808 -30 0 -170.37808 -30 0 -170.37808 -30 0 -170.37808 -30 0 -170.35825
|
||||||
|
-30 -0.031694796 -170.36618 -30 -0.027888168 -170.36877 -30 -0.037184224 -170.37343
|
||||||
|
-30 -0.032536194 -170.37808 -30 -0.037184224 -170.37808 -30 -0.032536194 -170.37808
|
||||||
|
-30 -0.041832253 -170.39204 -30 -0.049407061 -170.38425 -30 -0.024703529 -170.37808
|
||||||
|
-30 0 -170.37808 -30;
|
||||||
|
setAttr -s 44 ".vt[0:43]" 4.9378752e-07 172.4811554 30 -1.52639031 172.46821594 30
|
||||||
|
-2.90336728 172.39685059 30 -3.99614239 172.045028687 30 -4.60524416 171.31240845 30
|
||||||
|
-4.84700108 170.37808228 30 -4.60524464 169.4437561 30 -3.99614358 168.71113586 30
|
||||||
|
-2.90336847 168.35931396 30 -1.52639163 168.31878662 30 -7.0791589e-07 168.27500916 30
|
||||||
|
-1.070642e-07 172.52407837 30 -1.55754161 172.5123291 30 -2.96262026 172.43804932 30
|
||||||
|
-4.0776968 172.079055786 30 -4.70111704 171.33148193 30 -4.94780731 170.37808228 30
|
||||||
|
-4.70111704 169.42468262 30 -4.077697277 168.67710876 30 -2.96262074 168.31811523 30
|
||||||
|
-1.55754197 168.2746582 30 4.3148738e-08 168.23208618 30 -4.9378752e-07 172.4811554 30
|
||||||
|
1.52639031 172.46821594 30 2.90336728 172.39685059 30 3.99614239 172.045028687 30
|
||||||
|
4.60524416 171.31240845 30 4.84700108 170.37808228 30 4.60524464 169.4437561 30 3.99614358 168.71113586 30
|
||||||
|
2.90336847 168.35931396 30 1.52639163 168.31878662 30 7.0791589e-07 168.27500916 30
|
||||||
|
1.070642e-07 172.52407837 30 1.55754161 172.5123291 30 2.96262026 172.43804932 30
|
||||||
|
4.0776968 172.079055786 30 4.70111704 171.33148193 30 4.94780731 170.37808228 30
|
||||||
|
4.70111704 169.42468262 30 4.077697277 168.67710876 30 2.96262074 168.31811523 30
|
||||||
|
1.55754197 168.2746582 30 -4.3148738e-08 168.23208618 30;
|
||||||
|
setAttr -s 62 ".ed[0:61]" 0 1 0 1 2 0 2 3 0 3 4 0 4 5 0 5 6 0 6 7 0
|
||||||
|
7 8 0 8 9 0 9 10 0 11 12 0 12 13 0 13 14 0 14 15 0 15 16 0 16 17 0 17 18 0 18 19 0
|
||||||
|
19 20 0 20 21 0 0 11 1 1 12 1 2 13 1 3 14 1 4 15 1 5 16 1 6 17 1 7 18 1 8 19 1 9 20 1
|
||||||
|
10 21 1 22 23 0 23 24 0 24 25 0 25 26 0 26 27 0 27 28 0 28 29 0 29 30 0 30 31 0 31 32 0
|
||||||
|
33 34 0 34 35 0 35 36 0 36 37 0 37 38 0 38 39 0 39 40 0 40 41 0 41 42 0 42 43 0 22 33 1
|
||||||
|
23 34 1 24 35 1 25 36 1 26 37 1 27 38 1 28 39 1 29 40 1 30 41 1 31 42 1 32 43 1;
|
||||||
|
setAttr -s 20 -ch 80 ".fc[0:19]" -type "polyFaces"
|
||||||
|
f 4 -1 20 10 -22
|
||||||
|
mu 0 4 1 0 11 12
|
||||||
|
f 4 -2 21 11 -23
|
||||||
|
mu 0 4 2 1 12 13
|
||||||
|
f 4 -3 22 12 -24
|
||||||
|
mu 0 4 3 2 13 14
|
||||||
|
f 4 -4 23 13 -25
|
||||||
|
mu 0 4 4 3 14 15
|
||||||
|
f 4 -5 24 14 -26
|
||||||
|
mu 0 4 5 4 15 16
|
||||||
|
f 4 -6 25 15 -27
|
||||||
|
mu 0 4 6 5 16 17
|
||||||
|
f 4 -7 26 16 -28
|
||||||
|
mu 0 4 7 6 17 18
|
||||||
|
f 4 -8 27 17 -29
|
||||||
|
mu 0 4 8 7 18 19
|
||||||
|
f 4 -9 28 18 -30
|
||||||
|
mu 0 4 9 8 19 20
|
||||||
|
f 4 -10 29 19 -31
|
||||||
|
mu 0 4 10 9 20 21
|
||||||
|
f 4 52 -42 -52 31
|
||||||
|
mu 0 4 22 25 24 23
|
||||||
|
f 4 53 -43 -53 32
|
||||||
|
mu 0 4 26 27 25 22
|
||||||
|
f 4 54 -44 -54 33
|
||||||
|
mu 0 4 28 29 27 26
|
||||||
|
f 4 55 -45 -55 34
|
||||||
|
mu 0 4 30 31 29 28
|
||||||
|
f 4 56 -46 -56 35
|
||||||
|
mu 0 4 32 33 31 30
|
||||||
|
f 4 57 -47 -57 36
|
||||||
|
mu 0 4 34 35 33 32
|
||||||
|
f 4 58 -48 -58 37
|
||||||
|
mu 0 4 36 37 35 34
|
||||||
|
f 4 59 -49 -59 38
|
||||||
|
mu 0 4 38 39 37 36
|
||||||
|
f 4 60 -50 -60 39
|
||||||
|
mu 0 4 40 41 39 38
|
||||||
|
f 4 61 -51 -61 40
|
||||||
|
mu 0 4 42 43 41 40;
|
||||||
|
setAttr ".cd" -type "dataPolyComponent" Index_Data Edge 0 ;
|
||||||
|
setAttr ".cvd" -type "dataPolyComponent" Index_Data Vertex 0 ;
|
||||||
|
setAttr ".pd[0]" -type "dataPolyComponent" Index_Data UV 0 ;
|
||||||
|
setAttr ".hfd" -type "dataPolyComponent" Index_Data Face 0 ;
|
||||||
|
setAttr ".vnm" 0;
|
||||||
|
createNode transform -n "GRP_L_eyeAim" -p "CTRL_C_eyesAim";
|
||||||
|
rename -uid "B4AE1E09-452A-75B7-D909-7FA8A9CAF3D8";
|
||||||
|
setAttr ".t" -type "double3" -0.042848632812507503 0 2.9223375320434446 ;
|
||||||
|
createNode transform -n "CTRL_L_eyeAim" -p "GRP_L_eyeAim";
|
||||||
|
rename -uid "80B54E56-4462-9CAA-0B13-0F9618FD5DC1";
|
||||||
|
setAttr -l on -k off ".v";
|
||||||
|
setAttr -l on -k off ".sx";
|
||||||
|
setAttr -l on -k off ".sy";
|
||||||
|
setAttr -l on -k off ".sz";
|
||||||
|
createNode mesh -n "CTRL_L_eyeAimShape" -p "CTRL_L_eyeAim";
|
||||||
|
rename -uid "3911CFF8-4AB7-A90C-137A-97A7FDF62665";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
setAttr ".vir" yes;
|
||||||
|
setAttr ".vif" yes;
|
||||||
|
setAttr ".uvst[0].uvsn" -type "string" "map1";
|
||||||
|
setAttr ".cuvs" -type "string" "map1";
|
||||||
|
setAttr ".dcc" -type "string" "Ambient+Diffuse";
|
||||||
|
setAttr ".covm[0]" 0 1 1;
|
||||||
|
setAttr ".cdvm[0]" 0 1 1;
|
||||||
|
setAttr ".sdt" 0;
|
||||||
|
setAttr ".ugsdt" no;
|
||||||
|
setAttr -s 40 ".pt[0:39]" -type "float3" 0 1.7572482e-07 1.7572484e-07
|
||||||
|
0 0.29581171 0.29581174 0 0.56266713 0.56266713 0 0.77444476 0.7744447 0 0.91041446
|
||||||
|
0.91041446 0 0.95726633 0.95726639 0 0.91041458 0.91041464 0 0.77444494 0.77444488
|
||||||
|
0 0.56266737 0.56266743 0 0.29581189 0.29581189 0 3.2127969e-07 3.2127969e-07 0 -0.29581127
|
||||||
|
-0.29581127 0 -0.56266677 -0.56266677 0 -0.77444458 -0.77444458 0 -0.91041434 -0.91041434
|
||||||
|
0 -0.95726633 -0.95726627 0 -0.91041446 -0.91041446 0 -0.77444494 -0.77444488 0 -0.56266713
|
||||||
|
-0.56266713 0 -0.29581171 -0.29581174 0 1.8110103e-07 1.8110103e-07 0 0.3129696 0.3129696
|
||||||
|
0 0.59530348 0.59530348 0 0.81936467 0.81936473 0 0.96322107 0.96322107 0 1.0127906
|
||||||
|
1.0127906 0 0.96322107 0.96322107 0 0.81936479 0.81936479 0 0.59530354 0.59530354
|
||||||
|
0 0.31296965 0.31296968 0 1.8110103e-07 1.8110103e-07 0 -0.31296933 -0.3129693 0
|
||||||
|
-0.59530324 -0.59530324 0 -0.81936461 -0.81936461 0 -0.96322107 -0.96322107 0 -1.0127906
|
||||||
|
-1.0127906 0 -0.96322107 -0.96322107 0 -0.81936479 -0.81936479 0 -0.59530342 -0.59530342
|
||||||
|
0 -0.31296939 -0.31296939;
|
||||||
|
setAttr ".vnm" 0;
|
||||||
|
createNode mesh -n "polySurfaceShape6" -p "CTRL_L_eyeAim";
|
||||||
|
rename -uid "9EB4F4D9-416D-E136-C7F5-D1A5B732EC1A";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
setAttr ".io" yes;
|
||||||
|
setAttr ".vir" yes;
|
||||||
|
setAttr ".vif" yes;
|
||||||
|
setAttr ".uvst[0].uvsn" -type "string" "map1";
|
||||||
|
setAttr -s 42 ".uvst[0].uvsp[0:41]" -type "float2" 0 0.75 0.050000001
|
||||||
|
0.75 0.1 0.75 0.15000001 0.75 0.2 0.75 0.25 0.75 0.30000001 0.75 0.35000002 0.75
|
||||||
|
0.40000004 0.75 0.45000005 0.75 0.50000006 0.75 0.55000007 0.75 0.60000008 0.75 0.6500001
|
||||||
|
0.75 0.70000011 0.75 0.75000012 0.75 0.80000013 0.75 0.85000014 0.75 0.90000015 0.75
|
||||||
|
0.95000017 0.75 1.000000119209 0.75 0 0.5 0.050000001 0.5 0.1 0.5 0.15000001 0.5
|
||||||
|
0.2 0.5 0.25 0.5 0.30000001 0.5 0.35000002 0.5 0.40000004 0.5 0.45000005 0.5 0.50000006
|
||||||
|
0.5 0.55000007 0.5 0.60000008 0.5 0.6500001 0.5 0.70000011 0.5 0.75000012 0.5 0.80000013
|
||||||
|
0.5 0.85000014 0.5 0.90000015 0.5 0.95000017 0.5 1.000000119209 0.5;
|
||||||
|
setAttr ".cuvs" -type "string" "map1";
|
||||||
|
setAttr ".dcc" -type "string" "Ambient+Diffuse";
|
||||||
|
setAttr ".covm[0]" 0 1 1;
|
||||||
|
setAttr ".cdvm[0]" 0 1 1;
|
||||||
|
setAttr ".sdt" 0;
|
||||||
|
setAttr ".ugsdt" no;
|
||||||
|
setAttr -s 40 ".pt[0:39]" -type "float3" -0.02273389 3.0891045e-09
|
||||||
|
-5.7187006e-34 -0.021621136 0.0070251282 1.5599001e-18 -0.01839206 0.013362584 2.9671128e-18
|
||||||
|
-0.013362616 0.018392069 4.083856e-18 -0.0070251394 0.021621138 4.8008984e-18 -4.8394493e-09
|
||||||
|
0.022733927 5.0479375e-18 0.0070251399 0.021621129 4.8008566e-18 0.01336265 0.018392088
|
||||||
|
4.0838577e-18 0.018392013 0.013362609 2.9670969e-18 0.021621313 0.0070251618 1.5598939e-18
|
||||||
|
0.02273389 6.5458567e-09 7.675519e-25 0.021621136 -0.0070251497 -1.5598986e-18 0.01839206
|
||||||
|
-0.013362652 -2.9670931e-18 0.013362586 -0.018392054 -4.0838577e-18 0.0070251776
|
||||||
|
-0.02162122 -4.8008574e-18 6.9134864e-10 -0.022733908 -5.0479508e-18 -0.0070251725
|
||||||
|
-0.021621138 -4.8008562e-18 -0.013362616 -0.018392054 -4.0838738e-18 -0.018392103
|
||||||
|
-0.013362618 -2.9670948e-18 -0.021621147 -0.007025131 -1.5598984e-18 0.012790322
|
||||||
|
-2.2870912e-09 3.1530611e-34 0.012164332 -0.0039524259 -8.7760844e-19 0.0103475 -0.0075179785
|
||||||
|
-1.6693239e-18 0.0075179739 -0.010347502 -2.29761e-18 0.0039524385 -0.012164305 -2.7010259e-18
|
||||||
|
1.1435455e-09 -0.012790285 -2.8400221e-18 -0.0039524059 -0.012164296 -2.7010261e-18
|
||||||
|
-0.0075179664 -0.010347499 -2.2976066e-18 -0.010347515 -0.007517979 -1.6693255e-18
|
||||||
|
-0.012164332 -0.003952425 -8.7761754e-19 -0.012790322 -2.2870912e-09 3.1530611e-34
|
||||||
|
-0.012164332 0.0039524091 8.7761754e-19 -0.0103475 0.0075179664 1.669327e-18 -0.0075179739
|
||||||
|
0.0103475 2.2976062e-18 -0.0039523952 0.012164305 2.7010195e-18 1.5247269e-09 0.012790278
|
||||||
|
2.8400154e-18 0.0039524245 0.012164296 2.701016e-18 0.0075179744 0.010347499 2.2976145e-18
|
||||||
|
0.01034756 0.0075179804 1.6693264e-18 0.012164234 0.003952397 8.7761485e-19;
|
||||||
|
setAttr -s 40 ".vt[0:39]" 0.98000002 1.110223e-16 2.4651903e-32 0.93203545 -0.30283666 -6.7243246e-17
|
||||||
|
0.79283673 -0.57602954 -1.2790425e-16 0.57602966 -0.79283667 -1.760451e-16 0.30283678 -0.93203545 -2.0695344e-16
|
||||||
|
8.9406967e-08 -0.98000014 -2.1760374e-16 -0.30283663 -0.93203557 -2.0695347e-16 -0.57602954 -0.79283684 -1.7604514e-16
|
||||||
|
-0.79283673 -0.57602978 -1.279043e-16 -0.93203557 -0.30283687 -6.7243292e-17 -0.98000026 -1.4901161e-07 -3.3087225e-23
|
||||||
|
-0.93203568 0.3028366 6.7243233e-17 -0.79283696 0.5760296 1.2790426e-16 -0.57602984 0.79283684 1.7604514e-16
|
||||||
|
-0.30283689 0.93203568 2.069535e-16 -1.4901161e-07 0.98000038 2.176038e-16 0.30283663 0.9320358 2.0695352e-16
|
||||||
|
0.57602966 0.79283708 1.760452e-16 0.7928369 0.57602996 1.2790434e-16 0.9320358 0.30283701 6.7243325e-17
|
||||||
|
1 1.110223e-16 2.4651903e-32 0.95105654 -0.309017 -6.8615558e-17 0.809017 -0.5877853 -1.3051456e-16
|
||||||
|
0.58778524 -0.80901706 -1.7963787e-16 0.30901697 -0.9510566 -2.1117699e-16 -2.9802322e-08 -1.000000119209 -2.2204463e-16
|
||||||
|
-0.30901706 -0.95105666 -2.11177e-16 -0.58778536 -0.80901712 -1.7963789e-16 -0.80901718 -0.58778536 -1.3051457e-16
|
||||||
|
-0.95105678 -0.30901706 -6.8615571e-17 -1.000000238419 1.110223e-16 2.4651903e-32
|
||||||
|
-0.95105678 0.30901706 6.8615571e-17 -0.80901724 0.58778542 1.3051458e-16 -0.58778548 0.8090173 1.7963793e-16
|
||||||
|
-0.30901715 0.95105696 2.1117707e-16 0 1.000000476837 2.2204471e-16 0.30901715 0.95105702 2.1117708e-16
|
||||||
|
0.5877856 0.80901748 1.7963797e-16 0.80901754 0.5877856 1.3051462e-16 0.95105714 0.30901718 6.8615598e-17;
|
||||||
|
setAttr -s 60 ".ed[0:59]" 0 1 0 1 2 0 2 3 0 3 4 0 4 5 0 5 6 0 6 7 0
|
||||||
|
7 8 0 8 9 0 9 10 0 10 11 0 11 12 0 12 13 0 13 14 0 14 15 0 15 16 0 16 17 0 17 18 0
|
||||||
|
18 19 0 19 0 0 20 21 0 21 22 0 22 23 0 23 24 0 24 25 0 25 26 0 26 27 0 27 28 0 28 29 0
|
||||||
|
29 30 0 30 31 0 31 32 0 32 33 0 33 34 0 34 35 0 35 36 0 36 37 0 37 38 0 38 39 0 39 20 0
|
||||||
|
0 20 1 1 21 1 2 22 1 3 23 1 4 24 1 5 25 1 6 26 1 7 27 1 8 28 1 9 29 1 10 30 1 11 31 1
|
||||||
|
12 32 1 13 33 1 14 34 1 15 35 1 16 36 1 17 37 1 18 38 1 19 39 1;
|
||||||
|
setAttr -s 20 -ch 80 ".fc[0:19]" -type "polyFaces"
|
||||||
|
f 4 -1 40 20 -42
|
||||||
|
mu 0 4 1 0 21 22
|
||||||
|
f 4 -2 41 21 -43
|
||||||
|
mu 0 4 2 1 22 23
|
||||||
|
f 4 -3 42 22 -44
|
||||||
|
mu 0 4 3 2 23 24
|
||||||
|
f 4 -4 43 23 -45
|
||||||
|
mu 0 4 4 3 24 25
|
||||||
|
f 4 -5 44 24 -46
|
||||||
|
mu 0 4 5 4 25 26
|
||||||
|
f 4 -6 45 25 -47
|
||||||
|
mu 0 4 6 5 26 27
|
||||||
|
f 4 -7 46 26 -48
|
||||||
|
mu 0 4 7 6 27 28
|
||||||
|
f 4 -8 47 27 -49
|
||||||
|
mu 0 4 8 7 28 29
|
||||||
|
f 4 -9 48 28 -50
|
||||||
|
mu 0 4 9 8 29 30
|
||||||
|
f 4 -10 49 29 -51
|
||||||
|
mu 0 4 10 9 30 31
|
||||||
|
f 4 -11 50 30 -52
|
||||||
|
mu 0 4 11 10 31 32
|
||||||
|
f 4 -12 51 31 -53
|
||||||
|
mu 0 4 12 11 32 33
|
||||||
|
f 4 -13 52 32 -54
|
||||||
|
mu 0 4 13 12 33 34
|
||||||
|
f 4 -14 53 33 -55
|
||||||
|
mu 0 4 14 13 34 35
|
||||||
|
f 4 -15 54 34 -56
|
||||||
|
mu 0 4 15 14 35 36
|
||||||
|
f 4 -16 55 35 -57
|
||||||
|
mu 0 4 16 15 36 37
|
||||||
|
f 4 -17 56 36 -58
|
||||||
|
mu 0 4 17 16 37 38
|
||||||
|
f 4 -18 57 37 -59
|
||||||
|
mu 0 4 18 17 38 39
|
||||||
|
f 4 -19 58 38 -60
|
||||||
|
mu 0 4 19 18 39 40
|
||||||
|
f 4 -20 59 39 -41
|
||||||
|
mu 0 4 20 19 40 41;
|
||||||
|
setAttr ".cd" -type "dataPolyComponent" Index_Data Edge 0 ;
|
||||||
|
setAttr ".cvd" -type "dataPolyComponent" Index_Data Vertex 0 ;
|
||||||
|
setAttr ".pd[0]" -type "dataPolyComponent" Index_Data UV 0 ;
|
||||||
|
setAttr ".hfd" -type "dataPolyComponent" Index_Data Face 0 ;
|
||||||
|
setAttr ".vnm" 0;
|
||||||
|
createNode transform -n "GRP_R_eyeAim" -p "CTRL_C_eyesAim";
|
||||||
|
rename -uid "88D8BBE6-438A-219E-BA0B-F2BBEC1BD069";
|
||||||
|
setAttr ".t" -type "double3" 0.071119262695304997 0 -2.933106899261487 ;
|
||||||
|
createNode transform -n "CTRL_R_eyeAim" -p "GRP_R_eyeAim";
|
||||||
|
rename -uid "E204FDC3-4B0C-CAA7-E105-3B9C0C937BDA";
|
||||||
|
setAttr -l on -k off ".v";
|
||||||
|
setAttr -l on -k off ".sx";
|
||||||
|
setAttr -l on -k off ".sy";
|
||||||
|
setAttr -l on -k off ".sz";
|
||||||
|
createNode mesh -n "CTRL_R_eyeAimShape" -p "CTRL_R_eyeAim";
|
||||||
|
rename -uid "AC818542-4CBD-FE7B-9A52-7AB7E4F6F81D";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
setAttr ".vir" yes;
|
||||||
|
setAttr ".vif" yes;
|
||||||
|
setAttr ".uvst[0].uvsn" -type "string" "map1";
|
||||||
|
setAttr ".cuvs" -type "string" "map1";
|
||||||
|
setAttr ".dcc" -type "string" "Ambient+Diffuse";
|
||||||
|
setAttr ".covm[0]" 0 1 1;
|
||||||
|
setAttr ".cdvm[0]" 0 1 1;
|
||||||
|
setAttr ".sdt" 0;
|
||||||
|
setAttr ".ugsdt" no;
|
||||||
|
setAttr -s 40 ".pt[0:39]" -type "float3" 0 1.7620036e-07 1.7620036e-07
|
||||||
|
0 0.2967757 0.2967757 0 0.56450075 0.56450075 0 0.77696848 0.77696848 0 0.91338128
|
||||||
|
0.91338128 0 0.9603858 0.96038586 0 0.91338146 0.9133814 0 0.77696866 0.77696866
|
||||||
|
0 0.56450093 0.56450093 0 0.29677582 0.29677585 0 3.2222951e-07 3.2222951e-07 0 -0.29677525
|
||||||
|
-0.29677525 0 -0.56450033 -0.56450033 0 -0.77696836 -0.77696836 0 -0.91338104 -0.9133811
|
||||||
|
0 -0.9603858 -0.9603858 0 -0.91338128 -0.91338128 0 -0.7769686 -0.77696854 0 -0.56450075
|
||||||
|
-0.56450075 0 -0.29677567 -0.2967757 0 1.8110103e-07 1.8110103e-07 0 0.3129696 0.3129696
|
||||||
|
0 0.59530348 0.59530348 0 0.81936467 0.81936473 0 0.96322107 0.96322107 0 1.0127906
|
||||||
|
1.0127906 0 0.96322107 0.96322107 0 0.81936479 0.81936479 0 0.59530354 0.59530354
|
||||||
|
0 0.31296965 0.31296968 0 1.8110103e-07 1.8110103e-07 0 -0.31296933 -0.3129693 0
|
||||||
|
-0.59530324 -0.59530324 0 -0.81936461 -0.81936461 0 -0.96322107 -0.96322107 0 -1.0127906
|
||||||
|
-1.0127906 0 -0.96322107 -0.96322107 0 -0.81936479 -0.81936479 0 -0.59530342 -0.59530342
|
||||||
|
0 -0.31296939 -0.31296939;
|
||||||
|
setAttr ".vnm" 0;
|
||||||
|
createNode mesh -n "polySurfaceShape4" -p "CTRL_R_eyeAim";
|
||||||
|
rename -uid "8C241986-40E3-7327-92E9-A69E45EB116B";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
setAttr ".io" yes;
|
||||||
|
setAttr ".vir" yes;
|
||||||
|
setAttr ".vif" yes;
|
||||||
|
setAttr ".uvst[0].uvsn" -type "string" "map1";
|
||||||
|
setAttr -s 42 ".uvst[0].uvsp[0:41]" -type "float2" 0 0.75 0.050000001
|
||||||
|
0.75 0.1 0.75 0.15000001 0.75 0.2 0.75 0.25 0.75 0.30000001 0.75 0.35000002 0.75
|
||||||
|
0.40000004 0.75 0.45000005 0.75 0.50000006 0.75 0.55000007 0.75 0.60000008 0.75 0.6500001
|
||||||
|
0.75 0.70000011 0.75 0.75000012 0.75 0.80000013 0.75 0.85000014 0.75 0.90000015 0.75
|
||||||
|
0.95000017 0.75 1.000000119209 0.75 0 0.5 0.050000001 0.5 0.1 0.5 0.15000001 0.5
|
||||||
|
0.2 0.5 0.25 0.5 0.30000001 0.5 0.35000002 0.5 0.40000004 0.5 0.45000005 0.5 0.50000006
|
||||||
|
0.5 0.55000007 0.5 0.60000008 0.5 0.6500001 0.5 0.70000011 0.5 0.75000012 0.5 0.80000013
|
||||||
|
0.5 0.85000014 0.5 0.90000015 0.5 0.95000017 0.5 1.000000119209 0.5;
|
||||||
|
setAttr ".cuvs" -type "string" "map1";
|
||||||
|
setAttr ".dcc" -type "string" "Ambient+Diffuse";
|
||||||
|
setAttr ".covm[0]" 0 1 1;
|
||||||
|
setAttr ".cdvm[0]" 0 1 1;
|
||||||
|
setAttr ".sdt" 0;
|
||||||
|
setAttr ".ugsdt" no;
|
||||||
|
setAttr -s 40 ".pt[0:39]" -type "float3" -0.019614395 2.6135796e-09
|
||||||
|
-4.9339915e-34 -0.01865432 0.0060611512 1.3458541e-18 -0.015868334 0.01152899 2.559973e-18
|
||||||
|
-0.011529022 0.015868343 3.5234763e-18 -0.0060611609 0.01865432 4.142133e-18 -4.1753907e-09
|
||||||
|
0.019614428 4.3552705e-18 0.0060611637 0.018654313 4.1420912e-18 0.011529057 0.015868364
|
||||||
|
3.523478e-18 0.015868289 0.011529016 2.5599571e-18 0.018654497 0.0060611838 1.3458479e-18
|
||||||
|
0.019614395 5.5960054e-09 6.6222999e-25 0.01865432 -0.0060611735 -1.3458527e-18 0.015868334
|
||||||
|
-0.011529059 -2.5599538e-18 0.01152899 -0.01586833 -3.523478e-18 0.006061201 -0.018654404
|
||||||
|
-4.142092e-18 5.964832e-10 -0.019614413 -4.3552834e-18 -0.0060611959 -0.018654324
|
||||||
|
-4.1420904e-18 -0.011529022 -0.015868332 -3.5234949e-18 -0.015868379 -0.011529024
|
||||||
|
-2.5599553e-18 -0.01865433 -0.0060611526 -1.3458522e-18 0.012790322 -2.2870912e-09
|
||||||
|
3.1530611e-34 0.012164332 -0.0039524259 -8.7760844e-19 0.0103475 -0.0075179785 -1.6693239e-18
|
||||||
|
0.0075179739 -0.010347502 -2.29761e-18 0.0039524385 -0.012164305 -2.7010259e-18 1.1435455e-09
|
||||||
|
-0.012790285 -2.8400221e-18 -0.0039524059 -0.012164296 -2.7010261e-18 -0.0075179664
|
||||||
|
-0.010347499 -2.2976066e-18 -0.010347515 -0.007517979 -1.6693255e-18 -0.012164332
|
||||||
|
-0.003952425 -8.7761754e-19 -0.012790322 -2.2870912e-09 3.1530611e-34 -0.012164332
|
||||||
|
0.0039524091 8.7761754e-19 -0.0103475 0.0075179664 1.669327e-18 -0.0075179739 0.0103475
|
||||||
|
2.2976062e-18 -0.0039523952 0.012164305 2.7010195e-18 1.5247269e-09 0.012790278 2.8400154e-18
|
||||||
|
0.0039524245 0.012164296 2.701016e-18 0.0075179744 0.010347499 2.2976145e-18 0.01034756
|
||||||
|
0.0075179804 1.6693264e-18 0.012164234 0.003952397 8.7761485e-19;
|
||||||
|
setAttr -s 40 ".vt[0:39]" 0.98000002 1.110223e-16 2.4651903e-32 0.93203545 -0.30283666 -6.7243246e-17
|
||||||
|
0.79283673 -0.57602954 -1.2790425e-16 0.57602966 -0.79283667 -1.760451e-16 0.30283678 -0.93203545 -2.0695344e-16
|
||||||
|
8.9406967e-08 -0.98000014 -2.1760374e-16 -0.30283663 -0.93203557 -2.0695347e-16 -0.57602954 -0.79283684 -1.7604514e-16
|
||||||
|
-0.79283673 -0.57602978 -1.279043e-16 -0.93203557 -0.30283687 -6.7243292e-17 -0.98000026 -1.4901161e-07 -3.3087225e-23
|
||||||
|
-0.93203568 0.3028366 6.7243233e-17 -0.79283696 0.5760296 1.2790426e-16 -0.57602984 0.79283684 1.7604514e-16
|
||||||
|
-0.30283689 0.93203568 2.069535e-16 -1.4901161e-07 0.98000038 2.176038e-16 0.30283663 0.9320358 2.0695352e-16
|
||||||
|
0.57602966 0.79283708 1.760452e-16 0.7928369 0.57602996 1.2790434e-16 0.9320358 0.30283701 6.7243325e-17
|
||||||
|
1 1.110223e-16 2.4651903e-32 0.95105654 -0.309017 -6.8615558e-17 0.809017 -0.5877853 -1.3051456e-16
|
||||||
|
0.58778524 -0.80901706 -1.7963787e-16 0.30901697 -0.9510566 -2.1117699e-16 -2.9802322e-08 -1.000000119209 -2.2204463e-16
|
||||||
|
-0.30901706 -0.95105666 -2.11177e-16 -0.58778536 -0.80901712 -1.7963789e-16 -0.80901718 -0.58778536 -1.3051457e-16
|
||||||
|
-0.95105678 -0.30901706 -6.8615571e-17 -1.000000238419 1.110223e-16 2.4651903e-32
|
||||||
|
-0.95105678 0.30901706 6.8615571e-17 -0.80901724 0.58778542 1.3051458e-16 -0.58778548 0.8090173 1.7963793e-16
|
||||||
|
-0.30901715 0.95105696 2.1117707e-16 0 1.000000476837 2.2204471e-16 0.30901715 0.95105702 2.1117708e-16
|
||||||
|
0.5877856 0.80901748 1.7963797e-16 0.80901754 0.5877856 1.3051462e-16 0.95105714 0.30901718 6.8615598e-17;
|
||||||
|
setAttr -s 60 ".ed[0:59]" 0 1 0 1 2 0 2 3 0 3 4 0 4 5 0 5 6 0 6 7 0
|
||||||
|
7 8 0 8 9 0 9 10 0 10 11 0 11 12 0 12 13 0 13 14 0 14 15 0 15 16 0 16 17 0 17 18 0
|
||||||
|
18 19 0 19 0 0 20 21 0 21 22 0 22 23 0 23 24 0 24 25 0 25 26 0 26 27 0 27 28 0 28 29 0
|
||||||
|
29 30 0 30 31 0 31 32 0 32 33 0 33 34 0 34 35 0 35 36 0 36 37 0 37 38 0 38 39 0 39 20 0
|
||||||
|
0 20 1 1 21 1 2 22 1 3 23 1 4 24 1 5 25 1 6 26 1 7 27 1 8 28 1 9 29 1 10 30 1 11 31 1
|
||||||
|
12 32 1 13 33 1 14 34 1 15 35 1 16 36 1 17 37 1 18 38 1 19 39 1;
|
||||||
|
setAttr -s 20 -ch 80 ".fc[0:19]" -type "polyFaces"
|
||||||
|
f 4 -1 40 20 -42
|
||||||
|
mu 0 4 1 0 21 22
|
||||||
|
f 4 -2 41 21 -43
|
||||||
|
mu 0 4 2 1 22 23
|
||||||
|
f 4 -3 42 22 -44
|
||||||
|
mu 0 4 3 2 23 24
|
||||||
|
f 4 -4 43 23 -45
|
||||||
|
mu 0 4 4 3 24 25
|
||||||
|
f 4 -5 44 24 -46
|
||||||
|
mu 0 4 5 4 25 26
|
||||||
|
f 4 -6 45 25 -47
|
||||||
|
mu 0 4 6 5 26 27
|
||||||
|
f 4 -7 46 26 -48
|
||||||
|
mu 0 4 7 6 27 28
|
||||||
|
f 4 -8 47 27 -49
|
||||||
|
mu 0 4 8 7 28 29
|
||||||
|
f 4 -9 48 28 -50
|
||||||
|
mu 0 4 9 8 29 30
|
||||||
|
f 4 -10 49 29 -51
|
||||||
|
mu 0 4 10 9 30 31
|
||||||
|
f 4 -11 50 30 -52
|
||||||
|
mu 0 4 11 10 31 32
|
||||||
|
f 4 -12 51 31 -53
|
||||||
|
mu 0 4 12 11 32 33
|
||||||
|
f 4 -13 52 32 -54
|
||||||
|
mu 0 4 13 12 33 34
|
||||||
|
f 4 -14 53 33 -55
|
||||||
|
mu 0 4 14 13 34 35
|
||||||
|
f 4 -15 54 34 -56
|
||||||
|
mu 0 4 15 14 35 36
|
||||||
|
f 4 -16 55 35 -57
|
||||||
|
mu 0 4 16 15 36 37
|
||||||
|
f 4 -17 56 36 -58
|
||||||
|
mu 0 4 17 16 37 38
|
||||||
|
f 4 -18 57 37 -59
|
||||||
|
mu 0 4 18 17 38 39
|
||||||
|
f 4 -19 58 38 -60
|
||||||
|
mu 0 4 19 18 39 40
|
||||||
|
f 4 -20 59 39 -41
|
||||||
|
mu 0 4 20 19 40 41;
|
||||||
|
setAttr ".cd" -type "dataPolyComponent" Index_Data Edge 0 ;
|
||||||
|
setAttr ".cvd" -type "dataPolyComponent" Index_Data Vertex 0 ;
|
||||||
|
setAttr ".pd[0]" -type "dataPolyComponent" Index_Data UV 0 ;
|
||||||
|
setAttr ".hfd" -type "dataPolyComponent" Index_Data Face 0 ;
|
||||||
|
setAttr ".vnm" 0;
|
||||||
|
createNode transform -n "LOC_C_eyeDriver";
|
||||||
|
rename -uid "ED592681-4738-8305-9CAE-AFAE42CF4502";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" 3.1533927013116698e-15 156.71624755859375 0.40573886036872864 ;
|
||||||
|
createNode locator -n "LOC_C_eyeDriverShape" -p "LOC_C_eyeDriver";
|
||||||
|
rename -uid "B2AEC674-449C-B16F-8C80-A295E5B95769";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
createNode transform -n "LOC_L_eyeDriver" -p "LOC_C_eyeDriver";
|
||||||
|
rename -uid "7A557C07-4753-A300-82FC-59AA59914AF7";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" 2.9223375320434539 2.06390380859375 9.1656932532787323 ;
|
||||||
|
createNode locator -n "LOC_L_eyeDriverShape" -p "LOC_L_eyeDriver";
|
||||||
|
rename -uid "40A2D245-47D9-E29A-4B6E-A8932B345417";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
createNode transform -n "LOC_R_eyeDriver" -p "LOC_C_eyeDriver";
|
||||||
|
rename -uid "D7F53DD7-4B6C-297F-3509-98A30FAC64E4";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" -2.9331068992614777 2.1778717041015625 9.1122569739818573 ;
|
||||||
|
createNode locator -n "LOC_R_eyeDriverShape" -p "LOC_R_eyeDriver";
|
||||||
|
rename -uid "7C456F8F-4440-C6AB-E0EA-3F8BFBE12BBD";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
createNode transform -n "LOC_L_eyeAimUp" -p "LOC_C_eyeDriver";
|
||||||
|
rename -uid "39E9DC6B-4305-1039-1353-978F5B5F8AC6";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" 2.9223375320434539 9.9572450969737361 9.1656932532787323 ;
|
||||||
|
createNode locator -n "LOC_L_eyeAimUpShape" -p "LOC_L_eyeAimUp";
|
||||||
|
rename -uid "28656579-45B3-0F5F-3BE4-5AB06E2FA6E1";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
createNode transform -n "LOC_R_eyeAimUp" -p "LOC_C_eyeDriver";
|
||||||
|
rename -uid "EB7F71A5-4665-1E52-0F9F-098CDED02488";
|
||||||
|
setAttr ".v" no;
|
||||||
|
setAttr ".t" -type "double3" -2.9331068992614777 9.9989473674815486 9.1122569739818573 ;
|
||||||
|
createNode locator -n "LOC_R_eyeAimUpShape" -p "LOC_R_eyeAimUp";
|
||||||
|
rename -uid "27949BA8-4486-4715-03D5-09948FE54202";
|
||||||
|
setAttr -k off ".v";
|
||||||
|
createNode lightLinker -s -n "lightLinker1";
|
||||||
|
rename -uid "F9D0317C-417C-161D-70EC-3FA54FF4FF9B";
|
||||||
|
setAttr -s 4 ".lnk";
|
||||||
|
setAttr -s 4 ".slnk";
|
||||||
|
createNode displayLayerManager -n "layerManager";
|
||||||
|
rename -uid "EBBB791D-4D58-9BE1-DD33-029F97FD4011";
|
||||||
|
createNode displayLayer -n "defaultLayer";
|
||||||
|
rename -uid "8C781950-4A38-A1E6-7DB9-C9AE66742526";
|
||||||
|
createNode renderLayerManager -n "renderLayerManager";
|
||||||
|
rename -uid "F79AF7F5-42BB-470B-6221-57A4A54AE748";
|
||||||
|
createNode renderLayer -n "defaultRenderLayer";
|
||||||
|
rename -uid "FBD2BD3F-4CD0-4D1B-6380-0B82C45B7C47";
|
||||||
|
setAttr ".g" yes;
|
||||||
|
createNode lambert -n "GUIAnalog_red_shader";
|
||||||
|
rename -uid "889C7E60-475A-449F-8E3A-39BAFD1B1808";
|
||||||
|
setAttr ".dc" 1;
|
||||||
|
setAttr ".c" -type "float3" 1 0 0 ;
|
||||||
|
setAttr ".ambc" -type "float3" 1 1 1 ;
|
||||||
|
createNode shadingEngine -n "lambert2SG";
|
||||||
|
rename -uid "92234C02-478C-F1AF-BB7F-05B176543179";
|
||||||
|
setAttr ".ihi" 0;
|
||||||
|
setAttr ".ro" yes;
|
||||||
|
createNode materialInfo -n "materialInfo1";
|
||||||
|
rename -uid "60A23EA0-4078-4B90-53CE-F6A13DAEB395";
|
||||||
|
createNode lambert -n "GUIAnalog_yellow_shader";
|
||||||
|
rename -uid "F7D0CA28-4401-4FCA-BD20-CE9E6027619D";
|
||||||
|
setAttr ".dc" 1;
|
||||||
|
setAttr ".c" -type "float3" 1 1 0 ;
|
||||||
|
setAttr ".ambc" -type "float3" 1 1 1 ;
|
||||||
|
createNode shadingEngine -n "GUI_shader_yellowSG";
|
||||||
|
rename -uid "B2733F56-47E5-4C29-EDE0-B79A14ED5555";
|
||||||
|
setAttr ".ihi" 0;
|
||||||
|
setAttr -s 2 ".dsm";
|
||||||
|
setAttr ".ro" yes;
|
||||||
|
createNode materialInfo -n "materialInfo2";
|
||||||
|
rename -uid "2477FE3F-4588-95B0-B50B-66A681421EC7";
|
||||||
|
createNode polyMergeVert -n "polyMergeVert1";
|
||||||
|
rename -uid "3F1DD2E5-460E-4476-7518-DDB4FCAC2B10";
|
||||||
|
setAttr ".ics" -type "componentList" 5 "vtx[0]" "vtx[10:11]" "vtx[21:22]" "vtx[32:33]" "vtx[43]";
|
||||||
|
setAttr ".ix" -type "matrix" 1 0 0 0 0 1 0 0 0 0 1 0 0 170.37808240000001 30 1;
|
||||||
|
setAttr ".d" 0.02;
|
||||||
|
setAttr ".am" yes;
|
||||||
|
createNode script -n "uiConfigurationScriptNode";
|
||||||
|
rename -uid "CCCE5341-45BB-F578-DD8C-019B5E6BA1AE";
|
||||||
|
setAttr ".b" -type "string" (
|
||||||
|
"// Maya Mel UI Configuration File.\n//\n// This script is machine generated. Edit at your own risk.\n//\n//\n\nglobal string $gMainPane;\nif (`paneLayout -exists $gMainPane`) {\n\n\tglobal int $gUseScenePanelConfig;\n\tint $useSceneConfig = $gUseScenePanelConfig;\n\tint $nodeEditorPanelVisible = stringArrayContains(\"nodeEditorPanel1\", `getPanel -vis`);\n\tint $nodeEditorWorkspaceControlOpen = (`workspaceControl -exists nodeEditorPanel1Window` && `workspaceControl -q -visible nodeEditorPanel1Window`);\n\tint $menusOkayInPanels = `optionVar -q allowMenusInPanels`;\n\tint $nVisPanes = `paneLayout -q -nvp $gMainPane`;\n\tint $nPanes = 0;\n\tstring $editorName;\n\tstring $panelName;\n\tstring $itemFilterName;\n\tstring $panelConfig;\n\n\t//\n\t// get current state of the UI\n\t//\n\tsceneUIReplacement -update $gMainPane;\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Top View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Top View\")) -mbv $menusOkayInPanels $panelName;\n"
|
||||||
|
+ "\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"top\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n"
|
||||||
|
+ " -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n"
|
||||||
|
+ " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n"
|
||||||
|
+ " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Side View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Side View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"side\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n"
|
||||||
|
+ " -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n"
|
||||||
|
+ " -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n"
|
||||||
|
+ " -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Front View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Front View\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"front\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"wireframe\" \n -activeOnly 0\n"
|
||||||
|
+ " -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n"
|
||||||
|
+ " -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n"
|
||||||
|
+ " -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 1\n -height 1\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"modelPanel\" (localizedPanelLabel(\"Persp View\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tmodelPanel -edit -l (localizedPanelLabel(\"Persp View\")) -mbv $menusOkayInPanels $panelName;\n"
|
||||||
|
+ "\t\t$editorName = $panelName;\n modelEditor -e \n -docTag \"RADRENDER\" \n -editorChanged \"updateModelPanelBar\" \n -camera \"persp\" \n -useInteractiveMode 0\n -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n"
|
||||||
|
+ " -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererName \"vp2Renderer\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 256 256 \n -bumpResolution 512 512 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 1\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n -planes 1\n"
|
||||||
|
+ " -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 0\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 1\n -captureSequenceNumber -1\n -width 1248\n -height 627\n -sceneRenderFilter 0\n $editorName;\n modelEditor -e -viewSelected 0 $editorName;\n modelEditor -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n"
|
||||||
|
+ " $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n"
|
||||||
|
+ " -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n"
|
||||||
|
+ " -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"<function selCom at 0x7f29c5c04aa0>\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"Outliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"Outliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 1\n"
|
||||||
|
+ " -showReferenceMembers 1\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n"
|
||||||
|
+ " -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"graphEditor\" (localizedPanelLabel(\"Graph Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Graph Editor\")) -mbv $menusOkayInPanels $panelName;\n"
|
||||||
|
+ "\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 1\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 1\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 0\n -showLeafs 1\n -showNumericAttrsOnly 1\n"
|
||||||
|
+ " -highlightActive 0\n -autoSelectNewObjects 1\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 1\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 1\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n"
|
||||||
|
+ " -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"GraphEd\");\n animCurveEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 1\n -displayInfinities 0\n -displayValues 0\n -autoFit 1\n -autoFitTime 0\n -snapTime \"integer\" \n -snapValue \"none\" \n -showResults \"off\" \n -showBufferCurves \"off\" \n -smoothness \"fine\" \n -resultSamples 1\n -resultScreenSamples 0\n -resultUpdate \"delayed\" \n -showUpstreamCurves 1\n -showCurveNames 0\n -showActiveCurveNames 0\n -stackedCurves 0\n -stackedCurvesMin -1\n -stackedCurvesMax 1\n -stackedCurvesSpace 0.2\n -displayNormalized 0\n -preSelectionHighlight 0\n"
|
||||||
|
+ " -constrainDrag 0\n -classicMode 1\n -valueLinesToggle 0\n -outliner \"graphEditor1OutlineEd\" \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dopeSheetPanel\" (localizedPanelLabel(\"Dope Sheet\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dope Sheet\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"OutlineEd\");\n outlinerEditor -e \n -showShapes 1\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 1\n -showConnected 1\n -showAnimCurvesOnly 1\n -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n"
|
||||||
|
+ " -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 0\n -showAssets 1\n -showContainedOnly 0\n -showPublishedAsConnected 0\n -showParentContainers 1\n -showContainerContents 0\n -ignoreDagHierarchy 0\n -expandConnections 1\n -showUpstreamCurves 1\n -showUnitlessCurves 0\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 1\n -highlightActive 0\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 1\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"0\" \n -showSetMembers 0\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -displayMode \"DAG\" \n -expandObjects 0\n -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n"
|
||||||
|
+ " -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 1\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n $editorName;\n\n\t\t\t$editorName = ($panelName+\"DopeSheetEd\");\n dopeSheetEditor -e \n -displayKeys 1\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -autoFitTime 0\n -snapTime \"integer\" \n -snapValue \"none\" \n"
|
||||||
|
+ " -outliner \"dopeSheetPanel1OutlineEd\" \n -showSummary 1\n -showScene 0\n -hierarchyBelow 0\n -showTicks 1\n -selectionWindow 0 0 0 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"timeEditorPanel\" (localizedPanelLabel(\"Time Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Time Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"clipEditorPanel\" (localizedPanelLabel(\"Trax Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Trax Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = clipEditorNameFromPanel($panelName);\n clipEditor -e \n"
|
||||||
|
+ " -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -autoFitTime 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 0 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"sequenceEditorPanel\" (localizedPanelLabel(\"Camera Sequencer\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Camera Sequencer\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = sequenceEditorNameFromPanel($panelName);\n clipEditor -e \n -displayKeys 0\n -displayTangents 0\n -displayActiveKeys 0\n -displayActiveKeyTangents 0\n"
|
||||||
|
+ " -displayInfinities 0\n -displayValues 0\n -autoFit 0\n -autoFitTime 0\n -snapTime \"none\" \n -snapValue \"none\" \n -initialized 0\n -manageSequencer 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperGraphPanel\" (localizedPanelLabel(\"Hypergraph Hierarchy\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypergraph Hierarchy\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"HyperGraphEd\");\n hyperGraph -e \n -graphLayoutStyle \"hierarchicalLayout\" \n -orientation \"horiz\" \n -mergeConnections 0\n -zoom 1\n -animateTransition 0\n -showRelationships 1\n -showShapes 0\n -showDeformers 0\n -showExpressions 0\n"
|
||||||
|
+ " -showConstraints 0\n -showConnectionFromSelected 0\n -showConnectionToSelected 0\n -showConstraintLabels 0\n -showUnderworld 0\n -showInvisible 0\n -transitionFrames 1\n -opaqueContainers 0\n -freeform 0\n -imagePosition 0 0 \n -imageScale 1\n -imageEnabled 0\n -graphType \"DAG\" \n -heatMapDisplay 0\n -updateSelection 1\n -updateNodeAdded 1\n -useDrawOverrideColor 0\n -limitGraphTraversal -1\n -range 0 0 \n -iconSize \"smallIcons\" \n -showCachedConnections 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"hyperShadePanel\" (localizedPanelLabel(\"Hypershade\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n"
|
||||||
|
+ "\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Hypershade\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"visorPanel\" (localizedPanelLabel(\"Visor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Visor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"nodeEditorPanel\" (localizedPanelLabel(\"Node Editor\")) `;\n\tif ($nodeEditorPanelVisible || $nodeEditorWorkspaceControlOpen) {\n\t\tif (\"\" == $panelName) {\n\t\t\tif ($useSceneConfig) {\n\t\t\t\t$panelName = `scriptedPanel -unParent -type \"nodeEditorPanel\" -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels `;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n"
|
||||||
|
+ " -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -editorMode \"default\" \n $editorName;\n\t\t\t}\n\t\t} else {\n\t\t\t$label = `panel -q -label $panelName`;\n"
|
||||||
|
+ "\t\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Node Editor\")) -mbv $menusOkayInPanels $panelName;\n\n\t\t\t$editorName = ($panelName+\"NodeEditorEd\");\n nodeEditor -e \n -allAttributes 0\n -allNodes 0\n -autoSizeNodes 1\n -consistentNameSize 1\n -createNodeCommand \"nodeEdCreateNodeCommand\" \n -connectNodeOnCreation 0\n -connectOnDrop 0\n -copyConnectionsOnPaste 0\n -connectionStyle \"bezier\" \n -defaultPinnedState 0\n -additiveGraphingMode 0\n -settingsChangedCallback \"nodeEdSyncControls\" \n -traversalDepthLimit -1\n -keyPressCommand \"nodeEdKeyPressCommand\" \n -nodeTitleMode \"name\" \n -gridSnap 0\n -gridVisibility 1\n -crosshairOnEdgeDragging 0\n -popupMenuScript \"nodeEdBuildPanelMenus\" \n -showNamespace 1\n -showShapes 1\n"
|
||||||
|
+ " -showSGShapes 0\n -showTransforms 1\n -useAssets 1\n -syncedSelection 1\n -extendToShapes 1\n -editorMode \"default\" \n $editorName;\n\t\t\tif (!$useSceneConfig) {\n\t\t\t\tpanel -e -l $label $panelName;\n\t\t\t}\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"createNodePanel\" (localizedPanelLabel(\"Create Node\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Create Node\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"polyTexturePlacementPanel\" (localizedPanelLabel(\"UV Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"UV Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"renderWindowPanel\" (localizedPanelLabel(\"Render View\")) `;\n"
|
||||||
|
+ "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Render View\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"shapePanel\" (localizedPanelLabel(\"Shape Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tshapePanel -edit -l (localizedPanelLabel(\"Shape Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"posePanel\" (localizedPanelLabel(\"Pose Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tposePanel -edit -l (localizedPanelLabel(\"Pose Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynRelEdPanel\" (localizedPanelLabel(\"Dynamic Relationships\")) `;\n\tif (\"\" != $panelName) {\n"
|
||||||
|
+ "\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Dynamic Relationships\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"relationshipPanel\" (localizedPanelLabel(\"Relationship Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Relationship Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"referenceEditorPanel\" (localizedPanelLabel(\"Reference Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Reference Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"componentEditorPanel\" (localizedPanelLabel(\"Component Editor\")) `;\n"
|
||||||
|
+ "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Component Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"dynPaintScriptedPanelType\" (localizedPanelLabel(\"Paint Effects\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Paint Effects\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"scriptEditorPanel\" (localizedPanelLabel(\"Script Editor\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Script Editor\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"profilerPanel\" (localizedPanelLabel(\"Profiler Tool\")) `;\n"
|
||||||
|
+ "\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Profiler Tool\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"contentBrowserPanel\" (localizedPanelLabel(\"Content Browser\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Content Browser\")) -mbv $menusOkayInPanels $panelName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextScriptedPanel \"Stereo\" (localizedPanelLabel(\"Stereo\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\tscriptedPanel -edit -l (localizedPanelLabel(\"Stereo\")) -mbv $menusOkayInPanels $panelName;\nstring $editorName = ($panelName+\"Editor\");\n stereoCameraView -e \n -editorChanged \"updateModelPanelBar\" \n -camera \"persp\" \n -useInteractiveMode 0\n"
|
||||||
|
+ " -displayLights \"default\" \n -displayAppearance \"smoothShaded\" \n -activeOnly 0\n -ignorePanZoom 0\n -wireframeOnShaded 0\n -headsUpDisplay 1\n -holdOuts 1\n -selectionHiliteDisplay 1\n -useDefaultMaterial 0\n -bufferMode \"double\" \n -twoSidedLighting 0\n -backfaceCulling 0\n -xray 0\n -jointXray 0\n -activeComponentsXray 0\n -displayTextures 0\n -smoothWireframe 0\n -lineWidth 1\n -textureAnisotropic 0\n -textureHilight 1\n -textureSampling 2\n -textureDisplay \"modulate\" \n -textureMaxSize 32768\n -fogging 0\n -fogSource \"fragment\" \n -fogMode \"linear\" \n -fogStart 0\n -fogEnd 100\n -fogDensity 0.1\n -fogColor 0.5 0.5 0.5 1 \n"
|
||||||
|
+ " -depthOfFieldPreview 1\n -maxConstantTransparency 1\n -rendererOverrideName \"stereoOverrideVP2\" \n -objectFilterShowInHUD 1\n -isFiltered 0\n -colorResolution 4 4 \n -bumpResolution 4 4 \n -textureCompression 0\n -transparencyAlgorithm \"frontAndBackCull\" \n -transpInShadows 0\n -cullingOverride \"none\" \n -lowQualityLighting 0\n -maximumNumHardwareLights 0\n -occlusionCulling 0\n -shadingModel 0\n -useBaseRenderer 0\n -useReducedRenderer 0\n -smallObjectCulling 0\n -smallObjectThreshold -1 \n -interactiveDisableShadows 0\n -interactiveBackFaceCull 0\n -sortTransparent 1\n -controllers 1\n -nurbsCurves 1\n -nurbsSurfaces 1\n -polymeshes 1\n -subdivSurfaces 1\n"
|
||||||
|
+ " -planes 1\n -lights 1\n -cameras 1\n -controlVertices 1\n -hulls 1\n -grid 1\n -imagePlane 1\n -joints 1\n -ikHandles 1\n -deformers 1\n -dynamics 1\n -particleInstancers 1\n -fluids 1\n -hairSystems 1\n -follicles 1\n -nCloths 1\n -nParticles 1\n -nRigids 1\n -dynamicConstraints 1\n -locators 1\n -manipulators 1\n -pluginShapes 1\n -dimensions 1\n -handles 1\n -pivots 1\n -textures 1\n -strokes 1\n -motionTrails 1\n -clipGhosts 1\n -greasePencils 1\n -shadows 0\n -captureSequenceNumber -1\n -width 0\n -height 0\n -sceneRenderFilter 0\n"
|
||||||
|
+ " -displayMode \"centerEye\" \n -viewColor 0 0 0 1 \n -useCustomBackground 1\n $editorName;\n stereoCameraView -e -viewSelected 0 $editorName;\n stereoCameraView -e \n -pluginObjects \"gpuCacheDisplayFilter\" 1 \n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\t$panelName = `sceneUIReplacement -getNextPanel \"outlinerPanel\" (localizedPanelLabel(\"ToggledOutliner\")) `;\n\tif (\"\" != $panelName) {\n\t\t$label = `panel -q -label $panelName`;\n\t\toutlinerPanel -edit -l (localizedPanelLabel(\"ToggledOutliner\")) -mbv $menusOkayInPanels $panelName;\n\t\t$editorName = $panelName;\n outlinerEditor -e \n -docTag \"isolOutln_fromSeln\" \n -showShapes 0\n -showAssignedMaterials 0\n -showTimeEditor 1\n -showReferenceNodes 0\n -showReferenceMembers 0\n -showAttributes 0\n -showConnected 0\n -showAnimCurvesOnly 0\n"
|
||||||
|
+ " -showMuteInfo 0\n -organizeByLayer 1\n -organizeByClip 1\n -showAnimLayerWeight 1\n -autoExpandLayers 1\n -autoExpand 0\n -showDagOnly 1\n -showAssets 1\n -showContainedOnly 1\n -showPublishedAsConnected 0\n -showParentContainers 0\n -showContainerContents 1\n -ignoreDagHierarchy 0\n -expandConnections 0\n -showUpstreamCurves 1\n -showUnitlessCurves 1\n -showCompounds 1\n -showLeafs 1\n -showNumericAttrsOnly 0\n -highlightActive 1\n -autoSelectNewObjects 0\n -doNotSelectNewObjects 0\n -dropIsParent 1\n -transmitFilters 0\n -setFilter \"defaultSetFilter\" \n -showSetMembers 1\n -allowMultiSelection 1\n -alwaysToggleSelect 0\n -directSelect 0\n -isSet 0\n -isSetMember 0\n -displayMode \"DAG\" \n -expandObjects 0\n"
|
||||||
|
+ " -setsIgnoreFilters 1\n -containersIgnoreFilters 0\n -editAttrName 0\n -showAttrValues 0\n -highlightSecondary 0\n -showUVAttrsOnly 0\n -showTextureNodesOnly 0\n -attrAlphaOrder \"default\" \n -animLayerFilterOptions \"allAffecting\" \n -sortOrder \"none\" \n -longNames 0\n -niceNames 1\n -selectCommand \"pass\" \n -showNamespace 1\n -showPinIcons 0\n -mapMotionTrails 0\n -ignoreHiddenAttribute 0\n -ignoreOutlinerColor 0\n -renderFilterVisible 0\n -renderFilterIndex 0\n -selectionOrder \"chronological\" \n -expandAttribute 0\n $editorName;\n\t\tif (!$useSceneConfig) {\n\t\t\tpanel -e -l $label $panelName;\n\t\t}\n\t}\n\n\n\tif ($useSceneConfig) {\n string $configName = `getPanel -cwl (localizedPanelLabel(\"Current Layout\"))`;\n if (\"\" != $configName) {\n\t\t\tpanelConfiguration -edit -label (localizedPanelLabel(\"Current Layout\")) \n"
|
||||||
|
+ "\t\t\t\t-userCreated false\n\t\t\t\t-defaultImage \"vacantCell.xP:/\"\n\t\t\t\t-image \"\"\n\t\t\t\t-sc false\n\t\t\t\t-configString \"global string $gMainPane; paneLayout -e -cn \\\"single\\\" -ps 1 100 100 $gMainPane;\"\n\t\t\t\t-removeAllPanels\n\t\t\t\t-ap false\n\t\t\t\t\t(localizedPanelLabel(\"Persp View\")) \n\t\t\t\t\t\"modelPanel\"\n"
|
||||||
|
+ "\t\t\t\t\t\"$panelName = `modelPanel -unParent -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels `;\\n$editorName = $panelName;\\nmodelEditor -e \\n -docTag \\\"RADRENDER\\\" \\n -editorChanged \\\"updateModelPanelBar\\\" \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 0\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 1\\n -captureSequenceNumber -1\\n -width 1248\\n -height 627\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n"
|
||||||
|
+ "\t\t\t\t\t\"modelPanel -edit -l (localizedPanelLabel(\\\"Persp View\\\")) -mbv $menusOkayInPanels $panelName;\\n$editorName = $panelName;\\nmodelEditor -e \\n -docTag \\\"RADRENDER\\\" \\n -editorChanged \\\"updateModelPanelBar\\\" \\n -cam `findStartUpCamera persp` \\n -useInteractiveMode 0\\n -displayLights \\\"default\\\" \\n -displayAppearance \\\"smoothShaded\\\" \\n -activeOnly 0\\n -ignorePanZoom 0\\n -wireframeOnShaded 0\\n -headsUpDisplay 1\\n -holdOuts 1\\n -selectionHiliteDisplay 1\\n -useDefaultMaterial 0\\n -bufferMode \\\"double\\\" \\n -twoSidedLighting 0\\n -backfaceCulling 0\\n -xray 0\\n -jointXray 0\\n -activeComponentsXray 0\\n -displayTextures 0\\n -smoothWireframe 0\\n -lineWidth 1\\n -textureAnisotropic 0\\n -textureHilight 1\\n -textureSampling 2\\n -textureDisplay \\\"modulate\\\" \\n -textureMaxSize 32768\\n -fogging 0\\n -fogSource \\\"fragment\\\" \\n -fogMode \\\"linear\\\" \\n -fogStart 0\\n -fogEnd 100\\n -fogDensity 0.1\\n -fogColor 0.5 0.5 0.5 1 \\n -depthOfFieldPreview 1\\n -maxConstantTransparency 1\\n -rendererName \\\"vp2Renderer\\\" \\n -objectFilterShowInHUD 1\\n -isFiltered 0\\n -colorResolution 256 256 \\n -bumpResolution 512 512 \\n -textureCompression 0\\n -transparencyAlgorithm \\\"frontAndBackCull\\\" \\n -transpInShadows 0\\n -cullingOverride \\\"none\\\" \\n -lowQualityLighting 0\\n -maximumNumHardwareLights 1\\n -occlusionCulling 0\\n -shadingModel 0\\n -useBaseRenderer 0\\n -useReducedRenderer 0\\n -smallObjectCulling 0\\n -smallObjectThreshold -1 \\n -interactiveDisableShadows 0\\n -interactiveBackFaceCull 0\\n -sortTransparent 1\\n -controllers 1\\n -nurbsCurves 1\\n -nurbsSurfaces 1\\n -polymeshes 1\\n -subdivSurfaces 1\\n -planes 1\\n -lights 1\\n -cameras 1\\n -controlVertices 1\\n -hulls 1\\n -grid 1\\n -imagePlane 1\\n -joints 0\\n -ikHandles 1\\n -deformers 1\\n -dynamics 1\\n -particleInstancers 1\\n -fluids 1\\n -hairSystems 1\\n -follicles 1\\n -nCloths 1\\n -nParticles 1\\n -nRigids 1\\n -dynamicConstraints 1\\n -locators 1\\n -manipulators 1\\n -pluginShapes 1\\n -dimensions 1\\n -handles 1\\n -pivots 1\\n -textures 1\\n -strokes 1\\n -motionTrails 1\\n -clipGhosts 1\\n -greasePencils 1\\n -shadows 1\\n -captureSequenceNumber -1\\n -width 1248\\n -height 627\\n -sceneRenderFilter 0\\n $editorName;\\nmodelEditor -e -viewSelected 0 $editorName;\\nmodelEditor -e \\n -pluginObjects \\\"gpuCacheDisplayFilter\\\" 1 \\n $editorName\"\n"
|
||||||
|
+ "\t\t\t\t$configName;\n\n setNamedPanelLayout (localizedPanelLabel(\"Current Layout\"));\n }\n\n panelHistory -e -clear mainPanelHistory;\n sceneUIReplacement -clear;\n\t}\n\n\ngrid -spacing 5 -size 12 -divisions 5 -displayAxes yes -displayGridLines yes -displayDivisionLines yes -displayPerspectiveLabels no -displayOrthographicLabels no -displayAxesBold yes -perspectiveLabelPosition axis -orthographicLabelPosition edge;\nviewManip -drawCompass 0 -compassAngle 0 -frontParameters \"\" -homeParameters \"\" -selectionLockParameters \"\";\n}\n");
|
||||||
|
setAttr ".st" 3;
|
||||||
|
createNode script -n "sceneConfigurationScriptNode";
|
||||||
|
rename -uid "785F78BA-4949-5C03-6D3D-9192313CFC78";
|
||||||
|
setAttr ".b" -type "string" "playbackOptions -min 0 -max 40 -ast 0 -aet 48 ";
|
||||||
|
setAttr ".st" 6;
|
||||||
|
createNode polyNormal -n "polyNormal2";
|
||||||
|
rename -uid "70447BD8-4A79-5422-829B-599579DD9DF2";
|
||||||
|
setAttr ".ics" -type "componentList" 1 "f[0:19]";
|
||||||
|
setAttr ".unm" no;
|
||||||
|
createNode polyNormal -n "polyNormal4";
|
||||||
|
rename -uid "FF53B6E6-4260-DBED-42FC-1B97BD2E814A";
|
||||||
|
setAttr ".ics" -type "componentList" 1 "f[0:19]";
|
||||||
|
setAttr ".unm" no;
|
||||||
|
createNode shapeEditorManager -n "shapeEditorManager";
|
||||||
|
rename -uid "D286AE96-4AAE-409A-C2A9-16B0B4DE9020";
|
||||||
|
createNode poseInterpolatorManager -n "poseInterpolatorManager";
|
||||||
|
rename -uid "DC12955F-40C5-EF5A-B29A-69A669F64799";
|
||||||
|
select -ne :time1;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -av -cb on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -k on ".o" 0;
|
||||||
|
setAttr -av -k on ".unw";
|
||||||
|
setAttr -av -k on ".etw";
|
||||||
|
setAttr -av -k on ".tps";
|
||||||
|
setAttr -av -k on ".tms";
|
||||||
|
select -ne :hardwareRenderingGlobals;
|
||||||
|
setAttr -av -k on ".ihi";
|
||||||
|
setAttr ".vac" 2;
|
||||||
|
setAttr -k on ".hwi";
|
||||||
|
setAttr -av ".ta";
|
||||||
|
setAttr -av ".tq";
|
||||||
|
setAttr ".etmr" no;
|
||||||
|
setAttr -av ".tmr" 4096;
|
||||||
|
setAttr -av ".aoam";
|
||||||
|
setAttr -av ".aora";
|
||||||
|
setAttr -k on ".hff";
|
||||||
|
setAttr -av -k on ".hfd";
|
||||||
|
setAttr -av -k on ".hfs";
|
||||||
|
setAttr -av -k on ".hfe";
|
||||||
|
setAttr -av -k on ".hfcr";
|
||||||
|
setAttr -av -k on ".hfcg";
|
||||||
|
setAttr -av -k on ".hfcb";
|
||||||
|
setAttr -av ".hfa";
|
||||||
|
setAttr -av ".mbe";
|
||||||
|
setAttr -av -k on ".mbsof";
|
||||||
|
setAttr -k on ".blen";
|
||||||
|
setAttr -k on ".blat";
|
||||||
|
select -ne :renderPartition;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -s 4 ".st";
|
||||||
|
setAttr -cb on ".an";
|
||||||
|
setAttr -cb on ".pt";
|
||||||
|
select -ne :renderGlobalsList1;
|
||||||
|
setAttr -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
select -ne :defaultShaderList1;
|
||||||
|
setAttr -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -s 6 ".s";
|
||||||
|
select -ne :postProcessList1;
|
||||||
|
setAttr -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -s 2 ".p";
|
||||||
|
select -ne :defaultRenderingList1;
|
||||||
|
setAttr -k on ".ihi";
|
||||||
|
select -ne :initialShadingGroup;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -k on ".fzn";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -k on ".bbx";
|
||||||
|
setAttr -k on ".vwm";
|
||||||
|
setAttr -k on ".tpv";
|
||||||
|
setAttr -k on ".uit";
|
||||||
|
setAttr -k on ".mwc";
|
||||||
|
setAttr -cb on ".an";
|
||||||
|
setAttr -cb on ".il";
|
||||||
|
setAttr -cb on ".vo";
|
||||||
|
setAttr -cb on ".eo";
|
||||||
|
setAttr -cb on ".fo";
|
||||||
|
setAttr -cb on ".epo";
|
||||||
|
setAttr -k on ".ro" yes;
|
||||||
|
select -ne :initialParticleSE;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -k on ".mwc";
|
||||||
|
setAttr -cb on ".an";
|
||||||
|
setAttr -cb on ".il";
|
||||||
|
setAttr -cb on ".vo";
|
||||||
|
setAttr -cb on ".eo";
|
||||||
|
setAttr -cb on ".fo";
|
||||||
|
setAttr -cb on ".epo";
|
||||||
|
setAttr ".ro" yes;
|
||||||
|
select -ne :defaultRenderGlobals;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -k on ".macc";
|
||||||
|
setAttr -k on ".macd";
|
||||||
|
setAttr -k on ".macq";
|
||||||
|
setAttr -k on ".mcfr";
|
||||||
|
setAttr -cb on ".ifg";
|
||||||
|
setAttr -k on ".clip";
|
||||||
|
setAttr -k on ".edm";
|
||||||
|
setAttr -av -k on ".edl";
|
||||||
|
setAttr -k on ".ren";
|
||||||
|
setAttr -av -k on ".esr";
|
||||||
|
setAttr -k on ".ors";
|
||||||
|
setAttr -cb on ".sdf";
|
||||||
|
setAttr -av -k on ".outf";
|
||||||
|
setAttr -av -cb on ".imfkey";
|
||||||
|
setAttr -av -k on ".gama";
|
||||||
|
setAttr -av -k on ".an";
|
||||||
|
setAttr -cb on ".ar";
|
||||||
|
setAttr -k on ".fs";
|
||||||
|
setAttr -k on ".ef";
|
||||||
|
setAttr -av -k on ".bfs";
|
||||||
|
setAttr -cb on ".me";
|
||||||
|
setAttr -cb on ".se";
|
||||||
|
setAttr -av -k on ".be";
|
||||||
|
setAttr -av -cb on ".ep" 1;
|
||||||
|
setAttr -k on ".fec";
|
||||||
|
setAttr -av -k on ".ofc";
|
||||||
|
setAttr -cb on ".ofe";
|
||||||
|
setAttr -cb on ".efe";
|
||||||
|
setAttr -cb on ".oft";
|
||||||
|
setAttr -cb on ".umfn";
|
||||||
|
setAttr -cb on ".ufe";
|
||||||
|
setAttr -av -k on ".pff";
|
||||||
|
setAttr -av -cb on ".peie";
|
||||||
|
setAttr -av -cb on ".ifp";
|
||||||
|
setAttr -k on ".rv";
|
||||||
|
setAttr -k on ".comp";
|
||||||
|
setAttr -k on ".cth";
|
||||||
|
setAttr -k on ".soll";
|
||||||
|
setAttr -cb on ".sosl";
|
||||||
|
setAttr -k on ".rd";
|
||||||
|
setAttr -k on ".lp";
|
||||||
|
setAttr -av -k on ".sp";
|
||||||
|
setAttr -k on ".shs";
|
||||||
|
setAttr -av -k on ".lpr";
|
||||||
|
setAttr -cb on ".gv";
|
||||||
|
setAttr -cb on ".sv";
|
||||||
|
setAttr -k on ".mm";
|
||||||
|
setAttr -av -k on ".npu";
|
||||||
|
setAttr -k on ".itf";
|
||||||
|
setAttr -k on ".shp";
|
||||||
|
setAttr -cb on ".isp";
|
||||||
|
setAttr -k on ".uf";
|
||||||
|
setAttr -k on ".oi";
|
||||||
|
setAttr -k on ".rut";
|
||||||
|
setAttr -k on ".mot";
|
||||||
|
setAttr -av -k on ".mb";
|
||||||
|
setAttr -av -k on ".mbf";
|
||||||
|
setAttr -k on ".mbso";
|
||||||
|
setAttr -k on ".mbsc";
|
||||||
|
setAttr -av -k on ".afp";
|
||||||
|
setAttr -k on ".pfb";
|
||||||
|
setAttr -k on ".pram";
|
||||||
|
setAttr -k on ".poam";
|
||||||
|
setAttr -k on ".prlm";
|
||||||
|
setAttr -k on ".polm";
|
||||||
|
setAttr -cb on ".prm";
|
||||||
|
setAttr -cb on ".pom";
|
||||||
|
setAttr -cb on ".pfrm";
|
||||||
|
setAttr -cb on ".pfom";
|
||||||
|
setAttr -av -k on ".bll";
|
||||||
|
setAttr -av -k on ".bls";
|
||||||
|
setAttr -av -k on ".smv";
|
||||||
|
setAttr -k on ".ubc";
|
||||||
|
setAttr -k on ".mbc";
|
||||||
|
setAttr -cb on ".mbt";
|
||||||
|
setAttr -k on ".udbx";
|
||||||
|
setAttr -k on ".smc";
|
||||||
|
setAttr -k on ".kmv";
|
||||||
|
setAttr -cb on ".isl";
|
||||||
|
setAttr -cb on ".ism";
|
||||||
|
setAttr -cb on ".imb";
|
||||||
|
setAttr -av -k on ".rlen";
|
||||||
|
setAttr -av -k on ".frts";
|
||||||
|
setAttr -k on ".tlwd";
|
||||||
|
setAttr -k on ".tlht";
|
||||||
|
setAttr -k on ".jfc";
|
||||||
|
setAttr -cb on ".rsb";
|
||||||
|
setAttr -k on ".ope";
|
||||||
|
setAttr -k on ".oppf";
|
||||||
|
setAttr -av -k on ".rcp";
|
||||||
|
setAttr -av -k on ".icp";
|
||||||
|
setAttr -av -k on ".ocp";
|
||||||
|
setAttr -cb on ".hbl";
|
||||||
|
select -ne :defaultResolution;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -av -k on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -k on ".bnm";
|
||||||
|
setAttr -av -k on ".w" 640;
|
||||||
|
setAttr -av -k on ".h" 480;
|
||||||
|
setAttr -av ".pa";
|
||||||
|
setAttr -av -k on ".al";
|
||||||
|
setAttr -av -k on ".dar" 1.3333332538604736;
|
||||||
|
setAttr -av -k on ".ldar";
|
||||||
|
setAttr -av -k on ".dpi";
|
||||||
|
setAttr -av -k on ".off";
|
||||||
|
setAttr -av -k on ".fld";
|
||||||
|
setAttr -av -k on ".zsl";
|
||||||
|
setAttr -av -k on ".isu";
|
||||||
|
setAttr -av -k on ".pdu";
|
||||||
|
select -ne :defaultLightSet;
|
||||||
|
setAttr -k on ".cch";
|
||||||
|
setAttr -k on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -k on ".bnm";
|
||||||
|
setAttr -k on ".mwc";
|
||||||
|
setAttr -k on ".an";
|
||||||
|
setAttr -k on ".il";
|
||||||
|
setAttr -k on ".vo";
|
||||||
|
setAttr -k on ".eo";
|
||||||
|
setAttr -k on ".fo";
|
||||||
|
setAttr -k on ".epo";
|
||||||
|
setAttr ".ro" yes;
|
||||||
|
select -ne :defaultObjectSet;
|
||||||
|
setAttr -k on ".cch";
|
||||||
|
setAttr -k on ".ihi";
|
||||||
|
setAttr -k on ".nds";
|
||||||
|
setAttr -k on ".bnm";
|
||||||
|
setAttr -k on ".mwc";
|
||||||
|
setAttr -k on ".an";
|
||||||
|
setAttr -k on ".il";
|
||||||
|
setAttr -k on ".vo";
|
||||||
|
setAttr -k on ".eo";
|
||||||
|
setAttr -k on ".fo";
|
||||||
|
setAttr -k on ".epo";
|
||||||
|
setAttr ".ro" yes;
|
||||||
|
select -ne :hardwareRenderGlobals;
|
||||||
|
setAttr -av -k on ".cch";
|
||||||
|
setAttr -cb on ".ihi";
|
||||||
|
setAttr -av -k on ".nds";
|
||||||
|
setAttr -cb on ".bnm";
|
||||||
|
setAttr -av ".ctrs" 256;
|
||||||
|
setAttr -av ".btrs" 512;
|
||||||
|
setAttr -av -k off -cb on ".fbfm";
|
||||||
|
setAttr -av -k off -cb on ".ehql";
|
||||||
|
setAttr -av -k off -cb on ".eams";
|
||||||
|
setAttr -av -k off -cb on ".eeaa";
|
||||||
|
setAttr -av -k off -cb on ".engm";
|
||||||
|
setAttr -av -k off -cb on ".mes";
|
||||||
|
setAttr -av -k off -cb on ".emb";
|
||||||
|
setAttr -av -k off -cb on ".mbbf";
|
||||||
|
setAttr -av -k off -cb on ".mbs";
|
||||||
|
setAttr -av -k off -cb on ".trm";
|
||||||
|
setAttr -av -k off -cb on ".tshc";
|
||||||
|
setAttr -av -k off -cb on ".enpt";
|
||||||
|
setAttr -av -k off -cb on ".clmt";
|
||||||
|
setAttr -av -k off -cb on ".tcov";
|
||||||
|
setAttr -av -k off -cb on ".lith";
|
||||||
|
setAttr -av -k off -cb on ".sobc";
|
||||||
|
setAttr -av -k off -cb on ".cuth";
|
||||||
|
setAttr -av -k off -cb on ".hgcd";
|
||||||
|
setAttr -av -k off -cb on ".hgci";
|
||||||
|
setAttr -av -k off -cb on ".mgcs";
|
||||||
|
setAttr -av -k off -cb on ".twa";
|
||||||
|
setAttr -av -k off -cb on ".twz";
|
||||||
|
setAttr -cb on ".hwcc";
|
||||||
|
setAttr -cb on ".hwdp";
|
||||||
|
setAttr -cb on ".hwql";
|
||||||
|
setAttr -k on ".hwfr";
|
||||||
|
setAttr -k on ".soll";
|
||||||
|
setAttr -k on ".sosl";
|
||||||
|
setAttr -k on ".bswa";
|
||||||
|
setAttr -k on ".shml";
|
||||||
|
setAttr -k on ".hwel";
|
||||||
|
connectAttr "polyMergeVert1.out" "CTRL_C_eyesAimShape.i";
|
||||||
|
connectAttr "polyNormal4.out" "CTRL_L_eyeAimShape.i";
|
||||||
|
connectAttr "polyNormal2.out" "CTRL_R_eyeAimShape.i";
|
||||||
|
relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message";
|
||||||
|
relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message";
|
||||||
|
relationship "link" ":lightLinker1" "lambert2SG.message" ":defaultLightSet.message";
|
||||||
|
relationship "link" ":lightLinker1" "GUI_shader_yellowSG.message" ":defaultLightSet.message";
|
||||||
|
relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message";
|
||||||
|
relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message";
|
||||||
|
relationship "shadowLink" ":lightLinker1" "lambert2SG.message" ":defaultLightSet.message";
|
||||||
|
relationship "shadowLink" ":lightLinker1" "GUI_shader_yellowSG.message" ":defaultLightSet.message";
|
||||||
|
connectAttr "layerManager.dli[0]" "defaultLayer.id";
|
||||||
|
connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid";
|
||||||
|
connectAttr "GUIAnalog_red_shader.oc" "lambert2SG.ss";
|
||||||
|
connectAttr "CTRL_C_eyesAimShape.iog" "lambert2SG.dsm" -na;
|
||||||
|
connectAttr "lambert2SG.msg" "materialInfo1.sg";
|
||||||
|
connectAttr "GUIAnalog_red_shader.msg" "materialInfo1.m";
|
||||||
|
connectAttr "GUIAnalog_yellow_shader.oc" "GUI_shader_yellowSG.ss";
|
||||||
|
connectAttr "CTRL_R_eyeAimShape.iog" "GUI_shader_yellowSG.dsm" -na;
|
||||||
|
connectAttr "CTRL_L_eyeAimShape.iog" "GUI_shader_yellowSG.dsm" -na;
|
||||||
|
connectAttr "GUI_shader_yellowSG.msg" "materialInfo2.sg";
|
||||||
|
connectAttr "GUIAnalog_yellow_shader.msg" "materialInfo2.m";
|
||||||
|
connectAttr "polySurfaceShape1.o" "polyMergeVert1.ip";
|
||||||
|
connectAttr "CTRL_C_eyesAimShape.wm" "polyMergeVert1.mp";
|
||||||
|
connectAttr "polySurfaceShape4.o" "polyNormal2.ip";
|
||||||
|
connectAttr "polySurfaceShape6.o" "polyNormal4.ip";
|
||||||
|
connectAttr "lambert2SG.pa" ":renderPartition.st" -na;
|
||||||
|
connectAttr "GUI_shader_yellowSG.pa" ":renderPartition.st" -na;
|
||||||
|
connectAttr "GUIAnalog_red_shader.msg" ":defaultShaderList1.s" -na;
|
||||||
|
connectAttr "GUIAnalog_yellow_shader.msg" ":defaultShaderList1.s" -na;
|
||||||
|
connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na;
|
||||||
|
// End of head_ac.ma
|
BIN
resources/assets/YAxisUp/full_rig.mb
Normal file
BIN
resources/assets/YAxisUp/sub_ctrl.mb
Normal file
BIN
resources/assets/ZAxisUp/full_rig.mb
Normal file
BIN
resources/assets/ZAxisUp/sub_ctrl.mb
Normal file
73
resources/data/ARKit.json
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"ARKit": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
10,
|
||||||
|
11,
|
||||||
|
14,
|
||||||
|
15,
|
||||||
|
16,
|
||||||
|
17,
|
||||||
|
18,
|
||||||
|
19,
|
||||||
|
30,
|
||||||
|
31,
|
||||||
|
32,
|
||||||
|
33,
|
||||||
|
34,
|
||||||
|
35,
|
||||||
|
36,
|
||||||
|
37,
|
||||||
|
51,
|
||||||
|
52,
|
||||||
|
65,
|
||||||
|
66,
|
||||||
|
67,
|
||||||
|
68,
|
||||||
|
69,
|
||||||
|
70,
|
||||||
|
73,
|
||||||
|
74,
|
||||||
|
75,
|
||||||
|
76,
|
||||||
|
77,
|
||||||
|
78,
|
||||||
|
79,
|
||||||
|
80,
|
||||||
|
83,
|
||||||
|
84,
|
||||||
|
85,
|
||||||
|
86,
|
||||||
|
87,
|
||||||
|
88,
|
||||||
|
89,
|
||||||
|
90,
|
||||||
|
91,
|
||||||
|
92,
|
||||||
|
93,
|
||||||
|
94,
|
||||||
|
99,
|
||||||
|
100,
|
||||||
|
101,
|
||||||
|
102,
|
||||||
|
175,
|
||||||
|
176,
|
||||||
|
179,
|
||||||
|
180,
|
||||||
|
191,
|
||||||
|
192,
|
||||||
|
193,
|
||||||
|
194,
|
||||||
|
198,
|
||||||
|
199,
|
||||||
|
200,
|
||||||
|
201,
|
||||||
|
253
|
||||||
|
]
|
||||||
|
}
|
8102
resources/data/BodyJoints.json
Normal file
3153
resources/data/JointsInfluence.json
Normal file
BIN
resources/data/MetaHuman/Deploy.dna
Normal file
14106
resources/data/MetaHuman/JointsInfo.json
Normal file
6459
resources/data/MetaHuman/VertexsInfo.json
Normal file
62
resources/data/Topology.json
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"type": [
|
||||||
|
{
|
||||||
|
"MetaHuman": [
|
||||||
|
"MetaHuman"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DAZ": [
|
||||||
|
"DAZG8F",
|
||||||
|
"DAZG8M",
|
||||||
|
"DAZG9"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"VFACE": [
|
||||||
|
"VFACE"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"CC": [
|
||||||
|
"CC3"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"MetaHuman":{
|
||||||
|
"path": "files/presets/metahuman/",
|
||||||
|
"dna": "files/data/MetaHuman/Deploy.dna",
|
||||||
|
"jointsInfo": "files/data/MetaHuman/JointsInfo.json",
|
||||||
|
"vertexsInfo": "files/data/MetaHuman/VertexsInfo.json"
|
||||||
|
},
|
||||||
|
"DAZG8F":{
|
||||||
|
"path": "files/presets/daz/",
|
||||||
|
"dna": "files/data/DAZG8F/Deploy.dna",
|
||||||
|
"jointsInfo": "files/data/DAZG8F/JointsInfo.json",
|
||||||
|
"vertexsInfo": "files/data/DAZG8F/VertexsInfo.json"
|
||||||
|
},
|
||||||
|
"DAZG8M":{
|
||||||
|
"path": "files/presets/daz/",
|
||||||
|
"dna": "files/data/DAZG8M/Deploy.dna",
|
||||||
|
"jointsInfo": "files/data/DAZG8M/JointsInfo.json",
|
||||||
|
"vertexsInfo": "files/data/DAZG8M/VertexsInfo.json"
|
||||||
|
},
|
||||||
|
"DAZG9":{
|
||||||
|
"path": "files/presets/daz/",
|
||||||
|
"dna": "files/data/DAZG9/Deploy.dna",
|
||||||
|
"jointsInfo": "files/data/DAZG9/JointsInfo.json",
|
||||||
|
"vertexsInfo": "files/data/DAZG9/VertexsInfo.json"
|
||||||
|
},
|
||||||
|
"VFACE":{
|
||||||
|
"path": "files/presets/vface/",
|
||||||
|
"dna": "files/data/VFACE/Deploy.dna",
|
||||||
|
"jointsInfo": "files/data/VFACE/JointsInfo.json",
|
||||||
|
"vertexsInfo": "files/data/VFACE/VertexsInfo.json"
|
||||||
|
},
|
||||||
|
"CC3":{
|
||||||
|
"path": "files/presets/cc/",
|
||||||
|
"dna": "files/data/CC3/Deploy.dna",
|
||||||
|
"jointsInfo": "files/data/CC3/JointsInfo.json",
|
||||||
|
"vertexsInfo": "files/data/CC3/VertexsInfo.json"
|
||||||
|
}
|
||||||
|
}
|
168407
resources/gui.ma
Normal file
BIN
resources/maps/dx11_diffuseIrradiance_map.dds
Normal file
BIN
resources/maps/dx11_jitter_map.tga
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
resources/maps/dx11_skinLUT_map.tga
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
resources/maps/dx11_specularIrradiance_map.dds
Normal file
BIN
resources/maps/eyelashes_color_map.tga
Normal file
After Width: | Height: | Size: 4.0 MiB |
BIN
resources/maps/eyes_color_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/eyes_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_cavity_map.tga
Normal file
After Width: | Height: | Size: 4.0 MiB |
BIN
resources/maps/head_cm1_color_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_cm2_color_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_cm3_color_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_color_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_micro_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_roughness_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_wm1_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_wm2_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/head_wm3_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/teeth_color_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/maps/teeth_normal_map.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
resources/masks/head_wm13_lips_DL_msk.tga
Normal file
BIN
resources/masks/head_wm13_lips_DR_msk.tga
Normal file
BIN
resources/masks/head_wm13_lips_UL_msk.tga
Normal file
BIN
resources/masks/head_wm13_lips_UR_msk.tga
Normal file
BIN
resources/masks/head_wm1_blink_L_msk.tga
Normal file
BIN
resources/masks/head_wm1_blink_R_msk.tga
Normal file
BIN
resources/masks/head_wm1_browsRaiseInner_L_msk.tga
Normal file
BIN
resources/masks/head_wm1_browsRaiseInner_R_msk.tga
Normal file
BIN
resources/masks/head_wm1_browsRaiseOuter_L_msk.tga
Normal file
BIN
resources/masks/head_wm1_browsRaiseOuter_R_msk.tga
Normal file
BIN
resources/masks/head_wm1_chinRaise_L_msk.tga
Normal file
BIN
resources/masks/head_wm1_chinRaise_R_msk.tga
Normal file
BIN
resources/masks/head_wm1_jawOpen_msk.tga
Normal file
BIN
resources/masks/head_wm1_purse_DL_msk.tga
Normal file
BIN
resources/masks/head_wm1_purse_DR_msk.tga
Normal file
BIN
resources/masks/head_wm1_purse_UL_msk.tga
Normal file
BIN
resources/masks/head_wm1_purse_UR_msk.tga
Normal file
BIN
resources/masks/head_wm1_squintInner_L_msk.tga
Normal file
BIN
resources/masks/head_wm1_squintInner_R_msk.tga
Normal file
BIN
resources/masks/head_wm2_browsDown_L_msk.tga
Normal file
BIN
resources/masks/head_wm2_browsDown_R_msk.tga
Normal file
BIN
resources/masks/head_wm2_browsLateral_L_msk.tga
Normal file
BIN
resources/masks/head_wm2_browsLateral_R_msk.tga
Normal file
BIN
resources/masks/head_wm2_mouthStretch_L_msk.tga
Normal file
BIN
resources/masks/head_wm2_mouthStretch_R_msk.tga
Normal file
BIN
resources/masks/head_wm2_neckStretch_L_msk.tga
Normal file
BIN
resources/masks/head_wm2_neckStretch_R_msk.tga
Normal file
BIN
resources/masks/head_wm2_noseWrinkler_L_msk.tga
Normal file
BIN
resources/masks/head_wm2_noseWrinkler_R_msk.tga
Normal file
BIN
resources/masks/head_wm3_cheekRaiseInner_L_msk.tga
Normal file
BIN
resources/masks/head_wm3_cheekRaiseInner_R_msk.tga
Normal file
BIN
resources/masks/head_wm3_cheekRaiseOuter_L_msk.tga
Normal file
BIN
resources/masks/head_wm3_cheekRaiseOuter_R_msk.tga
Normal file
BIN
resources/masks/head_wm3_cheekRaiseUpper_L_msk.tga
Normal file
BIN
resources/masks/head_wm3_cheekRaiseUpper_R_msk.tga
Normal file
BIN
resources/masks/head_wm3_smile_L_msk.tga
Normal file
BIN
resources/masks/head_wm3_smile_R_msk.tga
Normal file
177
resources/meta_anim/meta_body_anim.py
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
MetaHuman Body Animation
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os # 导入os模块
|
||||||
|
import sys # 导入sys模块
|
||||||
|
import json # 导入json模块
|
||||||
|
import maya.cmds as cmds # 导入maya命令模块
|
||||||
|
|
||||||
|
def mgApplyBodyMocap():
|
||||||
|
objLs = cmds.ls(sl=1) # 获取当前选中的对象列表
|
||||||
|
namespace = ''
|
||||||
|
filePath = cmds.fileDialog2(fileMode=1, caption="Import Metahuman Body Animation") # 打开文件对话框以选择动画文件
|
||||||
|
|
||||||
|
if not filePath:
|
||||||
|
print("No file selected.") # 如果未选择文件,打印消息并返回
|
||||||
|
return
|
||||||
|
|
||||||
|
filePath = filePath[0] # 获取选择的文件路径
|
||||||
|
|
||||||
|
if len(objLs) > 0:
|
||||||
|
if ':' in objLs[0]:
|
||||||
|
namespace = objLs[0].split(':')[0] + ':' # 获取选中对象的命名空间
|
||||||
|
else:
|
||||||
|
namespace = ''
|
||||||
|
|
||||||
|
# 加载JSON文件
|
||||||
|
try:
|
||||||
|
with open(filePath, 'r') as f:
|
||||||
|
anim_keys = json.load(f) # 读取并加载json文件
|
||||||
|
except ValueError as e:
|
||||||
|
print("Error loading JSON file:", e) # 如果加载json文件出错,打印错误消息并返回
|
||||||
|
return
|
||||||
|
|
||||||
|
# 要转换的控制器列表
|
||||||
|
controllers_to_convert = [
|
||||||
|
'hips_ctrl', 'spine_01_ctrl', 'spine_02_ctrl', 'spine_03_ctrl',
|
||||||
|
'neck_01_ctrl', 'neck_02_ctrl', 'head_ctrl', 'body_ctrl'
|
||||||
|
]
|
||||||
|
|
||||||
|
controllers_to_special_convert_l = [
|
||||||
|
'hand_l_ik_ctrl', 'foot_l_ik_ctrl'
|
||||||
|
]
|
||||||
|
|
||||||
|
controllers_to_special_convert_r = [
|
||||||
|
'hand_r_ik_ctrl', 'foot_r_ik_ctrl'
|
||||||
|
]
|
||||||
|
|
||||||
|
for dict_key in anim_keys:
|
||||||
|
keyframes_list = anim_keys[dict_key] # 获取当前控制器的关键帧列表
|
||||||
|
ctrl = dict_key
|
||||||
|
attr = 'translateY'
|
||||||
|
if '.' in ctrl:
|
||||||
|
ctrl_string_list = ctrl.split('.')
|
||||||
|
ctrl = ctrl_string_list[0]
|
||||||
|
if len(ctrl_string_list) > 2:
|
||||||
|
attr = ctrl_string_list[1].replace('Location', 'translate').replace('Rotation', 'rotate').replace('Scale', 'scale') + ctrl_string_list[-1].upper()
|
||||||
|
else:
|
||||||
|
attr = 'translate' + ctrl_string_list[-1].upper()
|
||||||
|
|
||||||
|
# 检查控制器名称末尾是否有数字
|
||||||
|
ctrl_name = ctrl
|
||||||
|
if ctrl_name.split('_')[-1].isdigit():
|
||||||
|
ctrl_name = ctrl_name.replace('_' + ctrl_name.split('_')[-1], '')
|
||||||
|
ctrl_name = namespace + ctrl_name # 添加命名空间到控制器名称
|
||||||
|
|
||||||
|
if cmds.objExists(ctrl_name): # 如果控制器对象存在
|
||||||
|
for key_num in range(0, len(keyframes_list)):
|
||||||
|
key_val = keyframes_list[key_num]
|
||||||
|
key_value = key_val[0]
|
||||||
|
key_time = key_val[1]
|
||||||
|
|
||||||
|
# 初始化变量以存储旋转值和平移值
|
||||||
|
rotateX = None
|
||||||
|
rotateY = None
|
||||||
|
rotateZ = None
|
||||||
|
translateX = None
|
||||||
|
translateY = None
|
||||||
|
translateZ = None
|
||||||
|
|
||||||
|
# 将关键帧值分配给适当的属性
|
||||||
|
if 'rotateX' in attr:
|
||||||
|
rotateX = key_value
|
||||||
|
elif 'rotateY' in attr:
|
||||||
|
rotateY = key_value
|
||||||
|
elif 'rotateZ' in attr:
|
||||||
|
rotateZ = key_value
|
||||||
|
elif 'translateX' in attr:
|
||||||
|
translateX = key_value
|
||||||
|
elif 'translateY' in attr:
|
||||||
|
translateY = key_value
|
||||||
|
elif 'translateZ' in attr:
|
||||||
|
translateZ = key_value
|
||||||
|
|
||||||
|
# 对指定控制器的旋转进行特殊处理
|
||||||
|
if ctrl_name in controllers_to_convert:
|
||||||
|
if rotateX is not None:
|
||||||
|
# 将X旋转转换为Z旋转,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateZ', v=-rotateX, t=key_time)
|
||||||
|
if rotateZ is not None:
|
||||||
|
# 将Z旋转转换为X旋转,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateX', v=-rotateZ, t=key_time)
|
||||||
|
if rotateY is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateY', v=rotateY, t=key_time)
|
||||||
|
# 确保body_ctrl的平移数据被正确导入
|
||||||
|
if ctrl_name == 'body_ctrl':
|
||||||
|
if translateX is not None:
|
||||||
|
# 将X平移转换为Z平移,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateZ', v=-translateX, t=key_time)
|
||||||
|
if translateY is not None:
|
||||||
|
# 将Y平移转换为负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateY', v=-translateY, t=key_time)
|
||||||
|
if translateZ is not None:
|
||||||
|
# 将Z平移转换为X平移
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateX', v=translateZ, t=key_time)
|
||||||
|
elif ctrl_name in controllers_to_special_convert_l:
|
||||||
|
if rotateX is not None:
|
||||||
|
# 将X旋转转换为Z旋转,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateZ', v=-rotateX, t=key_time)
|
||||||
|
if rotateZ is not None:
|
||||||
|
# 将Z旋转转换为X旋转,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateX', v=-rotateZ, t=key_time)
|
||||||
|
if rotateY is not None:
|
||||||
|
# 将Y旋转转换为负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateY', v=-rotateY, t=key_time)
|
||||||
|
if translateX is not None:
|
||||||
|
# 将X平移转换为Z平移,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateZ', v=-translateX, t=key_time)
|
||||||
|
if translateY is not None:
|
||||||
|
# 将Y平移转换为负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateY', v=-translateY, t=key_time)
|
||||||
|
if translateZ is not None:
|
||||||
|
# 将Z平移转换为X平移,不取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateX', v=translateZ, t=key_time)
|
||||||
|
elif ctrl_name in controllers_to_special_convert_r:
|
||||||
|
if rotateX is not None:
|
||||||
|
# 将X旋转转换为Z旋转,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateZ', v=-rotateX, t=key_time)
|
||||||
|
if rotateZ is not None:
|
||||||
|
# 将Z旋转转换为X旋转,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateX', v=-rotateZ, t=key_time)
|
||||||
|
if rotateY is not None:
|
||||||
|
# 将Y旋转转换为负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateY', v=-rotateY, t=key_time)
|
||||||
|
if translateX is not None:
|
||||||
|
# 将X平移转换为Z平移,不取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateZ', v=translateX, t=key_time)
|
||||||
|
if translateY is not None:
|
||||||
|
# 将Y平移导入,但不转换
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateY', v=translateY, t=key_time)
|
||||||
|
if translateZ is not None:
|
||||||
|
# 将Z平移转换为X平移,并取负值
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateX', v=-translateZ, t=key_time)
|
||||||
|
else:
|
||||||
|
# 对于其他控制器,将Y旋转和Z旋转取负值
|
||||||
|
if rotateY is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateY', v=-rotateY, t=key_time)
|
||||||
|
if rotateZ is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateZ', v=-rotateZ, t=key_time)
|
||||||
|
if rotateX is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='rotateX', v=rotateX, t=key_time)
|
||||||
|
# 对于非指定控制器,直接设置平移数据
|
||||||
|
if translateX is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateX', v=translateX, t=key_time)
|
||||||
|
if translateY is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateY', v=translateY, t=key_time)
|
||||||
|
if translateZ is not None:
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute='translateZ', v=translateZ, t=key_time)
|
||||||
|
else:
|
||||||
|
print('Skipping ' + ctrl_name + ' as no such object exists.') # 如果对象不存在,打印跳过消息
|
||||||
|
|
||||||
|
print('Applied Animation to Body Rig.') # 打印应用动画完成消息
|
||||||
|
|
||||||
|
mgApplyBodyMocap() # 调用导入函数
|
54
resources/meta_anim/meta_face_anim.py
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
MetaHuman Face Animation
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os, sys
|
||||||
|
import maya.cmds as cmds
|
||||||
|
import imp
|
||||||
|
|
||||||
|
def mgApplyFaceMocap():
|
||||||
|
objLs = cmds.ls(sl=1)
|
||||||
|
namespace = ''
|
||||||
|
filePath = cmds.fileDialog2(fileMode=1, caption="Import Metahuman Face Animation")[0]
|
||||||
|
|
||||||
|
if len(objLs)>0:
|
||||||
|
if ':' in objLs[0]:
|
||||||
|
namespace = objLs[0].split(':')[0] + ':'
|
||||||
|
else:
|
||||||
|
namespace = ''
|
||||||
|
anim_keys_file = imp.load_source('', filePath)
|
||||||
|
|
||||||
|
anim_keys = anim_keys_file.anim_keys_dict
|
||||||
|
|
||||||
|
for dict_key in anim_keys:
|
||||||
|
keyframes_list = anim_keys[dict_key]
|
||||||
|
ctrl = dict_key
|
||||||
|
attr = 'translateY'
|
||||||
|
if '.' in ctrl:
|
||||||
|
ctrl_string_list = ctrl.split('.')
|
||||||
|
ctrl = ctrl_string_list[0]
|
||||||
|
if len(ctrl_string_list)>2:
|
||||||
|
attr = ctrl_string_list[1].replace('Location', 'translate').replace('Rotation', 'rotate').replace('Scale', 'scale') + ctrl_string_list[-1].upper()
|
||||||
|
else:
|
||||||
|
attr = 'translate' + ctrl_string_list[-1].upper()
|
||||||
|
|
||||||
|
# check for numbers at the end of cntrl name
|
||||||
|
|
||||||
|
ctrl_name = ctrl
|
||||||
|
if ctrl_name.split('_')[-1].isdigit():
|
||||||
|
ctrl_name = ctrl_name.replace('_' + ctrl_name.split('_')[-1], '')
|
||||||
|
ctrl_name = namespace + ctrl_name
|
||||||
|
|
||||||
|
if cmds.objExists(ctrl_name):
|
||||||
|
for key_num in range(0,len(keyframes_list)):
|
||||||
|
key_val = keyframes_list[key_num]
|
||||||
|
cmds.setKeyframe(ctrl_name, attribute=attr, v = key_val[0], t=key_val[1] )
|
||||||
|
else:
|
||||||
|
print('Skipping ' + ctrl_name + ' as no such object exists.')
|
||||||
|
|
||||||
|
print('Applied Animation to Face Rig.')
|
||||||
|
|
||||||
|
mgApplyFaceMocap()
|
1539
resources/meta_body_ctrl/meta_body_ctrl.py
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
pelvis
|
||||||
|
pelvis
|
||||||
|
spine_01
|
||||||
|
spine_02
|
||||||
|
spine_03
|
||||||
|
spine_04
|
||||||
|
spine_05
|
||||||
|
neck_01
|
||||||
|
neck_02
|
||||||
|
head
|
||||||
|
clavicle_l
|
||||||
|
upperarm_l
|
||||||
|
lowerarm_l
|
||||||
|
hand_l
|
||||||
|
clavicle_r
|
||||||
|
upperarm_r
|
||||||
|
lowerarm_r
|
||||||
|
hand_r
|
||||||
|
thigh_l
|
||||||
|
calf_l
|
||||||
|
foot_l
|
||||||
|
ball_l
|
||||||
|
thigh_r
|
||||||
|
calf_r
|
||||||
|
foot_r
|
||||||
|
ball_r
|
||||||
|
thumb_01_l
|
||||||
|
thumb_02_l
|
||||||
|
thumb_03_l
|
||||||
|
index_metacarpal_l
|
||||||
|
index_01_l
|
||||||
|
index_02_l
|
||||||
|
index_03_l
|
||||||
|
middle_metacarpal_l
|
||||||
|
middle_01_l
|
||||||
|
middle_02_l
|
||||||
|
middle_03_l
|
||||||
|
ring_metacarpal_l
|
||||||
|
ring_01_l
|
||||||
|
ring_02_l
|
||||||
|
ring_03_l
|
||||||
|
pinky_metacarpal_l
|
||||||
|
pinky_01_l
|
||||||
|
pinky_02_l
|
||||||
|
pinky_03_l
|
||||||
|
thumb_01_r
|
||||||
|
thumb_02_r
|
||||||
|
thumb_03_r
|
||||||
|
index_metacarpal_r
|
||||||
|
index_01_r
|
||||||
|
index_02_r
|
||||||
|
index_03_r
|
||||||
|
middle_metacarpal_r
|
||||||
|
middle_01_r
|
||||||
|
middle_02_r
|
||||||
|
middle_03_r
|
||||||
|
ring_metacarpal_r
|
||||||
|
ring_01_r
|
||||||
|
ring_02_r
|
||||||
|
ring_03_r
|
||||||
|
pinky_metacarpal_r
|
||||||
|
pinky_01_l
|
||||||
|
pinky_02_r
|
||||||
|
pinky_03_r
|
1755
resources/meta_motion_apply/meta_motion_apply.py
Normal file
4271
resources/shaders/dx11_shd_body.fx
Normal file
2872
resources/shaders/dx11_shd_eyeLeft.fx
Normal file
2872
resources/shaders/dx11_shd_eyeRight.fx
Normal file
4271
resources/shaders/dx11_shd_head.fx
Normal file
2872
resources/shaders/dx11_shd_teeth.fx
Normal file
BIN
resources/skinCluster/CTRL_Root_Face.skin
Normal file
74
resources/vtx_color.py
Normal file
@ -23,8 +23,15 @@ SCRIPTS_PATH = str(os.path.join(TOOL_PATH, "scripts").replace("\\", "/"))
|
|||||||
RESOURCES_PATH = str(os.path.join(TOOL_PATH, "resources").replace("\\", "/"))
|
RESOURCES_PATH = str(os.path.join(TOOL_PATH, "resources").replace("\\", "/"))
|
||||||
ICONS_PATH = str(os.path.join(RESOURCES_PATH, "icons").replace("\\", "/"))
|
ICONS_PATH = str(os.path.join(RESOURCES_PATH, "icons").replace("\\", "/"))
|
||||||
STYLES_PATH = str(os.path.join(RESOURCES_PATH, "styles").replace("\\", "/"))
|
STYLES_PATH = str(os.path.join(RESOURCES_PATH, "styles").replace("\\", "/"))
|
||||||
|
|
||||||
|
# DNA
|
||||||
DNA_FILE_PATH = str(os.path.join(RESOURCES_PATH, "dna").replace("\\", "/"))
|
DNA_FILE_PATH = str(os.path.join(RESOURCES_PATH, "dna").replace("\\", "/"))
|
||||||
DNA_IMG_PATH = str(os.path.join(RESOURCES_PATH, "img").replace("\\", "/"))
|
DNA_IMG_PATH = str(os.path.join(RESOURCES_PATH, "img").replace("\\", "/"))
|
||||||
|
DNA_VERSION = str("MH.4")
|
||||||
|
LOD_LEVELS = range(8)
|
||||||
|
DEFAULT_MESH_INDICES = range(54)
|
||||||
|
GUI_PATH = str(os.path.join(RESOURCES_PATH, "gui.ma").replace("\\", "/"))
|
||||||
|
ASSEMBLE_SCRIPT = str(os.path.join(RESOURCES_PATH, "additional_assemble_script.py").replace("\\", "/"))
|
||||||
|
|
||||||
# SYSTEM_INFO
|
# SYSTEM_INFO
|
||||||
SYSTEM_OS = str("Windows" if cmds.about(os=True).lower().startswith("win") else "Linux")
|
SYSTEM_OS = str("Windows" if cmds.about(os=True).lower().startswith("win") else "Linux")
|
||||||
@ -79,7 +86,9 @@ if __name__ == "__main__":
|
|||||||
BUILDER_PATH,
|
BUILDER_PATH,
|
||||||
DNALIB_PATH,
|
DNALIB_PATH,
|
||||||
UI_PATH,
|
UI_PATH,
|
||||||
UTILS_PATH
|
UTILS_PATH,
|
||||||
|
GUI_PATH,
|
||||||
|
ASSEMBLE_SCRIPT
|
||||||
}
|
}
|
||||||
for i in validate_paths:
|
for i in validate_paths:
|
||||||
if not i in sys.path:
|
if not i in sys.path:
|
||||||
|
@ -24,141 +24,95 @@ except ImportError:
|
|||||||
|
|
||||||
#===================================== 2. BlendShape Manager Class =====================================
|
#===================================== 2. BlendShape Manager Class =====================================
|
||||||
# 菜单
|
# 菜单
|
||||||
@staticmethod
|
|
||||||
def create_rl4_node(): pass
|
def create_rl4_node(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def delete_rl4_node(): pass
|
def delete_rl4_node(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def mirror_left_to_right(): pass
|
def mirror_left_to_right(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def mirror_right_to_left(): pass
|
def mirror_right_to_left(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def pose_a_to_t(): pass
|
def pose_a_to_t(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def pose_t_to_a(): pass
|
def pose_t_to_a(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def transfer_lod_texture(): pass
|
def transfer_lod_texture(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def set_joint_color(): pass
|
def set_joint_color(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def unmark_all(): pass
|
def unmark_all(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def rebuild_all_targets(): pass
|
def rebuild_all_targets(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def bake_all_animations(): pass
|
def bake_all_animations(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def bake_all_keyframes(): pass
|
def bake_all_keyframes(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def restore_expression(): pass
|
def restore_expression(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def blend_filter(): pass
|
def blend_filter(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def range_increase(): pass
|
def range_increase(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def range_reduction(): pass
|
def range_reduction(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def flip_target(): pass
|
def flip_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def mirror_target(): pass
|
def mirror_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def find_flip_target(): pass
|
def find_flip_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def add_blend_shape(): pass
|
def add_blend_shape(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def batch_blend_shape(): pass
|
def batch_blend_shape(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def rebuild_selected_target(): pass
|
def rebuild_selected_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def blend_selected_target(): pass
|
def blend_selected_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def psd(): pass
|
def psd(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def bse(): pass
|
def bse(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def key(): pass
|
def key(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def mir(): pass
|
def mir(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def ark(): pass
|
def ark(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def ctr(): pass
|
def ctr(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def restore_default_expression(): pass
|
def restore_default_expression(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def find_selected_expression(): pass
|
def find_selected_expression(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def write_current_expression(): pass
|
def write_current_expression(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def control_panel_search(): pass
|
def control_panel_search(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def select_associated_joints(): pass
|
def select_associated_joints(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def write_mirror_expression(): pass
|
def write_mirror_expression(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def organize_targets(): pass
|
def organize_targets(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def advanced_blend(): pass
|
def advanced_blend(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def rebuild_targets(): pass
|
def rebuild_targets(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def add_blend(): pass
|
def add_blend(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def delete_blend(): pass
|
def delete_blend(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def batch_blend(): pass
|
def batch_blend(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def show_help(): pass
|
def show_help(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def edit_control_panel(): pass
|
def edit_control_panel(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def preview_control_panel(): pass
|
def preview_control_panel(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_editor(): pass
|
def import_editor(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_editor_preview(): pass
|
def import_editor_preview(): pass
|
||||||
|
|
||||||
|
@ -23,32 +23,22 @@ except ImportError:
|
|||||||
wrapInstance = None
|
wrapInstance = None
|
||||||
#===================================== 2. DNA Definition Class =====================================
|
#===================================== 2. DNA Definition Class =====================================
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def write_joints_weights(): pass
|
def write_joints_weights(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def write_geometry(): pass
|
def write_geometry(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def write_skin_weights(): pass
|
def write_skin_weights(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def write_blend_targets(): pass
|
def write_blend_targets(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_new_lod(): pass
|
def create_new_lod(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def bind_skin(): pass
|
def bind_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def unbind_skin(): pass
|
def unbind_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def update_runtime_lod(): pass
|
def update_runtime_lod(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def quick_create_binding(): pass
|
def quick_create_binding(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_skin(): pass
|
def create_skin(): pass
|
||||||
|
@ -122,10 +122,9 @@ class MenuManager:
|
|||||||
("创建RL4节点", "connect.png", adjust_utils.create_rl4_node),
|
("创建RL4节点", "connect.png", adjust_utils.create_rl4_node),
|
||||||
("删除RL4节点", "disconnect.png", adjust_utils.delete_rl4_node),
|
("删除RL4节点", "disconnect.png", adjust_utils.delete_rl4_node),
|
||||||
None,
|
None,
|
||||||
|
("导入FBX蒙皮", "export_skin.png", rigging_utils.import_skin),
|
||||||
("导出FBX蒙皮", "export_skin.png", rigging_utils.export_skin),
|
("导出FBX蒙皮", "export_skin.png", rigging_utils.export_skin),
|
||||||
None,
|
None,
|
||||||
("退出", "exit.png", menu_utils.shutdown),
|
|
||||||
None,
|
|
||||||
("帮助文档", "help.png", menu_utils.show_help),
|
("帮助文档", "help.png", menu_utils.show_help),
|
||||||
("关于", "warning.png", menu_utils.show_about)
|
("关于", "warning.png", menu_utils.show_about)
|
||||||
]
|
]
|
||||||
@ -144,7 +143,7 @@ class MenuManager:
|
|||||||
icon_path = os.path.join(data.ICONS_PATH, icon)
|
icon_path = os.path.join(data.ICONS_PATH, icon)
|
||||||
if os.path.exists(icon_path):
|
if os.path.exists(icon_path):
|
||||||
action.setIcon(QtGui.QIcon(icon_path))
|
action.setIcon(QtGui.QIcon(icon_path))
|
||||||
action.triggered.connect(lambda checked=False, cb=callback: cb())
|
action.triggered.connect(lambda checked=False, fn=callback: fn())
|
||||||
menu.addAction(action)
|
menu.addAction(action)
|
||||||
|
|
||||||
def _add_toolbar_items(self, toolbar, items):
|
def _add_toolbar_items(self, toolbar, items):
|
||||||
@ -159,5 +158,5 @@ class MenuManager:
|
|||||||
icon_path = os.path.join(data.ICONS_PATH, icon)
|
icon_path = os.path.join(data.ICONS_PATH, icon)
|
||||||
if os.path.exists(icon_path):
|
if os.path.exists(icon_path):
|
||||||
action.setIcon(QtGui.QIcon(icon_path))
|
action.setIcon(QtGui.QIcon(icon_path))
|
||||||
action.triggered.connect(lambda checked=False, cb=callback: cb())
|
action.triggered.connect(lambda checked=False, fn=callback: fn())
|
||||||
toolbar.addAction(action)
|
toolbar.addAction(action)
|
@ -4,6 +4,7 @@
|
|||||||
#===================================== 1. Module Imports =====================================
|
#===================================== 1. Module Imports =====================================
|
||||||
import maya.cmds as cmds
|
import maya.cmds as cmds
|
||||||
import maya.mel as mel
|
import maya.mel as mel
|
||||||
|
import webbrowser
|
||||||
import os
|
import os
|
||||||
from scripts.config import data
|
from scripts.config import data
|
||||||
|
|
||||||
@ -24,34 +25,24 @@ except ImportError:
|
|||||||
|
|
||||||
#===================================== 2. Menu Utils =====================================
|
#===================================== 2. Menu Utils =====================================
|
||||||
# File
|
# File
|
||||||
@staticmethod
|
|
||||||
def load_dna(): pass
|
def load_dna(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def save_dna(): pass
|
def save_dna(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def load_project_dna(): pass
|
def load_project_dna(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def rename_blendshape_target(): pass
|
def rename_blendshape_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def reset_blendshape_target(): pass
|
def reset_blendshape_target(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def export_fbx(): pass
|
def export_fbx(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def shutdown(): pass
|
def shutdown(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def set_chinese(): pass
|
def set_chinese(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def set_english(): pass
|
def set_english(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def show_help():
|
def show_help():
|
||||||
"""显示帮助文档"""
|
"""显示帮助文档"""
|
||||||
try:
|
try:
|
||||||
@ -60,7 +51,6 @@ def show_help():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
cmds.warning(f"打开帮助文档失败: {str(e)}")
|
cmds.warning(f"打开帮助文档失败: {str(e)}")
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def show_about():
|
def show_about():
|
||||||
"""显示关于信息"""
|
"""显示关于信息"""
|
||||||
try:
|
try:
|
||||||
|
@ -23,93 +23,59 @@ except ImportError:
|
|||||||
wrapInstance = None
|
wrapInstance = None
|
||||||
|
|
||||||
#===================================== 2. Model Manager Class =====================================
|
#===================================== 2. Model Manager Class =====================================
|
||||||
@staticmethod
|
|
||||||
|
def clean_mesh(): pass
|
||||||
|
|
||||||
def load_custom_models(): pass
|
def load_custom_models(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_lod(): pass
|
def create_lod(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def auto_load_models(): pass
|
def auto_load_models(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def standardize_naming(): pass
|
def standardize_naming(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def auto_group(): pass
|
def auto_group(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def split_mesh(): pass
|
def split_mesh(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def generate_facial_accessories(): pass
|
def generate_facial_accessories(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def fix_split(): pass
|
def fix_split(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def fix_normals(): pass
|
def fix_normals(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def fix_vertex_order(): pass
|
def fix_vertex_order(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def fix_seams(): pass
|
def fix_seams(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def clean_options(): pass
|
def clean_options(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_skeleton(): pass
|
def import_skeleton(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_skin(): pass
|
def create_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def export_skin(): pass
|
def export_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_skin(): pass
|
def import_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def copy_skin(): pass
|
def copy_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_rbf_deformer(): pass
|
def create_rbf_deformer(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def quick_bind_clothing(): pass
|
def quick_bind_clothing(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def clone_blendshape(): pass
|
def clone_blendshape(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def transfer_uv_order(): pass
|
def transfer_uv_order(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_face_controller(): pass
|
def create_face_controller(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def extract_52bs(): pass
|
def extract_52bs(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def fix_joint_orientation(): pass
|
def fix_joint_orientation(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_body_controller(): pass
|
def create_body_controller(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_face_animation(): pass
|
def import_face_animation(): pass
|
||||||
|
|
||||||
@staticmethod
|
def import_body_animation(): pass
|
||||||
def import_body_animation(): pass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -24,89 +24,61 @@ except ImportError:
|
|||||||
|
|
||||||
#===================================== 2. Rigging Manager Class =====================================
|
#===================================== 2. Rigging Manager Class =====================================
|
||||||
# 菜单
|
# 菜单
|
||||||
@staticmethod
|
|
||||||
def export_skin(): pass
|
def export_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_skin(): pass
|
def import_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def copy_skin(): pass
|
def copy_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_rbf_deformer(): pass
|
def create_rbf_deformer(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def quick_bind_clothing(): pass
|
def quick_bind_clothing(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def clone_blendshape(): pass
|
def clone_blendshape(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def transfer_uv_order(): pass
|
def transfer_uv_order(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_face_controller(): pass
|
def create_face_controller(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def extract_52bs(): pass
|
def extract_52bs(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def fix_joint_orientation(): pass
|
def fix_joint_orientation(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_body_controller(): pass
|
def create_body_controller(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_face_animation(): pass
|
def import_face_animation(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_body_animation(): pass
|
def import_body_animation(): pass
|
||||||
|
|
||||||
# 预设
|
# 预设
|
||||||
@staticmethod
|
|
||||||
def update_dna_button(): pass
|
def update_dna_button(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def export_preset(): pass
|
def export_preset(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_preset(): pass
|
def import_preset(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def load_project_dna(): pass
|
def load_project_dna(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def load_preset(): pass
|
def load_preset(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def data_layer(): pass
|
def data_layer(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def overwirte_description(): pass
|
def overwirte_description(): pass
|
||||||
|
|
||||||
# 描述
|
# 描述
|
||||||
@staticmethod
|
|
||||||
def create_description(): pass
|
def create_description(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def clear_preview(): pass
|
def clear_preview(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_skeleton(): pass
|
def import_skeleton(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_binding(): pass
|
def create_binding(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_skin(): pass
|
def create_skin(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def import_preview(): pass
|
def import_preview(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def create_preview(): pass
|
def create_preview(): pass
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def load_dna(): pass
|
def load_dna(): pass
|
||||||
|
|
||||||
|
27
scripts/utils/AddBlendShape.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
|
||||||
|
from Core import GetMeshes, GetBlendShape
|
||||||
|
|
||||||
|
def AddBlendShape(targetName):
|
||||||
|
# 获取当前选择的对象
|
||||||
|
sel = cmds.ls(selection=True)
|
||||||
|
for obj in sel:
|
||||||
|
for j in range(50):
|
||||||
|
meshe = GetMeshes(m=j)
|
||||||
|
if obj == meshe:
|
||||||
|
if targetName:
|
||||||
|
blendShape = GetBlendShape(meshe)
|
||||||
|
if not cmds.objExists(blendShape):
|
||||||
|
blendShape = GetMeshes(i=j) + "_blendShapes"
|
||||||
|
cmds.blendShape(meshe, automatic=True, name=blendShape)
|
||||||
|
attrWeight = blendShape + ".weight"
|
||||||
|
currentBlendShapeList = cmds.listAttr(attrWeight, multi=True)
|
||||||
|
if targetName not in currentBlendShapeList:
|
||||||
|
cmds.duplicate(meshe, returnRootsOnly=True, name=targetName)
|
||||||
|
targetIndex = cmds.getAttr(attrWeight, size=True)
|
||||||
|
cmds.blendShape(blendShape, edit=True, target=(meshe, targetIndex, targetName, 1), weight=(targetIndex, 0))
|
||||||
|
cmds.delete(targetName)
|
||||||
|
cmds.select(sel, replace=True)
|
35
scripts/utils/AutomaticGrouping.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
|
||||||
|
from Core import GetMeshes
|
||||||
|
|
||||||
|
def AutomaticGrouping():
|
||||||
|
# 遍历LOD级别
|
||||||
|
for i in range(8):
|
||||||
|
lodMesh = GetMeshes(lod=i)
|
||||||
|
group = "head_lod{}_grp".format(i)
|
||||||
|
if not cmds.objExists(group):
|
||||||
|
cmds.group(em=True, name=group)
|
||||||
|
for j in range(len(lodMesh)):
|
||||||
|
if lodMesh[j] >= 50:
|
||||||
|
continue
|
||||||
|
mesh = GetMeshes(m=lodMesh[j])
|
||||||
|
if cmds.objExists(mesh):
|
||||||
|
try:
|
||||||
|
cmds.parent(mesh, group)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
bodyGrps = ["body_lod0_grp", "body_lod1_grp", "body_lod2_grp", "body_lod3_grp"]
|
||||||
|
for i in range(4):
|
||||||
|
bodyIndex = 50 + i
|
||||||
|
mesh = GetMeshes(m=bodyIndex)
|
||||||
|
if not cmds.objExists(bodyGrps[i]):
|
||||||
|
cmds.group(em=True, name=bodyGrps[i])
|
||||||
|
if cmds.objExists(mesh):
|
||||||
|
try:
|
||||||
|
cmds.parent(mesh, bodyGrps[i])
|
||||||
|
except:
|
||||||
|
pass
|
81
scripts/utils/BatchAddBlendShape.py
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
import re
|
||||||
|
from Core import GetMeshes, GetBlendShapes, ProgressBar, SetBlendShapes
|
||||||
|
|
||||||
|
def batch_add_blend_shape(lod, meshes):
|
||||||
|
"""
|
||||||
|
批量为指定LOD级别的模型添加混合变形目标
|
||||||
|
|
||||||
|
参数:
|
||||||
|
lod (int): LOD级别
|
||||||
|
meshes (list): 要处理的网格体名称列表
|
||||||
|
"""
|
||||||
|
# 获取指定LOD级别的所有网格体索引
|
||||||
|
mesh_indices = GetMeshes(lod=lod)
|
||||||
|
|
||||||
|
# 开始进度条
|
||||||
|
ProgressBar(sp=True)
|
||||||
|
|
||||||
|
for mesh_index in mesh_indices:
|
||||||
|
mesh = GetMeshes(m=mesh_index)
|
||||||
|
if cmds.objExists(mesh):
|
||||||
|
lod_mesh = GetMeshes(i=mesh_index)
|
||||||
|
# 使用正则表达式匹配第一个下划线前的内容
|
||||||
|
head = re.match(r'[^_]+', lod_mesh).group(0)
|
||||||
|
|
||||||
|
if head in meshes:
|
||||||
|
blend_shape = f"{lod_mesh}_blendShapes"
|
||||||
|
if not cmds.objExists(blend_shape):
|
||||||
|
# 创建混合变形节点
|
||||||
|
cmds.blendShape(mesh, automatic=True, name=blend_shape)
|
||||||
|
|
||||||
|
# 根据不同的模型类型处理不同的目标数量
|
||||||
|
target_count_map = {
|
||||||
|
"head": 0,
|
||||||
|
"teeth": 1,
|
||||||
|
"saliva": 1,
|
||||||
|
"eyeLeft": 3,
|
||||||
|
"eyeRight": 4,
|
||||||
|
"eyeshell": 8,
|
||||||
|
"eyelashes": 8,
|
||||||
|
"eyeEdge": 8,
|
||||||
|
"cartilage": 8
|
||||||
|
}
|
||||||
|
|
||||||
|
if head in target_count_map:
|
||||||
|
target_count = target_count_map[head]
|
||||||
|
count = GetBlendShapes(tc=target_count)
|
||||||
|
|
||||||
|
# 设置进度条
|
||||||
|
ProgressBar(max_value=count)
|
||||||
|
ProgressBar(t=f"[{blend_shape}] Creating Target Mesh...")
|
||||||
|
|
||||||
|
# 创建混合变形目标
|
||||||
|
for index in range(count):
|
||||||
|
ProgressBar(apr=1)
|
||||||
|
bs_name = GetBlendShapes(bsn=target_count, index=index)
|
||||||
|
|
||||||
|
# 复制网格体作为目标
|
||||||
|
cmds.duplicate(mesh, returnRootsOnly=True, name=bs_name)
|
||||||
|
|
||||||
|
# 对LOD0级别的特定模型设置混合变形目标
|
||||||
|
if lod == 0 and (head in ["head", "teeth", "cartilage"]):
|
||||||
|
SetBlendShapes(ct=mesh_index, index=index, target=bs_name)
|
||||||
|
|
||||||
|
# 添加混合变形目标
|
||||||
|
cmds.blendShape(
|
||||||
|
blend_shape,
|
||||||
|
edit=True,
|
||||||
|
tangentSpace=True,
|
||||||
|
target=(mesh, index, bs_name, 1.0),
|
||||||
|
weight=(index, 0)
|
||||||
|
)
|
||||||
|
|
||||||
|
# 删除临时目标模型
|
||||||
|
cmds.delete(bs_name)
|
||||||
|
|
||||||
|
# 结束进度条
|
||||||
|
ProgressBar(ep=True)
|
37
scripts/utils/BatchDelBlendShape.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
import re
|
||||||
|
from Core import GetMeshes
|
||||||
|
|
||||||
|
def batch_del_blend_shape(lod, meshes):
|
||||||
|
"""
|
||||||
|
批量删除指定LOD级别模型的混合变形节点
|
||||||
|
|
||||||
|
参数:
|
||||||
|
lod (int): LOD级别
|
||||||
|
meshes (list): 要处理的网格体名称列表
|
||||||
|
"""
|
||||||
|
# 获取指定LOD级别的所有网格体索引
|
||||||
|
mesh_indices = GetMeshes(lod=lod)
|
||||||
|
|
||||||
|
for mesh_index in mesh_indices:
|
||||||
|
# 获取网格体名称
|
||||||
|
mesh = GetMeshes(m=mesh_index)
|
||||||
|
|
||||||
|
if cmds.objExists(mesh):
|
||||||
|
# 获取LOD网格体名称
|
||||||
|
lod_mesh = GetMeshes(i=mesh_index)
|
||||||
|
|
||||||
|
# 使用正则表达式匹配第一个下划线前的内容
|
||||||
|
head = re.match(r'[^_]+', lod_mesh).group(0)
|
||||||
|
|
||||||
|
# 如果当前模型在要处理的列表中
|
||||||
|
if head in meshes:
|
||||||
|
# 构建混合变形节点名称
|
||||||
|
blend_shape = f"{lod_mesh}_blendShapes"
|
||||||
|
|
||||||
|
# 如果混合变形节点存在则删除
|
||||||
|
if cmds.objExists(blend_shape):
|
||||||
|
cmds.delete(blend_shape)
|
105
scripts/utils/BindPoseReset.py
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
import maya.mel as mel
|
||||||
|
from Core import get_orig_name, get_orig_shape_name, ProgressBar, GetBlendShape
|
||||||
|
|
||||||
|
def bind_pose_reset(objs):
|
||||||
|
"""
|
||||||
|
重置模型的绑定姿势
|
||||||
|
|
||||||
|
参数:
|
||||||
|
objs (list): 要处理的模型列表
|
||||||
|
"""
|
||||||
|
# 开始进度条
|
||||||
|
ProgressBar(sp=True)
|
||||||
|
ProgressBar(max_value=len(objs))
|
||||||
|
|
||||||
|
for obj in objs:
|
||||||
|
# 更新进度条
|
||||||
|
ProgressBar(t=f"[{obj}] Bind Pose Reset...")
|
||||||
|
ProgressBar(apr=1)
|
||||||
|
|
||||||
|
# 获取蒙皮变形节点
|
||||||
|
skin_cluster = mel.eval(f'findRelatedSkinCluster("{obj}")')
|
||||||
|
|
||||||
|
if cmds.objExists(skin_cluster):
|
||||||
|
# 获取混合变形节点
|
||||||
|
blend_shape = GetBlendShape(obj)
|
||||||
|
|
||||||
|
# 创建临时复制模型
|
||||||
|
copy_name = cmds.duplicate(obj, name=f"{obj}_CopyTarget", returnRootsOnly=True)
|
||||||
|
cmds.blendShape(copy_name[0])
|
||||||
|
cmds.delete(copy_name[0], constructionHistory=True)
|
||||||
|
|
||||||
|
# 获取骨骼并应用蒙皮
|
||||||
|
bones = cmds.skinCluster(skin_cluster, query=True, influence=True)
|
||||||
|
cmds.skinCluster(bones, copy_name[0], toSelectedBones=True)
|
||||||
|
|
||||||
|
# 复制蒙皮权重
|
||||||
|
cmds.copySkinWeights(
|
||||||
|
sourceShape=obj,
|
||||||
|
destinationShape=copy_name[0],
|
||||||
|
noMirror=True,
|
||||||
|
surfaceAssociation="closestPoint",
|
||||||
|
influenceAssociation=["closestJoint", "oneToOne"]
|
||||||
|
)
|
||||||
|
|
||||||
|
# 解绑原模型
|
||||||
|
cmds.skinCluster(obj, edit=True, unbind=True)
|
||||||
|
|
||||||
|
# 获取复制模型的形状节点
|
||||||
|
target_shape = cmds.pickWalk(copy_name[0], direction="down")
|
||||||
|
|
||||||
|
if cmds.objExists(blend_shape):
|
||||||
|
# 处理带有混合变形的情况
|
||||||
|
orig = get_orig_name(obj)
|
||||||
|
try:
|
||||||
|
cmds.connectAttr(f"{orig[0]}.outMesh", f"{blend_shape}.originalGeometry[0]", force=True)
|
||||||
|
cmds.connectAttr(f"{orig[0]}.worldMesh[0]", f"{blend_shape}.input[0].inputGeometry", force=True)
|
||||||
|
except: pass
|
||||||
|
|
||||||
|
cmds.currentTime(0)
|
||||||
|
cmds.connectAttr(f"{target_shape[0]}.outMesh", f"{orig[0]}.inMesh", force=True)
|
||||||
|
cmds.currentTime(1)
|
||||||
|
cmds.disconnectAttr(f"{target_shape[0]}.outMesh", f"{orig[0]}.inMesh")
|
||||||
|
cmds.currentTime(0)
|
||||||
|
else:
|
||||||
|
# 处理不带混合变形的情况
|
||||||
|
orig = get_orig_shape_name(obj)
|
||||||
|
if orig:
|
||||||
|
cmds.currentTime(0)
|
||||||
|
cmds.connectAttr(f"{target_shape[0]}.outMesh", f"{orig[0]}.inMesh", force=True)
|
||||||
|
cmds.currentTime(1)
|
||||||
|
cmds.disconnectAttr(f"{target_shape[0]}.outMesh", f"{orig[0]}.inMesh")
|
||||||
|
cmds.currentTime(0)
|
||||||
|
|
||||||
|
# 重置控制点位置
|
||||||
|
vertex_count = cmds.polyEvaluate(orig[0], vertex=True)
|
||||||
|
for i in range(vertex_count):
|
||||||
|
cmds.setAttr(f"{orig[0]}.controlPoints[{i}]", 0, 0, 0, type="float3")
|
||||||
|
else:
|
||||||
|
# 处理没有Orig节点的情况
|
||||||
|
still_shape = cmds.pickWalk(obj, direction="down")
|
||||||
|
cmds.currentTime(0)
|
||||||
|
cmds.connectAttr(f"{target_shape[0]}.outMesh", f"{still_shape[0]}.inMesh", force=True)
|
||||||
|
cmds.currentTime(1)
|
||||||
|
cmds.disconnectAttr(f"{target_shape[0]}.outMesh", f"{still_shape[0]}.inMesh")
|
||||||
|
cmds.currentTime(0)
|
||||||
|
|
||||||
|
# 重新绑定蒙皮并复制权重
|
||||||
|
cmds.skinCluster(bones, obj, name=skin_cluster, toSelectedBones=True)
|
||||||
|
cmds.copySkinWeights(
|
||||||
|
sourceShape=copy_name[0],
|
||||||
|
destinationShape=obj,
|
||||||
|
noMirror=True,
|
||||||
|
surfaceAssociation="closestPoint",
|
||||||
|
influenceAssociation=["closestJoint", "oneToOne"]
|
||||||
|
)
|
||||||
|
|
||||||
|
# 删除临时模型
|
||||||
|
cmds.delete(copy_name[0])
|
||||||
|
|
||||||
|
# 结束进度条
|
||||||
|
ProgressBar(ep=True)
|
59
scripts/utils/BindSkinCluster.py
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
import maya.mel as mel
|
||||||
|
from Core import GetMeshes, GetJoints
|
||||||
|
|
||||||
|
def bind_skin_cluster():
|
||||||
|
"""
|
||||||
|
为模型绑定蒙皮变形器
|
||||||
|
- 处理LOD0到LOD7的所有模型
|
||||||
|
- 根据模型索引获取对应的骨骼并绑定
|
||||||
|
- 设置最大影响数
|
||||||
|
"""
|
||||||
|
# 遍历8个LOD级别
|
||||||
|
for i in range(8):
|
||||||
|
# 获取当前LOD级别的骨骼列表
|
||||||
|
joint_lod = GetJoints(lod=i, type="string")
|
||||||
|
|
||||||
|
# 检查所有骨骼是否存在
|
||||||
|
exists = True
|
||||||
|
for joint in joint_lod:
|
||||||
|
if not cmds.objExists(joint):
|
||||||
|
exists = False
|
||||||
|
break
|
||||||
|
|
||||||
|
# 如果所有骨骼都存在,处理当前LOD级别的模型
|
||||||
|
if exists:
|
||||||
|
# 获取当前LOD级别的模型索引列表
|
||||||
|
lod_indices = GetMeshes(lod=i)
|
||||||
|
|
||||||
|
# 遍历处理每个模型
|
||||||
|
for mesh_index in lod_indices:
|
||||||
|
# 获取模型名称
|
||||||
|
mesh = GetMeshes(m=mesh_index)
|
||||||
|
|
||||||
|
if cmds.objExists(mesh):
|
||||||
|
# 检查是否已经有蒙皮变形器
|
||||||
|
skin_cluster = mel.eval(f'findRelatedSkinCluster("{mesh}")')
|
||||||
|
|
||||||
|
if not cmds.objExists(skin_cluster):
|
||||||
|
# 构建蒙皮变形器名称
|
||||||
|
name = f"{GetMeshes(i=mesh_index)}_skinCluster"
|
||||||
|
|
||||||
|
# 获取影响骨骼和最大影响数
|
||||||
|
influences = GetJoints(inf=mesh_index)
|
||||||
|
max_influences = GetJoints(mi=mesh_index)
|
||||||
|
|
||||||
|
# 创建蒙皮变形器
|
||||||
|
cmds.skinCluster(
|
||||||
|
influences,
|
||||||
|
mesh,
|
||||||
|
name=name,
|
||||||
|
maximumInfluences=max_influences,
|
||||||
|
toSelectedBones=True
|
||||||
|
)
|
||||||
|
|
||||||
|
# 执行权重绑定
|
||||||
|
mel.eval('SGBindSkinClusterWeights')
|
110
scripts/utils/BlendShapeFindFlipTarget.py
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import maya.cmds as cmds
|
||||||
|
import maya.mel as mel
|
||||||
|
|
||||||
|
def blend_shape_find_flip_target(axis, target_ids_a, target_ids_b, blend_shape):
|
||||||
|
"""
|
||||||
|
查找并设置混合变形目标的镜像关系
|
||||||
|
|
||||||
|
参数:
|
||||||
|
axis (int): 镜像轴向 (1=X, 2=Y, 3=Z, 4=Topology)
|
||||||
|
target_ids_a (list): 源目标ID列表
|
||||||
|
target_ids_b (list): 目标ID列表
|
||||||
|
blend_shape (str): 混合变形节点名称
|
||||||
|
"""
|
||||||
|
# 检查混合变形节点是否存在
|
||||||
|
if not cmds.objExists(blend_shape):
|
||||||
|
cmds.warning(f"No Exists BlendShape: {blend_shape}")
|
||||||
|
return
|
||||||
|
|
||||||
|
# 检查源目标和目标列表长度是否相等
|
||||||
|
if len(target_ids_a) != len(target_ids_b):
|
||||||
|
cmds.warning("Unequal Mirror Targets...")
|
||||||
|
return
|
||||||
|
|
||||||
|
# 获取当前对称建模设置
|
||||||
|
original_symmetry = cmds.symmetricModelling(query=True, symmetry=True)
|
||||||
|
symmetry_space = None
|
||||||
|
symmetry_axis = None
|
||||||
|
|
||||||
|
if original_symmetry:
|
||||||
|
symmetry_space = cmds.symmetricModelling(query=True, about=True)
|
||||||
|
if symmetry_space == "topo":
|
||||||
|
symmetry_axis = mel.eval('blendShapeGetTopoSymmetryEdge()')
|
||||||
|
else:
|
||||||
|
symmetry_axis = cmds.symmetricModelling(query=True, axis=True)
|
||||||
|
|
||||||
|
# 处理每对目标
|
||||||
|
for target_a, target_b in zip(target_ids_a, target_ids_b):
|
||||||
|
# 检查并重命名目标
|
||||||
|
target_name = f"{blend_shape}.weight[{target_a}]"
|
||||||
|
target_name = cmds.aliasAttr(target_name, query=True)
|
||||||
|
|
||||||
|
exist = False
|
||||||
|
if cmds.objExists(target_name):
|
||||||
|
exist = True
|
||||||
|
cmds.rename(target_name, f"{target_name}_temp")
|
||||||
|
|
||||||
|
# 重新生成目标并设置连接
|
||||||
|
target_mesh = cmds.sculptTarget(
|
||||||
|
blend_shape,
|
||||||
|
edit=True,
|
||||||
|
regenerate=True,
|
||||||
|
target=target_a
|
||||||
|
)
|
||||||
|
target_mesh_shape = cmds.listRelatives(target_mesh[0], shapes=True)
|
||||||
|
|
||||||
|
# 断开原有连接并建立新连接
|
||||||
|
cmds.disconnectAttr(
|
||||||
|
f"{target_mesh_shape[0]}.worldMesh[0]",
|
||||||
|
f"{blend_shape}.inputTarget[0].inputTargetGroup[{target_a}].inputTargetItem[6000].inputGeomTarget"
|
||||||
|
)
|
||||||
|
cmds.connectAttr(
|
||||||
|
f"{target_mesh_shape[0]}.worldMesh[0]",
|
||||||
|
f"{blend_shape}.inputTarget[0].inputTargetGroup[{target_b}].inputTargetItem[6000].inputGeomTarget",
|
||||||
|
force=True
|
||||||
|
)
|
||||||
|
|
||||||
|
# 删除临时目标网格
|
||||||
|
cmds.delete(target_mesh)
|
||||||
|
|
||||||
|
# 恢复原始名称
|
||||||
|
if exist:
|
||||||
|
cmds.rename(f"{target_name}_temp", target_name)
|
||||||
|
|
||||||
|
# 获取几何体索引
|
||||||
|
geometry_indices = cmds.blendShape(blend_shape, query=True, geometryIndices=True)
|
||||||
|
|
||||||
|
# 构建命令字符串
|
||||||
|
cmd_parts = []
|
||||||
|
for geometry in geometry_indices:
|
||||||
|
cmd = f"blendShape -e "
|
||||||
|
for target_id in target_ids_b:
|
||||||
|
cmd += f"-ft {geometry} {target_id} "
|
||||||
|
|
||||||
|
if axis == 4:
|
||||||
|
cmd += "-ss 0 "
|
||||||
|
else:
|
||||||
|
cmd += "-ss 1 "
|
||||||
|
if axis == 1:
|
||||||
|
cmd += "-sa x "
|
||||||
|
elif axis == 2:
|
||||||
|
cmd += "-sa y "
|
||||||
|
elif axis == 3:
|
||||||
|
cmd += "-sa z "
|
||||||
|
cmd += f"{blend_shape};"
|
||||||
|
cmd_parts.append(cmd)
|
||||||
|
|
||||||
|
# 添加对称设置恢复命令
|
||||||
|
if not original_symmetry or not symmetry_axis:
|
||||||
|
cmd_parts.append('symmetricModelling -s 0')
|
||||||
|
elif symmetry_space == "topo":
|
||||||
|
cmd_parts.append(f'symmetricModelling -e -about {symmetry_space} -s 1 {symmetry_axis}')
|
||||||
|
else:
|
||||||
|
cmd_parts.append(f'symmetricModelling -e -about {symmetry_space} -axis {symmetry_axis} -s 1')
|
||||||
|
|
||||||
|
# 执行命令
|
||||||
|
for cmd in cmd_parts:
|
||||||
|
mel.eval(cmd)
|