如何创建Unity里的动态造型 ?

   更新日期:2024.05.11

在此教程中我将展示如何创建一个自定义的角色菜单,以及如何在游戏中为此保存必须的数据。我们将创建一个玩家造型,通过添加额外附属或者改变颜色来自定义,保存数据,加载其他关卡以及利用保存数据重新创建。这样就能高效的让你在游戏世界外部-在一个菜单系统中自定义它,你可以在任何地方访问,即使退出或者重启游戏都可以。

建立项目

创建一个新的Unity项目,我们此处需要两个关卡,这样就可以互相切换了。将当前场景保存并命名为levelMenu。之后打开构建设置并点击添加当前场景。这是必须的,这样后面就可以直接加载并访问它了。


之后创建一个新的场景并命名为levelGame,同样添加到构建设置中。现在需要显示基本的场景,允许我们来填充东西。


创建飞机

我们暂时使用飞机来作为角色。获取三维素材并将它们拷贝到你的素材文件夹。创建一个立方体,并为平面网格画上网。创建一个新的材料并添加到飞机。最后将飞机拖拽到项目文件夹里来制作一个prefab。


自定义原型界面

为了自定义平面平面,我们需要一些类型的界面。创建一个新的脚本并命名为plane.js。将下面代码嵌入其中。


function OnGUI()

{

    if(Application.loadedLevel == 0)

    {

    if(GUI.Button(Rect(10, 10, 100, 50), "Red"))

    {  

        renderer.material.color = Color.red;

    }


    if(GUI.Button(Rect(10, 70, 100, 50), "Blue"))

    {

        renderer.material.color = Color.blue;

    }


    if(GUI.Button(Rect(10, 130, 100, 50), "Green"))

    {

        renderer.material.color = Color.green;

    }

    }

}

复制代码


在飞机-prefab里添加脚本,将飞机放到场景中。将照相机移向飞机,这样我们就可以看到对它操作发生的改变了。当运行时候,如下图:


点击按钮的话,飞机颜色会发生改变的加载下一个关卡

在levelGame中,放置另一个飞机,将照相机转向它。尝试后会发现,什么都没发生,因为我们根本没有添加对于保存数据的提取。既然到现在了,那就让这个场景跟levelMenu不同吧,这样来显示两个部分都是简单的。在主照相机里定义一个不同的背景色就够了。


现在来到levelMenu关卡,任何都要从此坐骑。打开飞机脚本,在按钮下面添加如下代码:


function OnGUI()

{

    if(GUI.Button(Rect(120, 10, 100, 50), "Load Level"))

    {

    Application.LoadLevel(1);

    }

}

复制代码


如果你还有什么不懂的,可以百度搜下:编程回忆录,他们现在正在录制这方面的教程,都是零基础开始,由浅入深。



  • 15259283654 :unity创建游戏对象的方法
    酆菡态4347 :答:其次,我们也可以通过编程的方式来创建游戏对象。这通常在你需要动态生成对象时非常有用。以下是一个简单的C#脚本示例,展示了如何在Unity中通过编程创建一个新的游戏对象:csharp using System.Collections;using System....
  • 15259283654 :在unity做2d游戏.动画要以什么形式导入
    酆菡态4347 :答:当使用骨骼动画时,动画由一些相互连接的骨骼组成。影响一个骨骼将会影响其所有的子对象。通过每根骨头上不同的变换组合,你会得到骨骼的各种造型。现在,如果你定义了关键帧,即某个时间点骨骼中每根骨头特定的变换,你就能...
  • 15259283654 :Unity C#入门教程——动画时钟实现
    酆菡态4347 :答:要求大家已经对Unity的编辑器有了基本的了解,其实,只需用过Unity几分钟就可以开始该案例了。很快我们就能完成以下成果。制作时钟 不用任何Unity资源包,我们从0开始创建Unity工程。缺省的场景中有一个位于 (0, 1, -10),...
  • 15259283654 :u3d如何新建地面
    酆菡态4347 :答:除了使用内置的平面对象,你还可以创建自定义的地面,例如使用地形工具(Terrain Tool)来创建更复杂的地形,或者通过建模软件创建自定义的3D模型并导入到Unity中作为地面。但这些方法通常比使用简单的平面对象更复杂,需要更多的...
  • 15259283654 :在Unity中怎样创建UI?
    酆菡态4347 :答:游戏也没有抛弃这一规则。有非常多的游戏都使用UI来显示一些信息,比如生命值,技能,地图,武器的弹药,等等。Unity3D提供了许多UI组件,你都可以在你的游戏中使用它们。在这篇文章中,我会指导你在unity的菜单中如何创建一...
  • 15259283654 :如何在unity3d中创建球体模型
    酆菡态4347 :答:3、设置完就可以创建自己需要的模型了,这里就创建一个球体,4、再给球一个材质,操作是按M键出现材质编辑器,漫反射选择位图,选择需要的纹理,然后点击在视口中显示。5、然后将模型导出成FBX格式,并把他保存在unity3d...
  • 15259283654 :如何使用Unity创造艺术火花
    酆菡态4347 :答:动态的照明,需要很多方法在游戏当中添加照明,那么有的一些照明是非常昂贵的,有的时候我们在这个场景当中需要2,3次的照明,而且在我们移动游戏的设计当中,我们把照明不需要做的那么厚重,还有实时的照明等等。Unity当中也是...
  • 15259283654 :Unity里面的树是怎么做的
    酆菡态4347 :答:u3d的GameObject --->3D object里面自带树木,创建了之后会有个tree的层级图,往上加枝干和叶子就行,这个树自带lod。一般都不用u3d自带的树,直接用模型做树更好控制资源,也方便统一画面。
  • 15259283654 :Unity3d如何创建工程与场景
    酆菡态4347 :答:2、单击新建游戏工程选项卡,单击browse按钮。弹出选择文件夹对话框,这里需要我们新建一个空文件夹,且文件夹名及路径名不能有中文(unity3d对中文支持不好)。这里我们就创建一个名为123的空文件夹。3、保存后,回答这个对话...
  • 15259283654 :关于Unity UI 怎么实现在代码里面动态加载自定义的UI 面板
    酆菡态4347 :答:我用的是4.55版本的unity 所以对于UI方面一直使用NGUI的,如果 你要在代码里边创建一个新的UI,你可以用GameObject newUI=GameObject.Instantiate(UI对象).as GameObject; 这个UI对象包含了 你新的UI里边出现的所有元素,(...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网