永发信息网
C语言中的obj
答案:1 悬赏:60 手机版
解决时间 2021-05-10 16:31
提问者
网友:ミ烙印ゝ
2021-05-10 01:22
1.c语言中的obj有什么作用?
2.为什么编译成exe格式时 会自动生成obj文件?
最佳答案
五星知识达人
网友:野味小生
2021-05-10 02:37
obj文件是目标文件,一般是程序编译后的二进制文件,在通过链接器和资源文件链接就成exe文件了。
OBJ只给出了程序的相对地址,而EXE是绝对地址。
OBJ文件不支持有孔的多边形面。
举个例子说明一下:
选择Maya的创建多边形工具(Polygons -> Create Polyon Tool),在视图中画一个四边形,不要按回车,按Ctrl在四边形中间点一下,可以继续在四边形中挖一个洞。把这个有孔的多边形存成OBJ格式,在导入Maya时,会发现多边形少了一块。如果你把这也看成错误,现在至少你已经知道错误的原因了,就是OBJ文件不支持有孔的多边形面。
OBJ文件 -- 实际问题:
现在来讨论一点比较实际的问题吧,就是一旦你遇到了一个出错的OBJ文件,倒底该怎么办?
当你打开OBJ文件后,往往会看到有几万行的代码,你恐怕还没本事情一眼看出错误所在行,除非程序的错误信息中已经告诉你错误行。如果你不知道错误在哪里,可以用排除法,弄清楚肯定正确的代码范围,通过缩减错误代码范围定位错误。例如,你先新建一个空的OBJ文件,把有错的OBJ文件代码粘贴一半过来,然后把这个只有一半代码的新OBJ文件导入Maya。如果这时没有错误信息,说明错误行是在另一半代码中,可以从另一半代码中再粘贴一部分代码试试看;如果这时出现错误,说明错误行就在粘贴的代码中,可以把粘贴过来的代码删去一部分再试试看。就这样,逐步缩减范围直到找到错误行为止。
这种方法虽然很麻烦,不过颇为有效。如果你不会编程,又遇到非常紧急的情况,这种方法还是值得一试的。
OBJ文件 -- 细节:
掌握了这么多差不多也够用了,不过由于网上详细讲解OBJ文件的中文文档很少,我还是再讲一些例子,给大家提供多一点的信息吧。
简单的OBJ格式写法。
# Simple Wavefront file
v 0.0 0.0 0.0
v 0.0 1.0 0.0
v 1.0 0.0 0.0
f 1 2 3
面可以使用负值索引,有时用负值索引描述面更为简便。
"f -4 -3 -2 -1"这句索引值"-3"表示从"f"这行往上数第3个顶点,就是"v -0.500000 0.000000 -0.800000",其它的索引值以此类推。 因此与这一行等效的正值索引写法为:"f 1 2 3 4"
v -0.500000 0.000000 0.400000
v -0.500000 0.000000 -0.800000
v -0.500000 1.000000 -0.800000
v -0.500000 1.000000 0.400000
f -4 -3 -2 -1
OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。
材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。
"usemtl"指定了材质之后,以后的面都是使用这一材质,直到遇到下一个"usemtl"来指定新的材质。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
暗黑破坏神1.11野蛮人怎么分配技能点
怎么下载手机QQ下进去了它总是会提示此版本来自不
如何清除360中的分类信息
求一个破解注册码的软件
青阳哪有裱十字绣的店??
工商网上银行问题
高二上册(人教版)英语MP3或3GP格式音频。
我的华硕F80Sseries为什么风扇那么响,都清理了一
怎么点亮图标问问?
哪个品牌眼药水效果好,无刺激??
盛大传奇3问题
佳能数码相机里有哪几款是比较适合拍夜景、雪景的
一般在哪可以安全买到七位数8无QQ号,而且价格便
怎么样让头发长多一点,是自然生长的,不要接头发的
做胃镜是什么感觉?
推荐资讯
17岁到底是什么样的?
怎样才能使自己富起来
索尼爱立信X10I的问题
非诚勿扰节目怎样?
N78C键
月经结束几天后也会容易怀孕啊(除排卵期之外)
怎样去掉qq表情
九江哪里有甜杏仁粉和薏仁粉卖?药店只要苦杏仁粉
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?