【问题标题】:How do you create images programmatically, for use with 2D sprites in Unity?您如何以编程方式创建图像,以便在 Unity 中与 2D 精灵一起使用?
【发布时间】:2020-08-10 12:31:58
【问题描述】:

我希望能够在 Unity 中以编程方式创建玩家精灵。为此,我有两个特定的用例:

  1. 我想使用“积木”来创建角色,即单独的头部、身体和腿,但我不想通过合成每个镜头来给处理器带来压力,所以我想生成一个程序化的“精灵表”,即缓存在内存中。这允许创建一个简单的定制系统,包括服装、发型等。

  2. 我希望某些颜色(即皮肤、衣服等)可供用户选择。

现在,我认为我不需要一个精确的解决方案,因为我可以自己解决它们。我只需要一个体面的参考资料,说明如何以编程方式从资源中读取和写入像素颜色值、创建图像以及将生成的图像转换为 2D 精灵。

有人能指出我正确的方向吗?每次我用谷歌搜索它时,我都会得到关于如何在两个预先绘制的精灵之间交换的初学者指南。

【问题讨论】:

    标签: image unity3d bitmap drawing sprite


    【解决方案1】:

    要以编程方式创建图像,您可以创建一个新的 Texture2D 实例,然后反复调用 Texture2D.SetPixel,或者使用 SetPixels、SetPixels32 或 SetPixelData,这样您就不必调用 SetPixel 数千次了。

    如果您想将它与 SpriteRenderer 一起使用,您需要将 Sprite.Create 与您的自定义纹理一起使用,然后将 SpriteRenderer.sprite 设置为它。

    您可以乘以颜色:myPixelColor * Color.red 会将蓝色和绿色通道乘以 0,将红色通道乘以 1,从而产生介于黑色和红色之间的像素。

    也就是说,将角色的所有部分绘制为单独的精灵对象可能并不像您想象的那么昂贵,并且SpriteRenderer 带有颜色过滤属性。我不知道你的具体情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 1970-01-01
      相关资源
      最近更新 更多