Blender软件导出的obj数据格式文件内容解读
【cube.obj】
# Blender v2.78 (sub 0) OBJ File: ''
# www.blender.org
mtllib cube.mtl #这里是引用了一个外部材质文件cube.mtl
o Cube #指定了模型名称
v 1.000000 -1.000000 -1.000000 #开始按照如下格式定义顶点坐标,v x y z [w], 共计定义了立方体的八个顶点坐标
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -0.999999
v 0.999999 1.000000 1.000001
v -1.000000 1.000000 1.000000
v -1.000000 1.000000 -1.000000
vn -0.0000 -0.0000 1.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn -1.0000 -0.0000 -0.0000
vn 0.0000 1.0000 0.0000
vn 1.0000 0.0000 0.0000
usemtl 材质.001 #指定使用外部材质文件中某一个材质, 格式为usemtl 材质名称
s off
f 2//1 6//1 7//1 3//1 #开始定义材质1的表面 f v1//vn1 v2//vn2 v3//vn3 v4//vn4, 这里是我之前定义的顶点索引值
f 5//2 1//2 4//2 8//2 #其中vn1, vn2, vn3, vn4是法线向量的索引值, 这个顶点索引和法线向量的索引值都是从1开始的哈
usemtl 材质.002 #定义了材质2的属性信息
f 1//3 2//3 3//3 4//3
usemtl 材质.003
f 3//4 7//4 8//4 4//4
usemtl 材质.005
f 5//5 8//5 7//5 6//5
usemtl 材质.006
f 1//6 5//6 6//6 2//6
【cube.mtl】
# Blender MTL File: 'None'
# Material Count: 5
newmtl 材质.001 #使用newmtl定义了一个新的材质,可以被cube.obj文件来引用我这里定义的材质纹理信息
Ns 96.078431 #使用Ns 来指定高光色的权重
Ka 1.000000 1.000000 1.000000 #|
Kd 0.007611 0.000000 0.640000 #|=====>>>ka,kd,ks分别定义了表面的环境色,漫射色和高光色,使用RGB格式, 每一个分量的值都是介于[0.0, 1.0]这个区间的
Ks 0.500000 0.500000 0.500000 #|
Ke 0.000000 0.000000 0.000000
Ni 1.000000 #Ni指定了表面光学密度
d 1.000000 #d 指定了透明度
illum 2 #illum 指定了光照模型
newmtl 材质.002 #开始定义第二种材质的属性信息
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.053248 0.037551
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl 材质.003
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.000000 0.040583
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl 材质.005
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.000000 0.376896
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
newmtl 材质.006
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.004758 0.640000 0.424802
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
Blender软件导出的obj数据格式文件内容解读的更多相关文章
- 管理员技术(三): 配置静态网络地址、 使用yum软件源 、 升级Linux内核、查找并处理文件、查找并提取文件内容
一. 配置静态网络地址 目标: 本例要求为虚拟机 server 配置以下静态地址参数: 1> 主机名:server0.example.com 2> IP地址:172.25.0.11 ...
- JXL包大解析;Java程序生成excel文件和解析excel文件内容
最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...
- Java 操作jar包工具类以及如何快速修改Jar包里的文件内容
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...
- Java如何快速修改Jar包里的文件内容
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...
- 原生PHP网页导出和导入excel文件实例
原生PHP实现的网页导出和导入excel文件实例,包括上传也是用的原生.还可在exportExcel方法里设置字体等表格样式. 导出和导入表单代码: <p style="margin: ...
- pdf文件内容查看器 -- 采用wpf开发
前言 pdf是一种应用非常广的版式文档格式,已成为事实上的国际标准.关于pdf格式的文章汗牛充栋,本文也是关于pdf格式的文章,但是本文不是纸上谈兵:本人这几周一直研究pdf格式内容,不但对pfd格式 ...
- java swing文件内容检索工具
Java相关技术 - 文件内容检索工具 拿到一个几百M甚至上G的project让你去学习 有时候你会想知道某个关键词是在哪个文件里 比如:spring MVC配置的@RequestMapping,你从 ...
- FileSeek文件内容搜索工具下载
Windows 内建的搜索功能十分简单,往往不能满足用户的需要.很多的第三方搜索工具因此诞生,比如 Everything,Locate32等. 而FileSeek也是一款不错的搜索工具,其不同于其他搜 ...
- linux 里 /etc/passwd 、/etc/shadow和/etc/group 文件内容解释
•/etc/passwd文件用于存放用户账户信息,每行代表一个账户,每个账户的各项信息用冒号分割,例如: root:x:::root:/root:/bin/bash username:password ...
随机推荐
- uva 11624
#include<stdio.h> #include<string.h> #include<queue> using namespace std; #define ...
- 1013MySQL监控利器-Innotop
转自 http://www.cnblogs.com/ivictor/p/5101506.html 安装过程中 可以使用 YUM INSTALL INNOTOP进行直接安装 Innotop是一款十分强大 ...
- Android 安装应用后点击打开带来的问题
今天安装完APP的时候.界面会显示两个button,一个完毕键,一个打开键,点击Open键之后,外部打开应用.此时,我们点击HOME键.程序将会在后台. 然后再点击该桌面上应用程序的图标,app会自己 ...
- 编写MyLayer,2 锚点,3 精灵的创建,4 zorder
1 编写MyLayer 头文件:MyLayer.h #include "cocos2d.h" USING_NS_CC; //代表的是: using namespace c ...
- Linux中修改系统时间
#date //显示当前日期 #date -s //设置当前时间,只有root权限才能设置,其他只能查看. #date -s 20061010 //设置成20061010,这样会把具体时间设置成空00 ...
- luogu1969 积木大赛
题目大意 搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木).接下来每次操作,可以选择一段连 ...
- fragment.setMenuVisibility setUserVisibleHint
[Android]Fragment真正意义上的onResume和onPause 前言 Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与A ...
- PowerShell攻防进阶篇:nishang工具用法详解
PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...
- P1025小飞侠的游园方案
描述 经过抽签选择,小智将军第一个进入考场. 菜虫:(身上散射出华贵(?)的光芒)欢迎你,第一位挑战者!! 小智:……(走到菜虫身后,关灯)女王陛下,虽然我们国家现在很富裕,但也请您不要浪费电来用这么 ...
- HDU 1257(最小拦截系统)
Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不 能超过前一发的高度.某天,雷达 ...