X3D教程:撰写X3D的小诀窍
发布: 2007-9-22 11:39 | 作者: webmaster | 来源: 本站原创 | 查看: 1056次
撰写程序代码时:
· 使用最新版的X3D-Edit。查看最新版本编号。
· 使用正确的DOCTYPE
· X3D-Edit中所出现的error及warning都需要除错。
· 在硬盘中存一份X3D规范,时而温习之。
· 善用X3D Tooltips。 定义坐标系统时: · 使用公制单位(如公尺)。
· 坐标系统:+X轴为前进方向/北,+Y轴为垂直方向/上,+Z轴为东
· 创造出的几何对象遵循上述坐标系统的原则。
· 将空中飞、水中游的几何对象的中心点设为坐标系统中的原点。地上爬的几何对象碰触地面的中心点设为坐标系统中的原点。
这样可便于使用Transform节点转换局部坐标系统。
· 角度使用径度的单位。沿着旋转轴逆时针旋转计算之。
尊重著作权:
· 如果使用可以使用的作品,请注明来源与出处。
· 使用别人的作品(包括场景、图片、声音等),需经过作者的授权。
这同时意味着,请在您的作品上透过诸如meta或WorldInfo的方式注明作品的授权方式或您的连络方式。 日期方面: · 使用meta注明作品修改的日期。
· 为了一致性,使用以下格式:10 July 2004。
· 使用四个数字表示年,例如2004。 图片方面: · 使用合法授权的图片。
· 图片的文件名以下述的命名原则命名。
· 最好是PNG的档案格式。
· 图片分辨率至少为300dpi。档案大小尽可能控制在200-300 KB之内。 使用Inline及原型时: · 如果重复Inline相同的档案,使用DEF/USE的语法。
· 被Inline的档案应该不至于太简单,而且具重复使用的价值。不要滥用Inline。
· 正确设定ProtoDeclare中应设定的初始值,不要依赖ProtoBody中字段的默认值。
· 原型的字段要有批注。
· 如果原型的使用率很高,另外提供一个 NewNodeExample.x3d 的档案给使用者作为参考或重复使用。
· ExternProtoDeclare中不能有字段的初始值。
· ProtoInstance中给定所有字段的初始值,不要依赖ProtoDecalre中的默认值。
· 记得给定ProtoInstance的containerField字段以决定其与父节点间的关系。 meta: · 按照newScene.x3d的方式。
· description会被用来分类,因此第一个字符串中即包含完整简明的叙述。
· 不要用换行字符。
· 保留
。
命名原则:
· 如果由多个英文单字组成,每一个单字的前缀大写,例如CamelCaseNaming,不要缩写,力求简明完整。
· 如果是字段的命名,第一个单字的前缀小写,其余单字的前缀大写,例如startWithLowerCaseLetter。
· 确定大小写的一致性。
· 可以使用下底线"_"表示数学类的变量,其它尽可能不要使用(因为看起来像空格符)。
· 不要使用连接线"-"。
· 命名原则适用于.x3d档案、图片文件、原型等命名。用在DEF/USE也很棒。
· 扩展名小写,例如.png .jpg .txt。
· 为档案管理方便,同一个场景中所使用档案的档名的开头相同,
例如WaypointInterpolatorPrototype.x3d WaypointInterpolatorExample.x3d WaypointInterpolatorExample.png。
· 慎取目录及子目录的名称。
撰写Script时:
· 如果Script中含有SFNode/MFNode的字段,记得
· 程序代码中保留追查的机制,以便于将来除错,例如:
使用URL时:
· 包含相对地址及绝对地址。相对地址放前面,以便于无网络的情况或者移动档案至别的目录中。
· 特例:绝对地址放前面,如果想连结至最新版本的档案。
· 确定所有url都是正确的。例如将X3D档案转成HTML的格式来检查。
· 用诸如Xenu的工具检查url。
· 参考下例:
设定Viewpoint时:
· 预设的Viewpoint是由+Z轴看向-Z轴。
· 如果几何对象的坐标系统按照之前的建议设定,该几何应该面向右手方。
· description字段应该简单易懂。
· 对象应该放置在场景坐标系统的原点,以便于使用EXAMINE的模式导览。
· 使用正确的DOCTYPE
· X3D-Edit中所出现的error及warning都需要除错。
· 在硬盘中存一份X3D规范,时而温习之。
· 善用X3D Tooltips。 定义坐标系统时: · 使用公制单位(如公尺)。
· 坐标系统:+X轴为前进方向/北,+Y轴为垂直方向/上,+Z轴为东
· 创造出的几何对象遵循上述坐标系统的原则。
· 将空中飞、水中游的几何对象的中心点设为坐标系统中的原点。地上爬的几何对象碰触地面的中心点设为坐标系统中的原点。
这样可便于使用Transform节点转换局部坐标系统。
· 角度使用径度的单位。沿着旋转轴逆时针旋转计算之。
尊重著作权:
· 如果使用可以使用的作品,请注明来源与出处。
· 使用别人的作品(包括场景、图片、声音等),需经过作者的授权。
这同时意味着,请在您的作品上透过诸如meta或WorldInfo的方式注明作品的授权方式或您的连络方式。 日期方面: · 使用meta注明作品修改的日期。
· 为了一致性,使用以下格式:10 July 2004。
· 使用四个数字表示年,例如2004。 图片方面: · 使用合法授权的图片。
· 图片的文件名以下述的命名原则命名。
· 最好是PNG的档案格式。
· 图片分辨率至少为300dpi。档案大小尽可能控制在200-300 KB之内。 使用Inline及原型时: · 如果重复Inline相同的档案,使用DEF/USE的语法。
· 被Inline的档案应该不至于太简单,而且具重复使用的价值。不要滥用Inline。
· 正确设定ProtoDeclare中应设定的初始值,不要依赖ProtoBody中字段的默认值。
· 原型的字段要有批注。
· 如果原型的使用率很高,另外提供一个 NewNodeExample.x3d 的档案给使用者作为参考或重复使用。
· ExternProtoDeclare中不能有字段的初始值。
· ProtoInstance中给定所有字段的初始值,不要依赖ProtoDecalre中的默认值。
· 记得给定ProtoInstance的containerField字段以决定其与父节点间的关系。 meta: · 按照newScene.x3d的方式。
· description会被用来分类,因此第一个字符串中即包含完整简明的叙述。
· 不要用换行字符。
· 保留
| <meta name="filename"/>和<meta name="url"/> |
命名原则:
· 如果由多个英文单字组成,每一个单字的前缀大写,例如CamelCaseNaming,不要缩写,力求简明完整。
· 如果是字段的命名,第一个单字的前缀小写,其余单字的前缀大写,例如startWithLowerCaseLetter。
· 确定大小写的一致性。
· 可以使用下底线"_"表示数学类的变量,其它尽可能不要使用(因为看起来像空格符)。
· 不要使用连接线"-"。
· 命名原则适用于.x3d档案、图片文件、原型等命名。用在DEF/USE也很棒。
· 扩展名小写,例如.png .jpg .txt。
· 为档案管理方便,同一个场景中所使用档案的档名的开头相同,
例如WaypointInterpolatorPrototype.x3d WaypointInterpolatorExample.x3d WaypointInterpolatorExample.png。
· 慎取目录及子目录的名称。
撰写Script时:
· 如果Script中含有SFNode/MFNode的字段,记得
| <Script directOutput='true'> |
· 程序代码中保留追查的机制,以便于将来除错,例如:
| url=' "earth-topo.png" "earth-topo-small.gif" "/www.web3d.org/x3d/content/examples/earth-topo.png" "/www.web3d.org/x3d/content/examples/earth-topo-small.gif" "http://www.web3d.org/x3d/content/examples/earth-topo.png" "http://www.web3d.org/x3d/content/examples/earth-topo-small.gif" ' |
· 特例:绝对地址放前面,如果想连结至最新版本的档案。
· 确定所有url都是正确的。例如将X3D档案转成HTML的格式来检查。
· 用诸如Xenu的工具检查url。
· 参考下例:
url='
"earth-topo.png"
"earth-topo-small.gif"
"/www.web3d.org/x3d/content/examples/earth-topo.png"
"/www.web3d.org/x3d/content/examples/earth-topo-small.gif"
"http://www.web3d.org/x3d/content/examples/earth-topo.png"
"http://www.web3d.org/x3d/content/examples/earth-topo-small.gif" ' |
· 如果几何对象的坐标系统按照之前的建议设定,该几何应该面向右手方。
· description字段应该简单易懂。
· 对象应该放置在场景坐标系统的原点,以便于使用EXAMINE的模式导览。
