此时此刻,我正试图尽可能多地了解新的Mixed Reality Toolkit 2为。。。作好准备HoloLens2当它来的时候。我选择了使用一种相当残酷的冷火鸡学习方法:我把我现有的AMS HoloATC应用程序,撕掉了ye goode旧的全息工具包,取而代之的是新的MRTK2--从GitHub新鲜出炉。不出所料,这打破了很多。我不确定这是不是想要的迁移方式--这就像翻修房子一样,从几堵墙外的推土机开始。但这是我选择的方式,因为它迫使我坚持新的风格,学习如何工作,而不妥协。它也非常清楚,当我这样做的时候,事情会在哪里破裂客户应用程序。
因此,我开始了一系列简短的博客文章,这些文章基本上记录了我在道路上遇到的任何颠簸,以及我是如何解决它们的。我希望其他人也能从中受益,尤其是我将展示很多动了奶酪的作品。说到。。。
所以,你有一个很好的Mixed Reality显示这些令人敬畏的全息图的应用程序:
然后,您决定升级到Mixed Reality Toolkit2:
你没想到会看到这个。这是典型的颜色统一显示时,一个材料丢失或着色器中的东西被彻底破坏。事实上,如果你看一下材料:
的确,有些东西坏了。
有好消息,也有坏消息,还有稍微好一点的消息。
因此,在您的资产中,选择您的材料:
然后,在检查器中,选择Mixed Reality Toolkit Standard Shader(再次):
然后轰。一切看起来都是应该的。
或者几乎是这样,因为虽然它的名字相同,但实际上它是一个不同的着色器。东西看起来可能有点不一样。在我的样例应用程序中,尤其是蓝色,看起来似乎有点不一样。
如果查看Git标记为更改的内容,只有树材料本身标记为更改:
如果您查看一个diff,您将看到着色器的引用文件GUID被更改。所以实际上,尽管它有着相同的名字(混合现实工具包标准),但就Unity而言,它是一个不同的着色器。
(您可能想点击图片,以便能够实际阅读此内容)。
当你通过diff向下滚动时,你会看到很多添加的内容,所以这不仅仅是一个不同的着色器ID,它实际上是一个不同的或新的着色器以及。为什么他们故意选择打破着色器ID-我很难理解。也许是为了让从一个着色器升级到另一个着色器成为可能,或者让新旧两个着色器同时在一个项目中工作,从而使升级变得更容易?但由于它们有相同的名称,这也可能引起混淆。不管怎么说--但这是导致着色器在升级时“坏掉”的原因,现在,你也知道如何修复它了。
我希望今天能消除一个困惑的根源,祝你们玩得开心watching the //BUILD 2019 keynote。