代码段记录

选择actor并移动
要获静态网格体的组件,才能移动

1
2
3
import unreal
a=unreal.EditorLevelLibrary.get_selected_level_actors()
print(a[0].static_mesh_component.set_world_location(unreal.Vector(0,0,0)))
阅读全文 »

地编

流送池超出

1.简单理解内存溢出,扩大内存设置是其中一个办法(4.24默认3000)
cmd r.Streaming.PoolSize = 4096
2.项目设置中纹理推送(取消勾选)
3.rhi 改成directx 11(改成x11 后纹理推送就要勾选)
5.实在不行就换内存大点的显卡

距离很远时雾气会消失

解决办法:ExponentialHeightFog 下视图距离Volumetric Fog Distance调整

阅读全文 »

获取所有文件进行切换

1
2
3
4
5
6
7
8
9
10
assembly_ref_list = cmds.ls(type=['assemblyReference', 'assemblyDefinition'])

for i in assembly_ref_list:
print i
listRepresentations = cmds.assembly(i, query=True, listRepresentations=True)
print listRepresentations
for d in listRepresentations:
# 改变装配文件(注意代码有问题,现在相当于全部切换一遍)
sel_item = cmds.assembly(i, edit=True, activeLabel=d)
print sel_item

之后其实就是使用setAttr来调换信息,使其切换项目排在第一位,因为测试发现不进行这一步操作,
再次打开文件后会恢复设置.

装配未解决问题

材质和位置目前不可更改,更改后发现再次打开文件会恢复材质,个别档案甚至不能赋予新材质

检查pluginInfo 是否加载

redshift4maya
AbcExport
AbcImport
gpuCache
sceneAssembly

去除自带摄像机

1
2
assemblies = cmds.ls(assemblies=True)
assemblies.remove('persp')

导出准备

贴图路径替换

icon图片拍屏

maya文件另存为

添加内容浏览器右键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import unreal

menus = unreal.ToolMenus.get()

# add contextbrowser menu
menu_name = "ContentBrowser.AssetContextMenu"
menu = menus.find_menu(menu_name)
entry = unreal.ToolMenuEntry(type=unreal.MultiBlockType.MENU_ENTRY)
entry.set_label("Convert Materials")
# NOTE 注册执行的命令
typ = unreal.ToolMenuStringCommandType.PYTHON
run_str = "print(11)"
entry.set_string_command(typ, "", run_str)

menu.add_section('CustomControl', label='CustomMenu')
menu.add_menu_entry('CustomControl',entry)
阅读全文 »

常用前缀

材质
前缀 M_ 表示父材质,比如 M_Chair。
前缀 MI_ 表示材质实例
蓝图 BP_
骨骼网格体 SK_
静态网格体 SM_
关卡序列 LS_

资产类型 前缀 资产类型 前缀 资产类型 前缀 资产类型 前缀
HDRI HDR_ 绑定 Rig_ 关卡序列 LS_ 媒体配置文件 MPR_
材质 M_ 骨架 SKEL_ Sequencer编辑 EDIT_ —– —–
材质实例 MI_ 蒙太奇 AM_ —– —– —– —–
物理资产 PHYS_ 动画序列 AS_ —– —– —– —–
物理材质 PM_ 混合空间 BS_ —– —– —– —–
后期处理材质 PPM_ —– —– —– —– —– —–
骨骼网格体 SK_ —– —– —– —– —– —–
静态网格体 SM_ —– —– —– —– —– —–
纹理 T_ —– —– —– —– —– —–
OCIO配置文件 OCIO_ —– —– —– —– —– —–
阅读全文 »

Python 2.7中文处理

python3对中文应该是友好一些,只不过目前工作用到的是2.7

目前理解:

str在python中内部是unicode编码,在做编码转换时,通常要以unicode作为中间码,
要先知道原str的编码,然后使用decode解码成unicode,再转换encode成其他编码(如常用的utf-8)

显示中文

Python2.7默认使用的字符集是ASCII,只是让你的程序在运行的过程中显示中文.

1
# -*- coding: UTF-8 -*-

过滤中文字符

1
2
3
regex = re.compile(u'[\u4e00-\u9fa5]+')
if regex.search(i) is None:

设置系统默认字符编码

1
2
3
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

编码和解码

1
2
3
4
5
6
# 编
def encode_utf8(string):
return string.encode('utf-8')
# 解
def decode_utf8(string)
return unicode(string, encoding='utf-8')

类似\xe6\x8f…转中文

1
2
3
print(str.strip().decode('utf-8'))
#或者
b"str".decode('utf-8')

获取自带icon图

1
2
3
4
5
6
7
style = QtWidgets.QApplication.style()
icon = style.standardIcon(QtWidgets.QStyle.SP_DirIcon)
for i in idea_list:

item = QtWidgets.QListWidgetItem()
item.setText(i.split("_")[1])
item.setIcon(icon)

1.png

阅读全文 »
0%