开源虚拟机工具
我的童年包括大约20%的龙与地下城(D&D)和80%的乐高积木,两者之间有相当强的交叉。 出于各种原因,我实际上没有被允许玩D&D,但是通过一些值得达到15级流氓水平的精神杂技,我确定构建AD&D角色不算是游戏对象,并且以LEGO形式重新创建Dragonlance相当不错游戏的近似值。
因此,我最喜欢的一种乐高玩具是城堡,我花了几个小时为我的迷你小雕像设计像铁手套一样的地牢。 为了跟踪自己的作品,并且因为我在学校里看到朋友们在绘制地牢,我将自己的乐高作品绘制在方格纸上。 我还尝试跟踪我的作品的构造方式,对于大多数主要基于矩形积木的媒体,使用方格纸似乎是一种合理的选择,但是对等轴测图的了解不足最终使我感到困惑。
现在我已经长大了,我对乐高积木的热爱并没有减少,尽管我对自己的任何作品(或互联网砖构建者的术语“ MOC”)都不感到骄傲,但最近我感到自己应该欠自己学习如何记录我的构建。 由于我的徒手画插图技巧从来都不是很好,所以我决定使用技术来解决问题。
乐高CAD
计算机辅助设计(CAD)是不同的。 CAD软件取代了旧式的制图,在制图中创建规范以演示如何在现实世界中构建一次或100次。 期望精确和真实。
由于乐高迷们众多,因此有很多建筑商使用CAD创建乐高模型。 优势显而易见-您可以记录所需的零件以及建立模型所必须采取的步骤。 除非您对CAD的喜爱程度超过对LEGO的喜爱,否则这不是真正的Lego积木的替代品,但这是对您的爱好的极大补充。
要构建虚拟LEGO模型,您需要两个组件:
- 虚拟乐高积木
- CAD应用程序
有几种方法可以满足每个要求,但是我发现我更喜欢开源的模块化方法。
虚拟乐高积木
您几乎可以从开源LDraw项目中获得所有乐高积木。 LDraw是LEGO CAD的开放标准 ,其中包括一致的尺寸和相对尺寸,以及有关如何定向砖的简单语言。 作为LDraw定义砖块工作的一部分,社区还提供了每种砖块的3D模型。 这意味着您可以以较小的下载量(42 MB左右) 下载数千个砖块定义 。
安装砖块
虚拟积木很像网站上的图像或计算机上的字体-只要使用这些文件的应用程序知道在哪里可以找到它们,您就可以将它们保存在任何地方。 在Linux上,通常将砖块放在/usr/share/LDRAW
。 在Windows上,它们通常安装在C:\Users\Public\Documents\LDraw
。
LDraw下载仅提供每种砖的规格。 这是原始形式的1x1砖的外观:
0 ~Brick 1 x 1 without Front Face
0 Name: s\3005s01.dat
0 Author: John Riley [jriley]
0 !LDRAW_ORG Subpart UPDATE 2004-01
0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt
0 BFC CERTIFY CCW
0 BFC INVERTNEXT
1 16 0 24 0 0 0 6 0 -20 0 -6 0 0 box5.dat
4 16 10 24 -10 6 24 -6 6 24 6 10 24 10
4 16 10 24 10 6 24 6 -6 24 6 -10 24 10
4 16 -10 24 10 -6 24 6 -6 24 -6 -10 24 -10
4 16 -10 24 -10 -6 24 -6 6 24 -6 10 24 -10
1 16 0 24 0 10 0 0 0 -24 0 0 0 10 box4t.dat
1 16 0 0 0 0 0 1 0 1 0 -1 0 0 stud.dat
0
为了以更熟悉的形式查看您的作品,您需要一个砖块查看器。
乐高LDView渲染
应用程序LDView是3D渲染器,非常类似于POVray或Blender's Cycles。 它是专门为渲染.ldr
文件而设计的,这些文件是使用LDraw零件定义的CAD文件。
如果您使用的是Linux,则LDview可能在软件存储库中;如果没有,则可以从项目网站下载安装程序。 如果您使用的是Mac或Windows,请从项目网站下载安装程序。
查看单个积木
乐高CAD入门最简单的方法是尝试查看单个积木。
首先,打开您喜欢的文本编辑器。 它可以是任何文本编辑器,但必须能够以纯文本格式保存。 某些文本编辑器对自己有用,太有用了,请尝试将文本保存为肿的文件格式(例如.rtf或.docx)。 有很多很好的跨平台文本编辑器。 为此,我建议使用相对简约的Geany编辑器。
创建一个名为1brick.ldr
的新文件,并在其中输入以下文本:
0 Name: 1brick.ldr
0 Author: Seth Kenlon
0 clr x y z a b c d e f g h i <file>
1 1 0 0 0 0 0 1 0 1 0 -1 0 0 3001.dat
查看您不起眼的作品:
$ LDView 1brick.ldr
您刚刚创建了一个简单的CAD文件,该文件定义了一块砖(零件号3001),颜色索引为1(蓝色),位于X轴的坐标0,Y轴的坐标为0,Z轴的坐标为0。 。 积木的旋转是由矩阵变换控制的,诚然这并不是简单的数学运算。 但是,对于乐高积木来说,任意旋转比较少见,因为大多数砖块必须按照螺柱网格排列在一起。
任何以0开头的行均表示注释或元数据。 以1开头的线表示添加了积木。
您可以通过添加到CAD文件中来练习在空间中重新定位和旋转砖块。 普通砖的高度为24 LDraw Unit(LDU)。 因此,可以通过将砖的Y轴位置调整24个单位来“堆叠”砖。 您可以通过执行矩阵变换来旋转积木。
试试这个:
0 Name: 1brick.ldr
0 Author: Seth Kenlon
0 clr x y z a b c d e f g h i file
1 1 0 0 0 0 0 1 0 1 0 -1 0 0 3001.dat
1 2 0 24 0 -1 0 0 0 1 0 0 0 -1 3001.dat
在LDView中对其进行查看,然后尝试在窗口中单击并拖动以从不同角度查看它。 注意,我将第二块砖的颜色从1(蓝色)更改为2(绿色)。
当然,您可以沿任意轴移动积木。 LDraw规范指出1x1砖的宽度为20 LDU,长度为20 LDU,因此您可以通过将X增加2来调整2砖设计。
0 Name: 1brick.ldr
0 Author: Seth Kenlon
0 clr x y z a b c d e f g h i file
1 1 0 0 0 0 0 1 0 1 0 -1 0 0 3001.dat
1 2 0 24 0 -1 0 0 0 1 0 0 0 -1 3001.dat
砖块顺序
LDraw最常见的用途是演示如何构建模型。 这意味着一系列步骤,LDraw用STEP
表示。
要在您的说明中引入步骤,请添加以下行:
0 STEP
在简单的2砖示例文件中,您可以在两个积木之间添加一个步骤:
0 Name: 1brick.ldr
0 Author: Seth Kenlon
0 clr x y z a b c d e f g h i file
1 1 0 0 0 0 0 1 0 1 0 -1 0 0 3001.dat
0 STEP
1 2 0 24 0 -1 0 0 0 1 0 0 0 -1 3001.dat
现在,您的设计包含两个步骤。 第一个显示一个积木,第二个显示另一个积木。 您可以通过单击顶部工具栏中“步骤”标签旁边的箭头来逐步浏览LDView中的说明。
您不必为每块积木迈出新的一步。 与官方LEGO套装的说明一样,您可以将多个其他积木分组为一个步骤,只要它们的放置足够明显即可。
LDraw中还有其他命令类型,例如能够画线以阐明砖的位置等等。 这些都记录在规范中。
查找零件编号
我曾经将我的乐高积木收藏在钓具盒中,这样我就可以快速从任何套装中找到任何一件。 但是,随着收藏的增加,对容器的需求也随之增加,而我找到砖头的效率却下降了。
拥有超过11,000个独特零件,寻找数字乐高积木同样麻烦。 每个官方的乐高积木都有一个零件编号。 例如,示例CAD文件中使用的2x4块为3001。如果您知道零件编号,则可以在CAD文件中使用它,然后将出现块。
该LDraw分布包括parts.lst
文件,您可以用grep在搜索特定的砖通过。 但是,语法并不总是一致的,关键字(是“弯曲的”还是“倾斜的”或“成角度的?”是砖头)有时很难预测。
但是,有一些在线资源可能会有用:
- Lugnet是一个在线LEGO用户组,具有从LDraw构建的零件参考数据库。
- BrickLink是有用的砖块目录。
- Rebrickable还提供在线砖块目录。
其他渲染器
创建完杰作后,LDView可以导出模型,以便获得高质量的渲染图。 POVray是一种流行的开源照片级真实感渲染器,因此您可以获得非常漂亮的作品图像。 您可以在Linux发行版的存储库中找到POVray,或从POVray网站下载。
$ povray +I1brick.pov +Q11 +W4196 +H2160 +O1brick-high.png
对于专用于指令布局的渲染器,请尝试使用开源LPub3D项目,该项目将显示说明,并为每个步骤提供一个砖块列表。
探索乐高积木
与乐高积木一起玩很有趣,并且自己制作模型是激发灵感的重要组成部分。 不过,您自己的模型设计不必再短暂了。 您可以通过创建自己的说明手册来保存它们。
此外,通过使用数字乐高积木,您可以使用任何可用零件来创建虚拟乐高模型和场景,无论您是否拥有该零件。 您可以使用数字乐高积木制作自己的动画,制作复杂的照片,甚至设计自己的积木。 有几个在线社区,其中许多社区,例如BrickHub.org ,都发布了带有LDraw文件的精美渲染图。
无论您是想以数字方式建立模型,设计自己的积木还是做完全独特的事情,数字乐高场景都是一个有趣而富有创意的去处。 立即开始!
翻译自: https://opensource.com/article/20/6/open-source-virtual-lego
开源虚拟机工具