如何让在青岛小力妈妈不同版本本Unity 3D中制作的游戏和场景在另一个版本的unity 3D中也能打开?

Unity3d中场景漫游的制作
Unity3d中场景漫游的制作,非常方便!!!
首先在3d软件中准备好模型,我找了个maya制作的房子。注意:我这里用的是真实世界的比例,旁边测量工具测量的是1000cm,10米高.
新建一个unity项目:勾选你将来要用到的引擎自带的几个资源包例如:
Character Controller.unityPackage(这个里面有一个第一人称控制,一个第三人称控制。)
Particles.unityPackage
Skyboxes.unityPackage天空盒
Terrain Assets.unityPackage地形素材包
或者先新建一个空的项目,再open打开Program Files\Unity\Editor\Standard
Packages目录下的这些. unityPackage文件,效果是一样的。
真的很方便,unity把很多东西都给你预备好了,快来试试吧!!!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。TIPS:左右滑动导航栏可以查看更多栏目
[Unity 3D教程]教你如何在3D场景中选择物体并显示轮廓效果
[Unity 3D教程]教你如何在3D场景中选择物体并显示轮廓效果
在一些经典的游戏中,需要玩家在一个3D场景中选取场景中的物体。例如《仙剑奇侠传》,选择要攻击的敌人时、为我方角色增加血量、为我方角色添加状态,通常我们使用鼠标来选择一个目标物体,当鼠标移动到目标物体上时,目标物体将显示轮廓线,此时就表示当前物体被选中,我们可以在此基础上为游戏物体进行一系列的操作。那么,这一功能是如何在中实现呢?
首先我们可以将问题分解为两个子问题:第一,如何确定物体是否被选中;第二,物体被选中后如何清晰地传达给用户。
如图是古剑奇谭和仙剑奇侠传的战斗画面:
接下来,我们分别来解决这两个问题。对于第一个问题,我们可以采取射线检测的方法,即从摄像机向鼠标所在的位置发射射线,如果该射线击中了游戏场景中的物体,我们就认为该物体被选中了。对于第二个问题,我们需要让物体的轮廓线显示出来,这是我们今天着重要研究的地方。在Unity3D中我们可以通过Shader 即着色器来实现更改材质的渲染方法。Unity3D内置了6类着色器,从简单的VertexLit到复杂的带有高光的视差凹凸贴图(Parallax Bumped with Specular),共30个。其中:
1、Normal:适用于不透明的物体
2、Transparent:适用于半透明的物体,透明度由贴图的alpha通道决定
3、TransparentCutOut:适用于某些部分透明,某些部分不透明的物体
4、Self-Illuminated:适用于需要自发光的物体
5、Reflective:适用于需要反射环境光的物体
6、Lightmapped:适用于需要添加光照贴图及相应的UV坐标数值
从一般的意义上来说,着色器定义了渲染物体的方法、材质中指定的贴图、用于渲染的顶点及片段着色程序、材质中调整的颜色以及各种数值设定。而相对应地,材质决定我们将使用那些贴图来渲染、使用哪些颜色渲染等。在今天的文章中,我们将定义下面的着色器代码:
对于着色器程序的编写,我们此时可以先放在一边,这里我们着重来学习如何使用着色器来实现不同的渲染效果。我们新建一个材质,将该材质的着色器设置为我们这里编写的着色器,如图:
注意到这里的物体时没有轮廓线的,因为我们这里使用的是默认材质Default-Diffuse。那么,接下来,我们通过编程的方式来动态更换材质,这样就可以实现不同的渲染效果,编写下面的脚本:
在上面的这段脚本中,首先我们指定了三个材质,分别是适用于简单物体(如Cube等)的带轮廓线的材质,适用于复杂物体(如人物模型)的带轮廓线的材质( 本文未实现)、适用于简单物体的默认材质。主要原理就是我们在文章开头就提到过的射线检验方法。我们将这个脚本绑定到游戏场景中的物体上,设置好tag后就可以运行程序了,我们一起来看看程序的效果吧!
这就是我们今天想要实现的效果啦,通过今天的文章我们可以实现在3D场景中对一个物体的选取,这种需求在游戏里还是比较多的啊!希望大家好好学习并加以应用!
文章作者:秦元培
&& 本文固定链接:
&& 转载请注明:
您可能还会对这些文章感兴趣!
- 140,949 views - 80,003 views - 71,355 views - 55,371 views - 52,052 views - 32,169 views - 31,947 views - 31,087 views - 19,145 views - 18,700 views
关注QQ空间
读者墙友情链接【干货】Unity美术之结合Vray制作简单写实场景
这次研究了一下使用3dsmax+vray来烘焙场景贴图(请确保安装了vray渲染器),由于时间关系,只粗略地搭建了一个毛坯房场景。在U3D中的效果如下图。(3dsmax源文件及u3d源文件回复可见)----------------------------------开发环境:unity3d 4.3.4f1
3dsmax 2014
Vray3.00.01
Photoshop CS6----------------------------------下面将详细的介绍一下制作的流程:一、模型的简单制作(在3dsmax中完成,由于场景太简单具体的制作方法就不说了,但是要注意模型的单位尺寸)。二、材质灯光的处理:
1、首先在3dsmax中选中需要烘焙的模型,右键将选中模型转换为可编辑多边形,在编辑几何体栏目中选择附加功能将所要烘焙的模型塌陷在一起(如图1)。(图1)
2、展UV,在修改器列表中选择UVW展开命令,然后点击打开UV编辑器按钮,进行展UV操作,具体操作不再敷述,可以看这里,(注:(1)每个面的UV大小最好相同,不然会影响图片的分辨率。(2)尽量摆满整个区域,充分利用每一个像素),展好UV之后,在工具菜单下选择渲染UVW模板命令,改变长宽分辨率(即输出图片分辨率),点击渲染UV模板,在弹出框口中再点击左上角软盘图标进行保存,存为PNG格式图片文件(如图2)。(图2)
3、在PS中绘制贴图,首先将UV模板导入photoshop中,然后在相关区域内制作贴图(如图3)。(图3)
4、选取Vray渲染器,使用Vraymtl材质,并将制作好的贴图贴于Vraymtl材质的Diffuse Map(漫反射贴图)通道中,然后将材质赋给将要烘焙的模型。
5、在场景中添加VraySun(Vray太阳光),并关联VraySky材质,随后分别调整sun跟sky的参数(如图4)。(图4)
6、随后在场景中加入摄像机,并调整Vray渲染参数,进行场景测试渲染,得到如下渲染参数(如图5)。(图5)三、烘焙:选择将要烘焙的模型,在渲染菜单下选择渲染到纹理功能(快捷键0),并进行如下操作(如图6)。(图6)四、赋予烘焙后的模型一个3dsmax的standard(默认材质),并将模型导出为fbx格式。然后将烘焙好的贴图与fbx格式模型导入U3D中,为模型选用名为self-Illumin/Diffuse 的shader,并将烘焙好的贴图贴于Base(RGB)的管道中。可通过调整Main Color来调整贴图亮度及色调,随后为场景添加摄像机及Skybox,运行,查看效果。总结:由于场景没有灯光,运行效率会比较高,但是贴图文件比较大,加载又变慢,呜呼哀哉!鱼和熊掌不可兼得,日后再细细研究一番。
微信号:myweiblog
扫描并关注抽取红包、50元话费与圈内人交流、分享
游戏资讯哪家强?就这里(⊙v⊙)
我要分享:
用户密码保存到数据库时,常见的加密方式有哪些,我们该采用什么方式来保护用户的密码呢?常见的用户密码加密方式以及破解方法
1.&基于数据库生成2.&基于分布式协调器生成3.&划分命名空间并行生成生成全局唯一ID的3个思路,来自一个资深架构师的总结
本次分享通过一次客户在容器实施案例深入的看看Docker的几种存储方式,并给出一些技术选型的建议。Docker存储方式选型建议
DevLink与Go语言北京用户组联合举办的X&to&Go的“小课桌”技术分享活动,将于9月3日在上地福道大厦举办,会前我们对本次活动的主持人、Go语言北京用户组发起人、Go语言布道师——郝林老师进行了文字专访。【Go聚会专访】Go北京用户组发起人、布道师——郝林
近年来,计算机编程者开发了大量密码破解工具,每一款工具都有缺点和优点,有时候选择起来非常让人困惑,以下为大家介绍十款目前最流行的密码破解工具。十款最流行的密码破解工具
本文针对&linux&下的&C++&程序的内存泄漏的检测方法及其实现进行探讨。其中包括&C++&中的&new&和&delete&的基本原理,内存检测子系统的实现原理和具体方法,以如何在&Linux 下检测内存泄漏
本文源码的角度来分析下React-Native底层的通信机制。React Native之底层源码分析篇(本文较长,请自备小零食:辣条,啤酒饮料等)
最好的学习编码的方式就是读源码&—&某个高级程序员读源码是最好也是最有效的提升自身编码能力的方式,特别是当该项技术比较新然后它的标准还在不停改进的时候。[译]推荐5个值得学习React Native的开源项目
React&Native官方支持iOS和Android,但并不支持H5,有些人试图做出补救,如兼容RN&API的ReactWeb,也有人用在RN上再封装一层的形式来兼容H5。ReacMix采取的就是后面的这种做法。ReactMix:基于HTML+JS+CSS写APP的最佳实践
在2015年初,我们构建了一个只做一件事(也的确做的非常好)的微服务——查找地理围栏(geofence&loUber是如何基于Go语言构建高QPS服务的?
本文内容整理自W-Time技术分享沙龙-天津站现场演讲《一切都是分布的》,演讲者:李傲,问啊联合创始人,前中干货|建议初创团队起初也要构建分布式应用
由于国内Android系统的碎片化,令开发者头疼的一个问题就是应用常驻后台的服务可能会被莫名其妙的杀掉。如何做到有克制的,同时最大限度的保护后台进程,是开发者迫切想知道的问题。因此,我们就此问题邀请微信相关负责人来分享他们的经验。微信Android客户端后台保活经验分享
去重统计如何去做,相信看了这篇文章你会有所了解。漫谈redis在运维数据分析中的去重统计方式
如何构建前沿的、易维护的、安全的架构?有哪些可以抽象出来的系统架构设计的准则或者用它来验证现有的架构是否合理?一套根据用途分类的开源软件列表。关于架构的优化和设计,架构师必须悟透的事情
本文作者结合大型移动应用的落地实践,从服务端架构设计角度,阐述如何进行升级优化,为后续APP做大做强奠定架构基础,供大家参考。一个可供创业公司参考的移动APP服务端架构演进方案
只分享能落地的方法,能看懂的架构,秒杀系统人人能做。秒杀系统架构优化思路
Https,你到底对Http干了啥?HTTPS到底是个啥玩意儿?
唯品会RPC服务化架构图,服务发现及服务治理为为什么用使用proxy?容器化为什么选择Marathon和Mesos?首发:唯品会RPC服务框架与容器化演进
防御性编程,简单的说,就是在编程的时候有目的地预测可能的故障点。目的是在那些可能发生的问题发生前解决它们。你看见了问题,对吧?预测意料之外的事情本来就有内在的难度,当你想要预测意料之外的事情并且解决它就更是难上了好几倍。PHP中的防御性编程
在开发MimpiDreams时,我们知道我们想用背景和前景做丰富的视差层。在Steam版本中,有几个图层来管理。所以我们想出了一个可能并不是独一无二的方法,不过在这里还是想概括一下。如何在Unity2D游戏中制作视差效果
天使投资: QQ:
求手游: QQ:
音乐外包: QQ:
游戏合作: QQ:692695
123456789101、为什么要进行版本号控制?
??当我一个人写代码的时候,在我的脑海中是不存在版本号控制这个概念的。由于我对整个项目的代码如数家珍。但是当我和一群人在一起写代码的时候。我可能并不会清楚团队中有谁改动了哪一行代码,即使是一个变量的名称或者是一个函数的名称。在我毫不知情的情况下,可能这种改动会使得程序无法执行。这个时候我须要版本号控制;虽然Unity3D是一个适合小团队开发的游戏引擎,但是即使再小的团队相同会有不同的分工,当大家须要将各自的工作合并到一个完整的项目中的时候,这个时候我须要版本号控制;当我须要了解团队成员实际的编程能力的时候。最好的方法是让他们參与到一个项目的开发中。这样我能够从他提交代码的情况了解他的工作能力。这个时候我须要版本号控制;当我希望时时刻刻对项目进行备份。并在某一个关键的时刻将项目恢复到一个正确的状态的时候,复制、黏贴不会让这个工作变得简单,这个时候我须要版本号控制。
2、如何在Unity3D中进行版本号控制?
??在Unity3D中进行版本号控制主要针对Assets和ProjectSetting这两个目录,由于除此以外的文件和目录都是Unity3D在执行过程中产生的暂时文件。这些文件会在使用Unity3D打开项目后又一次生成,因此无需对这些文件或目录进行版本号控制。好了,在了解了Unity3D版本号控制中须要关注的主要内容后。接下来我们要关注的是如何让版本号控制的软件对我们提交的内容进行差异化识别,我们知道版本号控制的一个核心任务就是将服务器上的文件和本地的文件进行比对,找出哪些文件是最新生成的、哪些文件是被改动过的等等。因此为了方便版本号控制软件对文件进行比对,经常须要项目变动的这些因素转化为文本形式,假设熟悉Github的朋友应该知道。Github中推断两个文件的差异就是依据文本(代码)来比較的。因此在Unity3D中使用版本号控制相同须要遵循这个原则,好在Unity3D在管理Unity3D项目时已经考虑到了这一点。通常在对Unity3D项目进行版本号控制的时候。我们须要做这种事情:
通过Edit-&Project Settings-&Editor菜单打开编辑器设置选项。将Version Control选项下的Mode设为Visual Meta Files。这样Unity3D将为项目中的每一个文件或者每一个目录生成相应的.Meta文件。该文件是一个文本文件,记录了相应文件的相关信息。版本号控制软件能够以此来对文件版本号进行对照和合并操作。
Unity3D中的资源默认是以二进制的形式进行组织的。这种组织方式对版本号控制来说是不合适的。因此须要通过通过Edit-&Project Settings-&Editor菜单打开编辑器设置选项,将Asset Serialization下的Mode设为Force Text。(,注意在5.0版本号中默认是Force Text即文本形式)
通过Edit-&Prefences-&External Tools找到Revision Control Diff/Merge选项,在安装了版本号控制软件后能够在这里找到相关的选项。以博主为例,博主使用的是TortoiseSVN,这里的选项是TortoiseMegre。眼下Unity3D支持的版本号控制软件有SourceGear DiffMerge、TKDiff、P4Megre、TortoiseMegre、WinMegre、PlasticSCM Megre。
??好了,在完毕以上准备工作后。我们就能够開始进行Unity3D项目的版本号控制了,眼下在Unity3D中我们主要有下面三种方式来对Unity3D项目进行版本号控制:
2.1、使用Asset Server进行版本号控制
??Unity3D的是一个Unity3D内部集成的版本号控制软件。它和我们熟知的SVN相似。适合在小团队内进行版本号控制。这是一个收费软件,虽然在某些方面它甚至比SVN还要方便,只是在实际的项目中使用这个的还是比較少的,所以假设大家对这个感兴趣。能够从这里了解它的详细情况。这里我们不打算介绍这个软件的使用。
2.2、使用Github进行版本号控制
??使用Github进行版本号控制时能够在Git仓库中加入一个.gitignore文件来对项目中须要同步的文件进行过滤,在文章開始我们已经知道Unity3D项目的版本号控制主要针对Assets和ProjectSetting这两个文件,因此.gitignore的内容能够这样填写:
*.userprefs
*.unityproj
*.DS_Store
??这样每次提交文件的时候Github将忽略这些文件的更改。关于Github的使用及其相关命令能够查看这里:
??Github中每一个仓库的容量限制为1G。适合小项目的版本号控制,对于大型项目的版本号控制应该考虑使用SVN。
2.3、使用SVN进行版本号控制
??使用SVN进行版本号控制时能够通过右键菜单将某些文件和目录加入到忽略的文件列表中,这样SVN在每次提交文件的时候将忽略这些文件的更改。这块儿事实上和Github的.gitignore是相同的。SVN经常使用的软件组合是 TortoiseSVN(client)+VisualSVN Server(服务端),详细内容请參考这2篇文章:和
??无论使用什么版本号控制软件,建立相关的代码提交规范和流程控制规范都是必要的,因此在团队中应该有一个人负责对团队成员提交的代码进行审核和规范化,这样能够降低由于由于代码提交而产生的各种问题。好了。今天这篇文章先写到这里了,希望大家喜欢!
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!

我要回帖

更多关于 eclipse不同版本区别 的文章

 

随机推荐