眼看已近1点了,偷偷懒一天就过去了。诶?(⊙o⊙)不对,今天是周末不是应该好好休息的吗~好吧。 。 。逛下QQ里的技术群就打算睡了。
  群里提到了一个模型相关的网站sketchfab,发现里面的大神做的模型真的很精致。比如下面这个,个人是甚是喜欢:
心里一痒便想尝试一下能否获取到这个模型。下面是对我个人猜测并没有真正抓取到模型,但并不代表就此放弃,打算过年放假回家再深入探索下。
  就拿上面提到的网址测试下。首先用浏览器(个人用是搜狗)打开网页。再点开“开发者工具”。先逛逛“Resouces”栏下的image项,巧了,这里可以发现不同size的模型贴图。而且还有一个引人注意的无后缀的文本文件。
  
  在文本编辑器打开分析下,发现文中基本被“prefetchedData”字段占用了大部分内容,而且该字段的第一个数据时一个相对路径,从路劲名字上看,不难发现,每个“prefetchedData”字段是在加载模型展示相关的不同部分数据。
这个看起来像基本的配置数据:
prefetchedData[ "/i/models/45c0d651e1ef4f6585a0ff90b365a34d"
这个是背景音乐(还不错,拷贝url便可直接下载):
prefetchedData[ "/i/models/45c0d651e1ef4f6585a0ff90b365a34d/sounds?optimized=1"
这个看起来跟shader相关
prefetchedData[ "/i/models/45c0d651e1ef4f6585a0ff90b365a34d/matcaps?optimized=1"
瞧,这里还有贴图
prefetchedData[ "/i/models/45c0d651e1ef4f6585a0ff90b365a34d/textures?optimized=1"
And so on.
  其他信息先不管,先看找找哪里存放着mesh信息。大致扫了下,发现里面记录一个压缩文件的url,而且后面还提到了“modelSize”,"vertexCount"。那么这个文件很可能跟模型信息相关。
  
  顺着这个线索,于是通过浏览器将该压缩文件加载展示下。(⊙o⊙)这难道是模型数据文件。
   
  而且它单单在这个osgjs配置文件中,那么很可能与该文件同目录层级。于是拼接上url试试下载。bingo!还真被下载到一个gz文件,而且有近3m的数据在里面。
  
  “不是每个人都能随随便便成功”——这文件解压不了。╮(╯▽╰)╭好吧,只能回到这个osgjs文件找找线索。文件中每个字段总以一个文件名、大小和偏移值和字符编码结构呈现,是不是意味着要想解析这个压缩文件就需要结合这些信息才行。猜测里面应该隐藏了个obj文件。 。 。瞄了瞄时间,No!!!快两点了,明天还要上班,好奇心先就此打住,有空再回头玩玩。读者们也早点休息吧~养足精神才能保持积极向上的风貌:)
  おやすみ~