SVG 导入器不导入相同大小的 SVG

SVG importer does not import SVG at the same size

我正在使用来自 unity3d 的 SVG 导入器: https://docs.unity3d.com/Packages/com.unity.vectorgraphics@2.0/manual/index.html

我有一个 svg 样本,我用作一艘船:

我还在 inkscape 中创建了一个示例炮塔:

正如您在 layer 1 上看到的那样,我复制了部分示例船作为参考,并创建了炮塔示例精灵。然后我导入生成的 SVG(当然 layer 1 不可见),结果如下:

我把炮塔样品放在了船的旁边作为参考,你可以看到炮塔非常小。我不明白其中的区别 - 因为进口商有相同的设置,我认为他们会出来相同的大小。

作为参考,这里是生成的 svg 的顶部部分(我认为发布所有数据太多了):

sample_ship.svg

   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="941.16632"
   height="748.34143"
   id="svg2"
   version="1.1"
   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
   inkscape:export-filename="/Users/administrator/Documents/Documents/Mark/Spaceshipblue2.png"
   inkscape:export-xdpi="72"
   inkscape:export-ydpi="72"
   sodipodi:docname="sample_spaceShip.svg">

sample_turret.svg

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="210mm"
   height="297mm"
   viewBox="0 0 210 297"
   version="1.1"
   id="svg1032"
   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
   sodipodi:docname="sample_turret.svg">

另外让我知道 svg 标签是否合适。

您的 SVG 尚未使用相同的设置导出。

  • 您的飞船文件以像素为单位指定了 widthheight,并且没有 viewBox
  • 您的转塔文件以毫米为单位指定了 widthheight,并且还有 viewBox.

“我将飞船的一部分复制到一个新文件”这一步可能出错了。

  1. 尝试将炮塔添加到您的飞船文件中。但是给它自己的层。
  2. 在导出飞船文件之前隐藏炮塔层。
  3. 然后在导出炮塔文件之前隐藏飞船层。

然后您应该有兼容的 SVG 文件。