安静如鸡

  • Home
  • About Me
  • Contact Me
  • 东京女子篮球活动记录
一个博客
  1. 首页
  2. Tech
  3. 正文

【Unity小帖士】GameObject.CreatePrimitive创建的物体在打包后显示成粉色

2023-03-09 0人点赞 0条评论

GameObject.CreatePrimitive是直接在runtime的时候创建一个Unity基本的的物体,比如:

GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);//创建一个Cube

运行之后在Editor里显示如下图。

但是在build之后显示却出现了问题,Cube显示成粉色。

首先粉色的主要原因就是shader不正确,Unity没找到这个shader。
没找到shader是因为Unity在build的时候先在project里找一遍prefab和scene里的shader,把这些shader都一起打包。
但是因为CreatePrimitive是Runtime的时候执行的,它自带的Shader在打包的时候并不会被Unity找到,也就不会被打包。
所以就成了这样。

只要在下面的设置里手动加上一个Standard的Shader就可以了。

当然,大部分时候这个Standard的shader是肯定会被什么物体用掉的,所以一般项目里东西多了的时候这个shader自然就被别的物体带着一起打包了,不会出现这个问题。只有基本上完全空的Project才能出现这种奇葩问题。

标签: 暂无
最后更新:2023-03-09

Ellison

什么都懂点,什么都不精。属于混吃等死,享受生活,过一天算一天的享乐主义。喜欢电影,阅读,以及游戏和美食。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2024 安静如鸡. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang