apunka
2019-03-01 03:06
采纳率: 62.5%
浏览 1.3k

unity资源加载后应该如何互相转换类型(1.如何在unity内获取外部图片文件宽高信息)

求大佬帮忙解答,最近碰到这样一个问题

assetbundle 加载资源包的时候 有需要额外处理的美术资源 (jpg/png)

咱也知道使用WWW-assetbundle加载的时候需要指定是Texture2D类型的才能正确做转换 ,使用指定类型的 assetbundle.loadasset () ,能正确加载
使用未指定类型的 assetbundle.loadasset 也能加载 能取到Object,但是无法直接强转为Texture2D;

目前最大的疑惑是

1.有没有办法在当前版本下(2018.3.4f1)使用 system.drawing类,以前直接把安装目录下 mono 2.0下的 System.Drawing.DLL 直接拖到unity项目目录下的做法已经不可行,会提示命名空间冲突。

最主要的问题是
2.如果使用未指定类型的 assetbundle.loadasset 加载进来的Object 如何能够在加载之后转为 Texture2D?(注意:素材多图片大小不定,直接强转会直接报空)。

需要解决的问题是
由于无法使用 系统System.Drawing下的Image类 无法获得图片文件宽高信息 所以是否有其他办法直接从内存流创建Texture2D

求解决方案,以便加载包外图片数据。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2019-03-01 07:43
    已采纳

    System.Drawing的本质是对windows操作系统特有的gdi/gdi+的一个封装,如果你希望跨平台,就不要用它,
    试试看 LoadImageIntoTexture

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题