Article
未读前言公司有个需求是要在UE5中处理fbx数据,要用到fbx sdk。可是UE5的python版本是3.9,网上没有找到对应的,就自己编译了一个。这里记录一下过程。(文章尾巴有编译好的自取)
编译过程准备
FBX SDK 2020.2.1 VS2019
FBX SDK 2020.2.1 Python Bindings
SIP 4.19.3 - 4.19.8 之间版本
Visual Studio 2019
flex和bison
下载安装FBX SDK和Python Bindings下载FBX C++ SDK
下载FBX SDK Python Bindings
这两样下载完成后直接安装即可,安装后记录安装路径位置。
新建一个文件夹D:\fbx_sdk\2020.2,将分别将它们复制到bindings和sdk。
下载sip下载完成后解压,放到D:\fbx_sdk\sip
下载Visual Studio 2019下载并安装
下载并配置flex和bison解压后加入到环境变量PATH:C:\Users\zhanglingyun\Downloads\Compressed\win_flex_bis ...
Learn
未读数字类型
整数
用户指定精度类型
浮点类型
serial类型(自增整数)
名字
存储长度
描述
范围
smallint
2 字节
小范围整数
-32768 到 +32767
integer
4 字节
常用的整数
-2147483648 到 +2147483647
bigint
8 字节
大范围整数
-9223372036854775808 到 +9223372036854775807
decimal
可变长
用户指定的精度,精确
小数点前 131072 位;小数点后 16383 位
numeric
可变长
用户指定的精度,精确
小数点前 131072 位;小数点后 16383 位
real
4字节
可变精度,不精确
6 位十进制数字精度
double precision
8 字节
可变精度,不精确
15 位十进制数字精度
smallserial
2 字节
自增的小范围整数
1 到 32767
serial
4字节
自增整数
1 到 2147483647
bigserial
8字节
自增的大范围整数
1 到 922337203685477 ...
Article
未读前言做为TD,免不了会被公司要求写一个资产库。因为自己并没有资产管理的需要,没怎么使用过类似软件,于是想着在网上找到一些现有的资产库程序做为参考(主要是UI布局和交互方式)。既然花时间找了,也就想做个分享。
这篇文章就是对它们简单介绍一下,笔者也没有深度使用过,感兴趣可以自己下载体验。
Assetlt
AssetIt是一个内嵌在Maya里本地资产管理器,由个人开发者发布在Gumroad平台。单人授权license为$50,因为是使用的Python3,目前只能在Maya2022和Maya2023上使用。
这里是官方的功能演示视频: https://youtu.be/8EAZIgxJ4kA
Connecter
Connecter最初是一款针对3dmax以及室内可视化推出的管理软件。到现在它已经支持与多个软件集成,比如Unreal,Revit,Cinema4D,Rhinoceros,Blender。
它的个人版是免费使用的(管理个人资产很推荐),团队的话可以使用Server版,提供版本控制、权限用户管理、Web目录、通知等功能。
PBRMAX
PBRMAX一款在线的付费资产库平台,官方提 ...
Learn
未读新加入的一家公司因为条件有限,无法提供服务器给TD部门来搭建一个gitlab服务。但是协同开发又离不开这样的版本管理应用,所以想了想在自己本机弄个gitlab服务也能凑合用用。
虽然在windows用VM虚拟机也可以完成一样的效果,这里用docker是觉得更方便一些。
参考来自于:https://blog.csdn.net/pkrobbie/article/details/113837392
1.安装WSL2开启功能Windows Subsystem for Linux(WSL)是Windows 10上的一个工具,允许开发人员在Windows上直接运行Linux环境。
在安装WSL前需要先开启两个功能。
可以从控制面板 - 程序 - 启用或关闭Windows功能中开启。或者使用powershell(管理员身份打开)输入命令开启也一样。
12345# 启用"适用于 Linux 的 Windows 子系统"可选功能dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linu ...
Article
未读前言最近在做一些unreal的开发,语言上使用的是python(对于我自己能力而言,使用python效率会快一些,C++只会个基础)。
但众所周知,unreal的python文档比较难阅读,很多命令和方法都得靠猜和尝试。
刚开始做unreal开发的时,要实现一些功能都得从搜索引擎去获得一些代码参考。无法直接从帮助文档中找到想要的结果。不过到后来熟悉了unreal的“套路”,也总结了一些开发经验和心得,在这里分享给大家。
unreal版本是4.26,有些模块需要开启Sequencer Scripting和Editor Scripting Utilities插件。
maya到unreal概念转换熟悉unreal的朋友可以跳过,这里为了给maya初入unreal的开发者传达几个概念。
首先是Level(关卡),这里可以把一个Level看作是一个maya文件。打开一个Level,在右侧的World Outliner就是这个“maya”文件的大纲视图。里面的所有物体,都被称作为Actor。
Content Browser相当于整个项目的资产库,里面的物体类型被称作为Asset。
关于 ...
Article
未读什么是ASWF基金会ASWF全称为The Academy Software Foundation,于2018年8月由美国电影艺术与科学学院(AMPAS)成立。
其目的是为了提高对内容创作行业开源软件库的贡献(数量与质量),创造一个健康的开源社区。
关于AMPAS:是美国一个致力于促进电影艺术发展的非营利性专业组织,总部位于美国加州的比佛利山。
加入ASWF的开源项目有:
OpenVDB
OpenColorIO
OpenEXR
OpenCue
OpenTimelineIO
Open Shading Language(OSL)
MaterialX
Digital Production Example Library (DPEL)
RAW to ACES Utility
Rez
其中ADOPTED PROJECTS为已经成熟且被行业标准认可的项目。而INCUBATION PROJECTS如译名一样,处于孵化成长的阶段。下面对这些项目进行简单介绍。
OpenVDB一个C++库,包含一个分层数据结构和一些工具。用于有效地处理稀疏的、时间变化的、三维网格上离散的体积数据。(如云 ...
Learn
未读
minq是一个在maya场景中快速物体对象查询的库
仓库地址:https://github.com/theodox/minq
minq简单介绍这个项目是为了减少Maya中每次对物体查询时,用到命令比如ls(),listRelatives()和listHistory()的频次。意在直接了当的获取所需的物体对象。
举个例子,比如我们想找到场景中角色的IK手柄,你需要:
1234567iks = cmds.ls(type = 'ikHandle') or []for ik in iks: parents = cmds.listRelatives(ik, p=True) for p in parents: if p.split("|")[-1] == 1: return preturn None
对于一个简单的需求,这显然会产生很多的代码。而且不同的命令返回的结果格式不一样,比如ls()返回一个列表,你需要在后面加上[]。如果你想要返回完整的物体路径,使用ls()还需要添加long参数,使用listR ...
动画相关获取物体有多少个关键帧cmds.keyframe(name, q=True, keyframeCount=True)
获取物体第一个动画帧帧数cmds.findKeyframe(name, which='first')
获取物体最后一个动画帧帧数cmds.findKeyframe(name, which='last')
修复乱轴曲线cmds.filterCurve(name_list)
复制粘贴单个指定属性动画123# 这里是复制摄像机焦距动画cmds.copyKey(cam, at='fl')cmds.pasteKey(dup_cam, at='fl')
显示层设置显示层的颜色123cmds.setAttr(layerName+'.color', index)cmds.setAttr(dag+'.overrideEnabled', True)cmds.setAttr(dag+'.overrideColor', index)
列出跟物体连接的显 ...
收集一些常用的Maya环境变量,方便用的时候查。有关PATH的变量,Mac OS X中使用:分隔,Windows和Linux中使用;分隔。
Variable
Description
MAYA_IGNORE_DIALOGS
打开maya场景禁止弹出警告框
MAYA_DISABLE_CLIC_IPM
禁用Cloud登陆
MAYA_DISABLE_CIP
禁用CIP(客户参与计划)
MAYA_DISABLE_CER
禁用CER(客户错误报告)
MAYA_NO_CONSOLE_WINDOW
隐藏启动时的控制台窗口
MAYA_CMD_FILE_OUTPUT
在启动时启用cmdFileOutput命令,使脚本辑器中的内容自动输出到指定文件
MAYA_MODULE_PATH
定义maya模块的搜索路径(*.mod )
MAYA_PLUG_IN_PATH
定义maya插件搜索路径(*.py *.mll *.so *.bundle )
MAYA_SCRIPT_PATH
定义mel脚本搜索路径(*.mel )
MAYA_PRESET_PATH
定义预设路径 ...
Learn
未读节点动画操作1234567891011121314151617181920212223242526272829303132333435363738# 设置为可key帧状态node = nuke.toNode("Blur1")knob = node["size"]knob.setAnimated()# 给指定帧数key帧,第一个参数是数值,第二个参数是帧数knob.setValueAt(55, 10)# 比如size属性,有x和y两个值的时候,使用第三个参数来控制knob.setValueAt(77, 100, 0)knob.setValueAt(88, 100, 1)# 判断一个属性是否有关键帧print knob.isAnimated()# 获取key帧动画print knob.animations()# 只获取size属性中,h的动画print knob.animations(1)# 获取size属性中,h的每一个关键帧和对应的数值animation = knob.animation(1)for key in animation.keys() ...