开源虚拟机工具_使用开源工具与虚拟乐高玩

开源虚拟机工具

我的童年包括大约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
one blue brick

您刚刚创建了一个简单的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(绿色)。

one blue and one green brick

当然,您可以沿任意轴移动积木。 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
blue and green bricks linked

砖块顺序

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中的说明。

Steps menu in terminal

您不必为每块积木迈出新的一步。 与官方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
POVray blue and green brick render

对于专用于指令布局的渲染器,请尝试使用开源LPub3D项目,该项目将显示说明,并为每个步骤提供一个砖块列表。

LPub 3d blue and green brick render

探索乐高积木

与乐高积木一起玩很有趣,并且自己制作模型是激发灵感的重要组成部分。 不过,您自己的模型设计不必再短暂了。 您可以通过创建自己的说明手册来保存它们。

此外,通过使用数字乐高积木,您可以使用任何可用零件来创建虚拟乐高模型和场景,无论您是否拥有该零件。 您可以使用数字乐高积木制作自己的动画,制作复杂的照片,甚至设计自己的积木。 有几个在线社区,其中许多社区,例如BrickHub.org ,都发布了带有LDraw文件的精美渲染图。

无论您是想以数字方式建立模型,设计自己的积木还是做完全独特的事情,数字乐高场景都是一个有趣而富有创意的去处。 立即开始!

翻译自: https://opensource.com/article/20/6/open-source-virtual-lego

开源虚拟机工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值