USD在CentOS7.0操作系统下的安装方法
最近Pixar的开源USD软件很火,官方在Introduce中明确讲到这个软件的设计开发目标是增强艺术家协作,减少不确定因素,最大化资产版本迭代效率,追求更大的承载能力。
当今行业中传统的线性的制作方式来已经很难满足日益复杂的流程需求了,采用Alemibc是一个好办法,但Alembic只能作为中间文件在Pipeline中传递,并没有提供有力的组装工具,要将多个abc资产组装起来,给予材质,打上灯光,还需要在maya或其他软件中进行。当整个场景非常庞大的时候,maya就会陷入性能的挣扎,在这里需要强调一下:Maya是一个典型的数字内容制作软件,为了提供丰富的操作方式,底层会有大量涉及到交互及传递的实例,在制作过程中这样的机制非常灵活优秀,但在组装过程中,这样的机制就显得冗余了,场景越大,Maya消耗的无关内存就会越多,这也是为什么Pixar要搞USD作为专门的组装的工具的原因。为了应对超大场景的组装,USD的python api是独立于界面的,你可以直接在python中创建场景添加或编辑资产,这个过程非常geek,跳过了显示场景这个最大的性能瓶颈,这也是USD灵活性的一个体现,显然Pixar放言要超越Alembic不是说着玩的。
关于USD怎样介入到Pipeline中,Pixar提供了两个视频:http://graphics.pixar.com/usd/downloads.html,视频中Pixar对各部门的制作顺序及分工做了大致的安排,USD在这样一个有向图中应该着眼于哪一个部分都有阐述,有兴趣可以看看。
官方Introduce中明确说到当前的USD版本在linux中是可以稳定运行的,但在windows、macos中还只能确保运行testsuit无碍,毕竟USD的数据类型及多线程原生基于linux。
基于以上USD的优点,我决定赶个时髦,build一个来研究一下。
废话不多说,步骤如下:
一:安装操作系统
我的操作系统是CentOS7.0的完整版,下载地址:http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1708.iso,你可以选择直接安装到硬盘中,也可以安装到虚拟机中。
如果对CentOS不熟悉,建议安装CentOS7的时候把所有能选的软件包全部选中,防止缺失依赖包。
注意USD的Build过程对虚拟内存大小要求较高,如果虚拟内存不够大,编译是无法继续的。
建议你在terminal中输入free -m查看虚拟内存大小,建议不低于10G,这样不会出错;如果虚拟内存不足,你需要执行以下四行bash命令,其中第一行命令中的count是追加的虚拟内存数,4096000就是追加4G的意思。
dd if=/dev/zero of=/swap bs=1k count=
mkswap swap
swapon /swap
echo “/swap swap swap defaults ” >> /etc/fstab
最后你再次输入free -m查看,确认虚拟内存大小足够。
二:下载USD
下载USD放到硬盘中任意位置,路径中不要有中文,这是常识。下载地址:https://github.com/PixarAnimationStudios/USD
注意:如果你的CentOS7是安装到虚拟机中的,你下载的文件需要从/mnt/hgfs/.中拷贝出来,放到Download中就行,在/mnt/hgfs/中尝试安装会收到权限不足的错误提示。
二:下载Maya2016
下载Maya2016放到硬盘中任意位置,路径中不要有中文,这是常识。下载地址:http://download.autodesk.com/us/support/files/maya_2016_service_pack_6/Autodesk_Maya_2016_SP6_EN_Linux_64bit.tgz
这个Maya安装包中是没有devkit的,安装完毕Maya之后你还需要单独下载Maya的devkit,下载地址:https://github.com/autodesk-adn/Maya-devkit
解压devkit,把linux文件夹中的devkit、include、mkspecs拷贝到Maya安装文件夹中,一般是/usr/autodesk/maya2016。
如果没有安装devkit,你是无法编译安装usdmaya的,这是一个usd提供给maya的插件,如果需要maya与usd进行交互,那么这一步是必须的。
三:安装PySide
在开始菜单栏的Applications->System Tools->Settings中确认当前系统是否联网,如果没有联网,yum install xxx会无法进行。
CentOS提供了yum包管理方式,如果缺少某一个依赖包,你可以通过yum install xxx的方式联网安装,非常方便,这也是我选择在linux中build USD的一个原因。
PySide比较特殊,属于python的库,需要通过pip安装,原生的CentOS需要自行安装pip。安装方法如下:
在terminal中执行以下语句:
sudo yum install pip
输入用户密码,即可安装pip。
然后在terminal中执行以下语句:
pip install PySide
即可安装PySide。
目前最新版本的MacOS是无法安装PySide1.2.6的,所以MacOS可以放弃了,如果你没升级,恭喜你。
四:安装其他依赖项
具体命令如下:
sudo yum install cmake
sudo yum install boost
sudo yum install tbb
sudo yum install alembic
sudo yum install OpenEXR
当然你也可以把五句安装命令写成一行:
sudo yum install cmake boost tbb alembic OpenEXR
执行完毕即可分别安装cmake、boost、tbb、alembic、OpenEXR
五:Buid USD
当以上所有依赖项软件包都安装成功后,你就可以正式安装USD了。
进入USD的build_scripts文件夹中,打开terminal,运行以下命令
python build_usd.py --test --docs --ptex --alembic --hdf5 --maya --maya-location=/usr/autodesk/maya2016 /usr/local/USD
这句命令会将USD编译安装到/usr/local/USD中,于此同时还会安装test、docs、ptex、alembic、usdmaya等组件,接下来你就需要安静的等待了,整个个过程非常漫长,大概一个钟头左右,视机器配置而定。
之后你就可以愉快的运行test中的测试样例来开启USD的新篇章了。
USD在Windows中的安装方式,与linux大同小异,具体可以参考这篇文章:https://qiita.com/takahito-tejima/items/f820e16869ca4343a600
国庆期间比较闲,我会再翻译一些USD的document出来,学习并分享。
以上。
USD在CentOS7.0操作系统下的安装方法的更多相关文章
- Linux系统centOS7在虚拟机下的安装及XShell软件的配置
前面的话 本文将详细介绍Linux系统centOS7在虚拟机下的安装 准备工作 [系统下载] 在安装centOS7之前,首先在官网下载合适的版本 然后,选择一个链接下载即可 [虚拟机配置] 接下来,需 ...
- centos7.6环境下编译安装tengine-2.2.2的编译安装
centos7.6环境下编译安装tengine-2.2.2的编译安装 .获取tengine2..2的源码包 http://tengine.taobao.org/download/tengine-2.2 ...
- Linux下软件安装方法即路径设置
Linux下软件安装方法即路径设置 http://www.cnblogs.com/edward259/archive/2010/07/02/1770066.html
- (转载)EhLib 在 Delphi 7 下的安装方法
EhLib 在 Delphi 7 下的安装方法 1.将 EhLib 解压到一个目录,如:E:\VCL\EhLib: 2.将 EhLib 安装目录下 Common 目录.DataService 目录下的 ...
- [学习分享] 在Windows操作系统下如何安装RMySQL包
最近在做股票的高频交易数据分析,需要用到数据库,而我只对MySQL比较熟悉,于是就安装了MySQL.当我安装好了MySQL后,正兴冲冲地准备安装RMySQL包时,问题来了:RMySQL包不支持wind ...
- Linux 操作系统下,安装软件 apt-get、yum 的区别
Linux 操作系统主要分为两大类: RedHat系列:Redhat.Centos.Fedora等: Debian系列:Debian.Ubuntu等. yum(Yellow dog Updater, ...
- OpenEXR-2.2.0在Win7 x64系统下的安装方法
最近在研究openexr这种文件格式,免不得安装一下OpenEXR软件,这个软件是开源的,需要编译安装,我的安装方法是这样的,分享一下. 一:去官网http://www.openexr.com/dow ...
- linux(centos7.0以上版本)安装 mysql-5.7.24-linux-glibc2.12-x86_64.tar 版本的mysql
1:查看 linux下是否有老版本的mysql(有删除) 查找old mysql:rpm -qa | grep mysql 卸载:卸载命令:rpm –ev {包名}——:rpm -ev mysql ...
- elasticsearch-5.2在windows下的安装方法
elasticsearch-5.2.1安装方法 1. 安装java 下载安装java jdk 1.7 以上 配置java环境变量 右击[我的电脑]---[属性]-----[高级系统设置]---[环境变 ...
随机推荐
- 北大poj- 1008
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 80956 Accepted: 24892 D ...
- Java学习NO.3
今日学习重点: while循环: 语法:while(条件表达式){ 循环操作 } 条件表达式符合,循环继续执行:否则,退出循环. 循环四要素:循环初始化.循环条件.循环操作.循环变量的改变 do-wh ...
- C++入门程序作业1
将一个int A[]={ , , ,}定义的可能重复的数字去掉重复的元素. 了解向量,容器如何使用,size,地址的关系,理解unique erase函数的返回值是什么参数 结果:将1,1,1,2 ...
- 结对编程总结(胡超慧&&王宇)
在分析完需求的几秒中内,我和搭档就蒙了,因为之前并没有做过UI,因此这次的项目对于我们来说无疑是一个陌生的挑战. 为了最大程度实现曾经代码的复用,我们最开始考虑使用可以支持C++的QT来进行相关的设计 ...
- Mybatis 中获取添加的自增主键ID(针对mysql)
分享一篇博客,主要就是针对在我们使用SSM的时候,在.xml中获取<insert></insert> 时的自增主键Id,由于好久没有,这个时候使用,有点生疏,就在这里写个笔记, ...
- 两款不错的Linux密码生成工具
先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...
- java变量的自动提升与强制转换
所有的byte型.short型和char的值将被提升到int型 一个字节可以提升为4个字节 4个字节不可以降为一个字节 强制转换4个字节转换为一个字节 [丢失精度] byte b = 3; b = ( ...
- ELK简单安装测试
1 介绍组件 Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读). Kafka是一种高吞 ...
- Altium Designer 10 快捷键笔记
一.放置.走线类: 1.交互式走线(Track):P T 2.铺铜(Fill):P F 3.大面积铺铜(Polygon):P G 4.自动扇出:元件封装上右键,C F 二.编辑类 1.调整铺铜(Pol ...
- HTTP Post multipart/form-data支持
最近需要向平台发送录像文件,但是Skynet没有multipart/form-data的Post请求支持,写篇blog记录一下 skynet有自带简单的httpc,里面有post方法.但是这个post ...