unity3d c 需要会哪些有哪些局限性?

程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity研究院之Prefab和GameObject的正向和逆向查找引用
Unity研究院之Prefab和GameObject的正向和逆向查找引用
围观21667次
编辑日期: 字体:
我发现很多美工兄弟都爱问程序Unity3d为什么总丢材质? 我不排除U3d有BUG的情况下会丢材质?但是其实很多时候是人为操作而引起的。
1.不保存就在上传
这个操作太恐怖了,切记!!在 U3D里面你无论操作了什么,当你要上传svn的时候一定要先保存场景,Ctrl+S 切记切记!!如果不保存就上传很有可能就会丢材质。
2.我的电脑明明没事,怎么你哪里就丢材质?
我发现一个很有意思的现象,每次走到美术电脑前看它的svn工程时,我都会发现各种的“黄叹号”整个工程严重的冲突。然后程序和美术的对话就是:“这资源有用没?没用删了, 我重新更新。。。” 哈哈哈 我觉得可能只有程序员才会对冲突非常敏感吧,但我觉得这件事不能怪美术,美术是很抽象的东西,不向程序要具体到少一个分号就无法进行了。
3.管理好材质贴图
如果项目不管理好材质和贴图,后起你会发现有很多完全一样的图片只是名子不一样,但是还都在使用中。。这个很有可能是好几个美术同时在做,这样会造成资源的浪费。
4.特效丢材质
我举个实际的例子,我们项目场景和特效是两个人来做。之前总遇到场景特效莫名其妙丢材质的问题。原因就是做特效的人把特效修改了,但是做场景的又不知道,因为可能这个特效在好多场景上都在使用中。
如下图所示,在Preiject下面方的Prefab 如果拖入Hierarchy视图中,它俩是具有关联关系的,如果你直接在Project视图中修改了Prefab那么所有Hierarchy视图中关联它的Prefab都会得到修改。小改动这样是没问题的,如果发生一些比较大的改动,那么Hierarchy视图中Prefab可能就会丢失或者坏掉。但是假如你有很多场景都引用同一个Prefab,这么多场景会很难找到的。
正向在Hierarch视图中选择一个prefab,然后在右侧Inspector视图中点击Select会自动找到Project视图中的Prefab对象。那么反向如何从Project视图中找到Hierarchy视图中引用的Prefab呢?
如下图所示,Unity3d做了一个功能,在Project视图中选择一个Prefab,然后右键选择Find References In Scene ,那么此时Unity会自动帮你在当前场景中找到Hierarchy视图中引用这个Prefab的GameObject。
但是这个方法有点局限性,就是它只能找到当前场景的,假设你的这个Prefab在很多场景中都引用了,那么这样是找不到了,为了美术我决定写一个小小的工具,嘿嘿。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
[MenuItem("Assets/Check Prefab Use ?")] private static void OnSearchForReferences() { &&//确保鼠标右键选择的是一个Prefab
if(Selection.gameObjects.Length != 1)
//遍历所有游戏场景
foreach(EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
if(scene.enabled)
&&//打开场景
EditorApplication.OpenScene(scene.path);
//获取场景中的所有游戏对象
GameObject []gos = (GameObject[])FindObjectsOfType(typeof(GameObject));
foreach(GameObject go&&in gos)
&&//判断GameObject是否为一个Prefab的引用
if(PrefabUtility.GetPrefabType(go)&&== PrefabType.PrefabInstance)
UnityEngine.Object parentObject = EditorUtility.GetPrefabParent(go);
string path = AssetDatabase.GetAssetPath(parentObject);
//判断GameObject的Prefab是否和右键选择的Prefab是同一路径。
if(path == AssetDatabase.GetAssetPath(Selection.activeGameObject))
//输出场景名,以及Prefab引用的路径
Debug.Log(scene.path&&+ "&&" + GetGameObjectPath(go));
} } public static string GetGameObjectPath(GameObject obj) {
string path = "/" + obj.name;
while (obj.transform.parent != null)
obj = obj.transform.parent.gameObject;
path = "/" + obj.name + path;
return path; }
如下图所示,我就可以找到哪个场景引用了这个Prefab。 这里我没有用GameObject和Prefab的名子来判断,我觉得最好也不要用名字,因为Hierarchy视图中的名子完全可以随意修改的,如果被改了的话就肯定找不到了,而且场景那么多完全有重名的情况。
是不是很简单呢?嘿嘿。
或者还有个办法,就是运行时动态的载入Prefab,但是有些场景特效其实万全没有任何意义,仅仅是展示而已,程序也无需对它进行操作。
有了这个小工具,那么以后美术改完Prefab的时候,运行一下连带的看看某些场景上是否正常的显示了?嘿嘿嘿嘿。
本文固定链接:
转载请注明:
MOMO与MO嫂提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!硬度的表征方法有哪些?他们有哪些局限性?
┃Vest丶OgDm
硬度的表征方式目前应用的无非有两类.一、类似于指数的方式.如洛氏、里氏、肖氏硬度等.其硬度值并没有非常明确的物理意义(无单位).只是对硬度的相对高低进行描述.矿物的莫氏硬度和漆膜的铅笔硬度更是直观地用刻划来比较硬度的高低.二、有物理上的定义.比如布氏硬度、维氏硬度、努普硬度等可以说成压痕单位表面积所能承受的压力,Mayer硬度可定义成单位压痕投影面积所能承受的压力.各类邵氏硬度可以表述为在一定的压力下所能压入的深度.这两类表征方法如果把握“它们仅仅是表明硬度的相对高低程度”而已,那么在实际应用中都没有丝毫问题.但如果将第二类表征严格按其定义去理解则会带来许多困惑.比如能说“硬度400HB比硬度200HB的材料硬度一倍”码?.硬度这个概念本身并没有一个简单明确的物理定义.从逻辑上讲难以用单纯的物理量、几何量的组合来完美地表述.所以,用过于明确测试方法或理解方法会很难成功.第二类表征的成立的本身加入了无数的约束条件,如压头的形状和尺寸、试验力的大小及施加的方式、试验力保持时间,试料本身的机械特性、化学特性、治金学特性等等.正因为如此,不同硬度试验方法、甚至同一试验方法但不同试验条件下所得出的硬度数值之间的换算也就“不能太当真,仅供参考”了.应用“硬度”这一参数时,要时时刻刻牢记:1 相对性 2 特定性 3 工具性 4 传统性1 相对性:硬度值只是表明其相对的高低.同一试验条件得出的硬度值之间可以比较高低,但数值倍数的比较没有意义.2 特定性:每个硬度值的背后都带着许多试验条件的约束,离开了这一点比较也是无意义的.硬度换算如果抛开这些约束条件会有很大的误差.3 工具性:日常生产和科研中采用硬度这一参数的根本原因还因为它易于测试和基本上对试验件无损或很少损坏.借助它来推断材料的其他与应用密切相关的机械性能,如耐磨、抗拉压、金相特性等.同时可用来控制制造工艺.4 传统性:硬度使用中充满了“约定俗成”和“传统沿习”,有鲜明的行业特点,有很多应用并不是技术上合格、最佳,仅仅是传统习惯罢了.但不遵从的话,与同行交流、与历史数据比对等就变得很困难了.长期以来一直有人试图创造一种明确的、统一的硬度试验方式和度量方法,但好像没有哪个能令别人满意.宇宙都有“大一统”理论了,可小小的“硬度”.有时也觉得“硬度”很可爱,有些像我们古代哲学的概念.
为您推荐:
其他类似问题
扫描下载二维码Unity3D 有哪些局限性?_百度知道
Unity3D 有哪些局限性?
Unity还有哪些局限性,似乎有朝着挤压Unrea这些大牌引擎的趋势虽然Unity在之前自己定义为面向中小型游戏开发,但是随着Unity5的发布,到现在为止?是否仍不适合开发大型网游
我有更好的答案
但由于种种因素的影响,财务报表分析及其分析方法,也存在着一定的局限性。我们在分析中,应注意这些局限性的影响,以保证分析结果的正确性。 (1)会计处理方法及分析方法对报表可比性的影响。 会计核算上不同的处理方法产生的数据会有差别。例如固定资产采用直线折旧法或采用加速折旧法,折旧费也不同。企业长期投资采用成本法与采用权益法所确认的投资收益也不一样。因此,如果企业前后期会计处理方法改变,对前后期财务报表对比分析就会有影响。同样,一个企业与另一个企业比较,如果两个企业对同一事项的会计处理采用的方法不一样,数据的可比性也会降低。所以,我们在分析报表时,一定要注意看附注,看看企业使用的是什么方法以及方法有无变更等。 从财务报表分析方法来看,某些指标计算方法不同也会给不...
其他类似问题
为您推荐:
unity3d的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁做大项目来说,没有源代码,遇到坑没办法自己填,只能绕路。没有插件,啥都不成。纯粹靠Unity本身功能看起来查好多。
新人甲:老板我在做demo,不小心用5.x打开了4.x的项目。项目没备份,现在回不到4.x了。然后那5.x的代码好像写法跟以前不一样。比如什么都是xxx.get 什么什么的。&br&项目经理:谁让你傻兮兮的装5.x的啊!我还用3.0打开过2.4的项目呢。模型材质一片蓝啊!&br&那个蓝的啊!
新人甲:老板我在做demo,不小心用5.x打开了4.x的项目。项目没备份,现在回不到4.x了。然后那5.x的代码好像写法跟以前不一样。比如什么都是xxx.get 什么什么的。项目经理:谁让你傻兮兮的装5.x的啊!我还用3.0打开过2.4的项目呢。模型材质一片蓝啊!那个蓝…
已有帐号?
无法登录?
社交帐号登录
引擎布道者Unity3D在使用上有哪些优点?_西西软件资讯
西西软件下载最安全的下载网站、值得信赖的软件下载站!
→ Unity3D在使用上有哪些优点?
v3.0 英文特别版
类型:编程工具大小:403.4M语言:英文 评分:7.1
Unity3d个人觉得网页游戏,,对于各个平台支持都很好。并且支持flash,网页运行再也不用安装。这块做的不错。开发人员起点比较低。基本的资料文档都很丰富了。缺点就是画面不给力。灯光、画面各方面在这三个引擎里都是最差的,并且对于美术人员来说,做开发不是很好上手。很简单的一个材质。都要去写shader。。UNITY3D现在已经成为了众多团队的首选3D引擎。 并且,随着Unity3D 4.3的发布,原生的2D支持也让人大开眼界。虽然Unity3d的原生2D功能还有很长的路要走,但也阻挡不了它称霸当下。2011年中,公司的引擎项目停止之后,我的目光便转到了U3D的身上,经过几番挣扎后,终于对基于组件式的对象模型有了新的认识。 而如今,这种模式,成为了我最推崇的模式。 因为它能解决我在设计引擎对象时的纠结。 而这些纠结,是我在先前的引擎开发中,一直不能优雅地解决的。首先,我们来说说U3D的好处。可能总结得不够完善,如果有不足的地方,就表示我自己没有体验到。一、可定制的IDE环境U3D这种ALL IN ONE的设计思路,我在一个叫神咒的代码中见到过。 集所有编辑器于一身。 虽然神咒的编辑器不能自由扩展,但由于是公司内部的引擎,所以,它的使用,也很方便。 比如,在场景中突然想要对一个模型的材质进行编辑,则选中此模型,右键,弹出材质编辑器即可。 &U3D的组件式思路,将这种关系变得更加紧密。 你都感觉不到自己在使用一个材质编辑器。 你会觉得,你是在操作这个模型本身。 它的材质,它的碰撞器,它的对象结构等等。回想一开始进入游戏行业的时候,天天啃着代码。 当时觉得代码就是一切,各种认为很牛X的代码,都忍不住读上一番。 而随着时间的推移,特别是经过项目的洗礼后。 突然发现编辑器是多么的重要。 就我做的第一个页游来说,起手前两个星期,我们就做了动画编辑器,场景编辑器。而最终证明,因为这两个简陋的编辑器,使我们后面的工作变得更加容易。因此,一个好的引擎,必定得先有一个功能完备的编辑器。二、基于Mono的开发脚本C/C++无疑是图形界的宠儿,也没有人想过用另一种语言来替代它。即使是U3D,亦是如此。 但是,早期使用C/C++编写的引擎,都理所当然地使用C/C++来作为上层逻辑的开发。 又有一些,采用了纯脚本的模式。比如Python,LUA。 脚本的好处在于更低的编码成本(经过仔细研究,我发现,这是由于写脚本语言的心态和写C++的心态导致的。 写C++的时候,总是想着代码的复用度,而在脚本的时候,很多时间会认为,这个脚本,就是为这个对象服务的,那我就按照策划需求来写就可以了。 我想,这也是许多时候,脚本语言存在的意义。特别是早期引擎中,使用脚本来处理一些关键的事件响应)。 &而大家熟知的虚幻引擎以及有一个名不见经转的Torque,则自己整了一套开发语言。 我想,它们的目的,就是为了使大家能够以一种更安全的方式来编程, C++一不小心,则会带来内存和效率问题。 它的使用成本,人员成本其实是高于其它语言的。 &Mono C# JS,BOO的出现,再一次让大家的眼睛一亮,原来,引擎可以这样整。Mono的桥接,使得高效的C++图形引擎与带GC的内存安全语言进行结合。不仅减少了安全隐患,也使得大家编写跨平台代码时更佳容易。 同时,这类语言的反射机制,更适合做编辑器。而比起先前的一些DIY语言和像LUA这样的小巧型语言,Mono使脚本编程可以进行DEBUG,而不单纯的靠PRINT输出。这里就顺带说一下三个语言的区别C# 这是我见过的大型项目中使用得最多的语言,也是我比较喜欢的语言。 因为它和C++很像,同时严格的类型和语法检查。JS 在帮一些朋友做小东西的时候,使用过这个语言,由于mono自带的提示功能,写起来还是挺顺手。 但总给我一种摸不着头脑的感觉。 并且U3D给的JS,不是严格的JS,有些语法不支持,而有些语法又很特别。BOO 完全没有使用过,貌似也很少有人使用。三、基于组件的对象系统这是一个我最喜欢的系统,我也使用irrlicht引擎山寨过,山寨的过程中,几乎看完了它的组件参考手册,使我对U3D引擎的组件系统又有了新的认识。 同时,目前公司自主研发的引擎,也是这样的思想。 不管我是在工作中,还是业余捣鼓都受组件系统的影响。 慢慢的,喜欢上了这种对象模式。之前在做一个RTS游戏项目的时候,参考了著名开源项目 0.A.D的代码。 当时只是为了去寻找LOS和多单位协同寻路的方案。 但在参考其代码的时候,发现了它整个系统,都是基于组件式的。又一次,对组件式有了好感。 而经过仔细思索后。 回到了我一直坚持的子系统划分法的游戏框架。 当我不禁感叹,原来,自己也一直是在组件式。 只不过,我的组件式,是MANAGER方式,MANANGER内部进行对应的实体管理、。 比如,背包系统,则只负责玩家背包数据,背包使用,背包相关的功能。 不管是数据存储,还是与前端通信,都是背包系统自己在负责,其它模块完全不需要干涉。 &而U3D中的组件系统,则将这个粒度划得更仔细了……。 &这对于早期的像OGRE的entity系统。仅仅是认为对象可以由子对象构成,可以说是一个质的变化。早期的引擎,基本上都是继承优先的设计方案,更多时候考虑的是编码的便利性,且引擎的走向都具有针对性。 而当面对一些复杂情况的时候,继承式的编码是十分麻烦的。 并且,对于JAVA,C#这样的语言,并没有提供多继承能力。 因此,继承式的编程,在面对越来越广泛的游戏需求的时候。显得无能为力。 组件式则是一种聚合优先的编码方式,它的复用度和伸缩度,都远远大于继承。 唯一让一些C++程序员觉得不太顺眼的,可能就是过多的变量和虚函数调用开销吧。 但这些,在当下来说,都不是问题。 影响大众步伐的,早已不是那种语言特性本身导致的开销。更多的,是如何使我们高效率,高质量地完成一个游戏。 因此组件模式已经成为必然。 从新版的UE4的变革,以及畅游的G3D,国外一个开源的godot引擎,就可以看出来,大家对组件模式,已经有了深深的好感和接受度。四、所见即所得这可以说是许多人最喜欢的特性,这也是G3D群里,问的人最多的特性,三天两头就有人问,G3D能不能像U3D一样在编辑器里预览游戏效果呀。U3D除了编辑后立即运行,还能在运行过程中时实编辑,查看效果。当然,运行过程中编辑对象的数据,会在停止后失效。(注意,对文件属性的修改,不会失效)五、代码驱动的开发模式&这种模式,可以使我们快速地构建一个原型。 对于U3D中的MonoBehaviour来说,它扮演的,就是如何驱动它的目标对象。 因此,你可以将你的对象的各种能力分配到不同的脚本组件中,然后根据对象的需求来挂接。六、多平台发布U3D支持的平台,无疑是当下较为流行的平台。 满足绝大部分项目需求。 早期的引擎,多以PC和CONSOLE为主。 支持WINDOWS,XBOX,PS2已经是很不错了。 U3D便利的多平台发布特性,也使得它成为了当前性价比最高的引擎的原因之一。也有许多公司正在自主研发引擎,或者是将先前的PC引擎修改为多平台(IOS+ANDROID居多)。 但这也档不了U3D的步伐。七、良好的生态圈在使用公司引擎的时候,我就发现,若我遇上一个问题,只能问公司的老员工们,或者找其它引擎TEAM寻求帮助。而U3D这种生态圈,不是一天两天能形成的。GOOGLE,百度,各种论坛,都能很容易找到自己想要解决的问题。 而对于一些经验上的问题,也有不少人总结。 这使得后来者,可以快速上手引擎。而AssetStore的出现,不仅使U3D的生态圈更加稳固,同时也提供了许多机会。 你可以制作插件放网上卖,赚取一些利益,也可以购买别人的插件,作为使用或者参考也好。 有时候,购买一些插件,可以让你快速脱离当前的困境。 一个是解决进度问题,一个是解决思路问题。 这是之前其它引擎不具备的。
(17) 游戏制作游戏开发一般来说是一个大工程,对于很多国外的单机网游都是投资上亿美元的,那么对于个人来说制作游戏困难吗当然没那么容易,不过只要掌握了这些游戏制作软件,也会变的很简单了。游戏制作软件,顾名思义,就是可以制作游戏,自己喜欢玩的小游戏等,可以添加进游戏主题元素的软件工具,游戏制作是指一个电子游戏的制作过程。由于游戏的类型大小和要求,游戏制作需要的人员和时间也不一样。对于大型的游戏,一般需要几十个...
02-29 / 31.7M
推荐理由:橙光文字游戏制作工具是66RPG出的一款文字游戏制作软件,也是《彩虹文字游戏制作精灵》的第二个版本。这个软
02-15 / 335KB
推荐理由:2DFM是一款图形界面操作方式的2d格斗游戏制作软件,以其上手容易,操作简单,无需懂得代码即可制作出专业级
01-06 / 21.1M
推荐理由:RPG Maker XP 是由日本 Enterbrain 公司开发的一款 RPG 游戏制作软件。它可以使一个不懂编程的人也能做出精
03-04 / 15.9M
推荐理由:Game4You是一个免费的应用程序,允许你用你自己的照片创建第一人称游戏,并添加音频文件和文本。您可以自定
03-31 / 42.2M
推荐理由:3D电玩制作软件,可制作互动式3D游戏环境,然后编辑成单独的可执行程序可以分发销售。功能:3DRad是一个易
01-04 / 1.5M
推荐理由:忆游横版游戏制作软件(以下简称忆游play)是一款国人个人独立开发允许使用者按自己意愿创建游戏而不需要任
11-1611-1311-1311-1302-0202-0101-2901-2701-2201-13
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载

我要回帖

更多关于 3d打印的局限性 的文章

 

随机推荐