犀牛导出obj参数设置

犀牛导出obj参数设置,第1张

DX以及OBJ。犀牛导出obj参数设置为DX以及OBJ。

1,DXF格式:优点,可以分层。C4D识别DXF格式中的图层,同时以每层为一个材质自动赋给物体。缺点,容易出现坡面,甚至局部的细节会有裂缝。

2,OBJ格式:优点,导出的面比较光滑,几乎不会出现破面。导出时,在OBJ导出选项中,选择“以多边形网格”模式导出即可。缺点就是无法分层,也无法将rhino中的色彩信息导入到C4D中。

OBJ文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的注释作为文件的开头。OBJ文件由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键字(Keyword)开头,关键字可以说明这一行是什么样的数据。多行可以逻辑地连接在一起表示一行,方法是在每一行最后添加一个连接符(\)。注意连接符(\)后面不能出现空格或Tab格,否则将导致文件出错。

下列关键字可以在OBJ文件使用。在这个列表中, 关键字根据数据类型排列,每个关键字有一段简短描述。

顶点数据(Vertex data):

v 几何体顶点(Geometric vertices)

vt 贴图坐标点(Texture vertices)

vn 顶点法线(Vertex normals)

vp 参数空格顶点 (Parameter space vertices)

自由形态曲线(Free-form curve)/表面属性(surface attributes):

deg 度(Degree)

bmat 基础矩阵(Basis matrix)

step 步尺寸(Step size)

cstype 曲线或表面类型 (Curve or surface type)

元素(Elements):

p 点(Point)

l 线(Line)

f 面(Face)

curv 曲线(Curve)

curv2 2D曲线(2D curve)

surf 表面(Surface)

自由形态曲线(Free-form curve)/表面主体陈述(surface body statements):

parm 参数值(Parameter values )

trim 外部修剪循环(Outer trimming loop)

hole 内部整修循环(Inner trimming loop)

scrv 特殊曲线(Special curve)

sp 特殊的点(Special point)

end 结束陈述(End statement)

自由形态表面之间的连接(Connectivity between free-form surfaces):

con 连接 (Connect)

成组(Grouping):

g 组名称(Group name)

s 光滑组(Smoothing group)

mg 合并组(Merging group)

o 对象名称(Object name)

显示(Display)/渲染属性(render attributes):

bevel 导角插值(Bevel interpolation)

c_interp 颜色插值(Color interpolation)

d_interp 溶解插值(Dissolve interpolation)

lod 细节层次(Level of detail)

usemtl 材质名称(Material name)

mtllib 材质库(Material library)

shadow_obj 投射阴影(Shadow casting)

trace_obj 光线跟踪(Ray tracing)

ctech 曲线近似技术(Curve approximation technique)

stech 表面近似技术 (Surface approximation technique)

OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是mtl的独立文件中。关键字mtllib即材质库的意思。

材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。

usemtl指定了材质之后,以后的面都是使用这一材质,直到遇到下一个usemtl来指定新的材质。

我给你来一段吧 自己写的 给分啊

先写一个从字符串生成任何类型的对象的函数

public object stringToObject(string str,Type objectType)//传递两个参数,一个是字符串含有每个属性的属性名和值对,属性和值用冒号分隔,属性与属性用逗号分隔,另一个参数是要创建的对象的类型{string[] shuxing = strSplit(new char[] { ',' });//将字符串分解成 “属性:值”数组

for (int i = 0; i < shuxingLength; i++){shuxing[i]= shuxing[i]Replace(\, );

}//去掉字符串的双引号

object obj = SystemActivatorCreateInstance(objectType); //使用反射动态创建对象

PropertyInfo[] pis =obj GetType()GetProperties(BindingFlagsPublic|BindingFlagsInstance);//获得对象的所有public属性

if (pis != null)//如果获得了属性

foreach (PropertyInfo pi in pis)//针对每一个属性进行循环{for (int i = 0; i <shuxingLength; i++)//检查字符串中的所有“属性:值”列表{if (shuxing[i]Split(new char[] { ':' })[0] == piName)//如果对象的属性名称恰好和字符串中的属性名相同{Type proertyType= piPropertyType; //获得对象属性的类型

piSetValue(obj, ConvertChangeType(shuxing[i]Split(new char[] { ':' })[1],proertyType), null);

//将字符串中的字符串类型的“值”转换为对象属性的类型,并赋值给对象属性}}}return obj;}然后调用这个函数

定义一个学生类class stu{string _name;int _age;public string name

{get{return _name;}

set {_name=value;}}public int age{get { return _age; }

set { _age = value; }}}pageload里面可以使用下面方法创建stu对象了

由于使用了反射技术需要导入名字空间 using SystemReflection;

using using SystemReflection;

。。。。。。。

以上就是关于犀牛导出obj参数设置全部的内容,包括:犀牛导出obj参数设置、obj文件的OBJ文件的基本结构、如何获取一个对象的所有属性(c#)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9708347.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存