2019-04-20 21:16:10 weixin_43849702 阅读数 634
  • unity3D游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    12837 人正在学习 去看看 宋晓波
unity通过button按钮来显示和隐藏对话框。首先是创建一个面板来当做对话框,然后canvas里添加两个button,一个是用来显示对话框,另个一是用来隐藏对话框。
下面代码是显示和隐藏弹窗:
if (button.name == "弹窗1按钮")
    {
     window1.gameObject.transform.localScale = new Vector3(1, 1, 1);//显示
    }
    if (button.name == "弹窗1确定")
    {
  window1.gameObject.transform.localScale = new Vector3(0, 0, 0);//隐藏
}
    运行时将面板scale设置为(0,0,0)。其实这个方法隐藏时不是把弹窗销毁,而是一直存在着的。当隐藏时相当于把面板缩小为一个点,当显示时即是放大这个点。
2016-06-13 20:02:35 woaini454186694 阅读数 4744
  • unity3D游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    12837 人正在学习 去看看 宋晓波

【Unity3D实战】RPG黑暗之光:游戏分解及各系统的实现


一、任务系统:
1、添加接任务的老爷爷:
Model中选择并添加老爷爷,调整方向,并添加一个Box collider组件。

2、设计任务UI界面:
UI Root添加一个Sprite(命名为Quest),选择Altas图集里的Quest对话框,添加Tween Position动画效果为从右进入。

3、设计任务内容:
选择Quest,添加一个Lable-->Child,设置字体、字号,字的内容。
添加Accept和Cancel按钮:选择Quest,添加Sprit-->Child,Attach-->Box Collider,Attach-->Button Script,同上面添加Button操作一样。
在点击UI界面时,主角不能移动的处理:在人物移动脚本里面加上一个条件,UICamera.hoveredObject == null,鼠标在UI界面上,这个条件不成立,就不能移动。
添加一个Close按钮:同上。

4、处理任务系统对话框的显示和隐藏:
给老爷爷添加一个脚本,NPCBar.cs
public TweenPosition questTween;//把UI Quest拽给此变量
void OnMouseOver() {//当鼠标位于这个collider之上的时候,会在每一帧调用这个方法
    if (Input.GetMouseButtonDown(0)) {//当点击了老爷爷
        ShowQuest();
    }
}
void ShowQuest() {
    questTween.gameObject.SetActive(true);
    questTween.PlayForward();
}
void HideQuest() {
    questTween.PlayReverse();
}
//任务系统:任务对话框上的按钮点击事件的处理,把这个事件注册到Close按钮上。
public void OnCloseButtonClick() {
    HideQuest();
}
注册OnCloseButtonClick事件到Close按钮上:把Bar_NPC拖到Close按钮的On Click-->Notify上,并选择对应Method为OnCloseButtonClick

二、功能面板(右下角):
Bag
Status
Equip
Skill
Setting

三、信息管理系统:
物品信息:即创建一个Text文本文件存放物品即信息。
角色信息:等级、物品、经验值、装备、技能等要存储读取。

四、背包系统:

五、状态系统(主角状态信息):

六、装备系统:

七、技能系统:

八、主角头像和HP/MP显示(左上角):

九、小地图(右上角);

十、药店商人及药品系统:

十一、武器商人及武器系统:

十二、敌人系统:
小狼、中狼、大狼;
敌人自动孵化;
敌人AI以及自动寻路;
战斗时的特效;
敌人动画系统;
杀敌之后物品拾取;

十三、等级系统:
杀敌之后增加经验;
升级之后状态更新;


2014-05-11 01:06:54 u012856866 阅读数 846
  • unity3D游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    12837 人正在学习 去看看 宋晓波

第一步:创建一个新项目。
打开Unity3D软件,它会自动载入上一次我们打开过的“Bootcamp Demo”项目文件。不用管它,在软件打开之后点击 未命名.JPG ——> 未命名2.JPG ,在弹出的 8.JPG 对话框中找到 未命名3.JPG 输入创建项目的文件夹地址,或者点击后面的 9.JPG 选择一个文件夹地址(注:已创建Unity3D项目的文件夹,不能再当作新创建项目的文件夹来使用,否则会因无法找到文件而报错),然后在 10.JPG 中选择要导入的项目文件包,每个文件包都带有一些插件功能,由于我们第一次创建项目文件,所以我们将所有的复选框都打上勾。但这样会致使Unity3D在 开始加载的时候速度偏慢,等以后我们大家对各个插件包的作用都熟悉了,在创建Unity3D项目文件的时候,我们只需要勾选需要使用到的插件包就可以了。 选项面板如图3.1所示:
11.JPG

全部设置完成后,我们点击 12.JPG 创建项目。

第二步:创建地形。

在创建一个新项目后,我们会看见新项目的各个面板中,只有Project【项目文件栏】包含了13.JPG 和 14.JPG 两个文件夹,这两个文件夹里面装的就是在创建项目时导入项目文件包里的所有文件。除此之外,其他版面都是空空如也。不要着急,万丈高楼平地起,我们马上就利用文件包和系统功能来丰富各个版面的内容。首先我们点击菜单栏上的 15.JPG ——> 16.JPG ,创建一个带有地形属性的平面,如图3.2所示:
17.JPG

第三步:添加摄像机。

创建好地形后,我们会发现Game【动画面板】中依然没有任何画面。其实道理很简单,就像演唱会的实况直播一样。场景都搭建好了,演员也在舞台上表演,却没有架上摄像机,电视机前的观众怎么能够看到现场的画面呢?
接下来我们就创建一个摄像机。点击 20.JPG ——> 18.JPG ——> 19.JPG ,这样场景中就会创建一个摄像机,这是您就可以在Game【动画面板】中观看到摄像机所观察到的星象了。如图3.3所示:

21.JPG

第四步:调整地形大小。

系统创建的地形默认大小是2000*2000的面积,实际编辑的时候会显得很大,不方便操作,所以我们对创建的地形面积进行调整,以便我们后续的编辑。
点击菜单栏上的 78.JPG ——> 22.JPG ,弹出 23.JPG 面板来调节地面的大小。将 24.JPG 后面的数字改成500.然后将 25.JPG 后面的数字也改成500,设置好之后点击 26.JPG 按钮将原来的地形改成500*500大小的面积。
第五步:给场景编辑材质。
在场景面板中选中刚才创建的地面对象 27.JPG ,如果您觉得场景中不是很方便选择所需要的对象,那么您还可以在Hierarchy【层次清单栏】选中您所需的对象,该栏中包含了所有场景面板中的物体对象。选中地面对象 79.JPG 之后,我们会在Inspector【属性面板】中马上发现与之对应的属性,包含有:Position【坐标】、Rotation【旋转量】、Scale【缩放尺寸】,以及地面对象固有的 28.JPG 和 29.JPG 。如图3.4所示:

30.JPG
其中 31.JPG 这个像画笔一样的按钮,是用来改变地面材质的。我们点击它之后,可以在下面找到 32.JPG 按钮,点击——> 33.JPG 来到 34.JPG 界面,如图3.5所示:

35.JPG

然后我们单击 36.JPG 后面的圆圈,就可以为地面添加您所喜欢的材质了。选好之后点击 37.JPG 按钮来填入新材质。添加材质之后的地面如图3.6所示:

38.JPG

如果您觉得这个地形的材质过于简单,那么您可以继续点击 39.JPG ——> 40.JPG ,来添加第二个材质,然后在 41.JPG 中选择您想要的笔刷形状,如图3.7所示:
42.JPG
接着就可以在场景面板中刷出新材质的区域范围了。如图3.8所示:
43.JPG

第六步:制作山峰。

完成了地面材质的制作,接下来就可以制作山峰了。
点击 44.JPG 这三个按钮其中的一个,选择合适的笔刷,在地形图中可以刷出高山的形状,如图3.9所示:
45.JPG
如果觉得现在刷出来的山峰太高了,活着觉得某处的山有些多余,可以按住Shift键不放,用刚才选择的笔刷进行反向平刷即可。

第七步:种植草和树木。

接下来就可以给地形种植一些草和树木了。具体的种草按钮是 46.JPG ,种树的按钮是 47.JPG 。草和树木的设置方法与地形材质的设置方法十分雷同,都是先点击 48.JPG 按钮来添加您所需要的花草和树木,然后在场景面板中刷出您所需要的区域即可。如图3.10所示:

49.JPG
这里大家需要注意一点,Unity3D在编辑模式下为了节约资源,采取了资源剔除的方法。如果您在利用笔刷“种草”的过程中,没有看到您所“种”上去的草,这是您只需将画面拉近即可观察到草的效果了。如图3.11所示:
50.JPG

第八步:设置地形上的风速、阴影效果。

种上了草和树木,如果在游戏中运行时静止不动,会让人感觉很不自然,所以我们在地形中添加上风和阴影的效果,让草随风摆动,这样会变得更加逼真。
点击 80.JPG 按钮,来设置地形上的风速、阴影等效果。如图3.12所示:
52.JPG

第九步:添加光照效果。

地形相关的所有效果已经设置完毕了,但是我们发现在Game【动画面板】中的画面很暗,这是由于没有加入灯光的缘故。
点击 53.JPG ——> 54.JPG ——> 69.JPG ,来创建一个太阳光效果。如图3.13所示:
56.JPG

太阳光和太阳自身的位置关系并不大,只与自身的角度有关,这一点和我们日常生活中的太阳光是一致的。所以为了让场景变得更亮,我们就需要用到场景调整工具中的旋转按钮 57.JPG 来对太阳光进行旋转。当然您也可以在属性面板中对它进行调节。根据我们生活的常识,当太阳光直射地面的时候,光线最强。调整之后的效果如图3.14所示:
58.JPG
怎么样,这时的Game【动画面板】中的画面是不是亮了许多?

第十步:摄像机观察设置。

为了让摄像机全方位的观察我们刚才所创建的场景,您可以在Project【项目文件栏】中找到59.JPG 、 60.JPG 、 61.JPG 这三个脚本文件,并将它们依次拖放到场景中的摄像机上面。如图3.15所示:
62.JPG
如果您觉得在Project【项目文件栏】中的文件过多,不便于寻找,您还可以在Project【项目文件栏】上方的搜索框输入他们的名字来进行搜索。这 样很快就能找到对应的文件了。放置完成后,点击测试按钮,您就可以身临其境的在您刚才创建的Game【动画面板】中进行漫游了。用鼠标控制视角,用键盘的 方向键控制行走。在漫游的过程中,您可以清晰的看到刚才创建的草随微风轻轻摆动。效果如图3.16所示:
63.JPG

第十一步:添加天空效果。

这时我们从Game【动画面板】中看到的天空是没有任何效果的,接下来我们给场景添加一个天空盒,使场景具有蓝天的效果。
选中场景中的摄像机对象,然后点选菜单栏中的 64.JPG ——> 65.JPG ——> 66.JPG,为摄像机添加一个天空盒。添加成功之后,我们就能够在摄像机的属性面板中找到刚才添加的天空盒了。
接着我们去Project【项目文件栏】找到“Standard Assets”文件夹下的“Skyboxes”文件夹。这里面摆放了许多关于天空的材质球,您只需要选中一个您喜欢的天空材质球,并拖放给摄像机离的天空 盒【Skybox】的材质属性【Custom Skybox】,就可以让场景的天空布满这种材质效果。如图3.17和图3.18所示:

67.JPG

68.JPG
选中场景中的光照对象,然后在他的属性面板中找到“Flare”,并点选它后面的圆圈 70.JPG 。在它弹出的 71.JPG 对话框中选中双击 72.JPG 这种光照效果,这样就可以使得您在动画模式中清楚的看见太阳所在的位置。再运行一下动画,看看效果。

第十二步:添加光照阴影效果。

细心的朋友一定会发现,现在场景中的树木等物体是没有阴影的,这很不自然。所以为了让场景更加的逼真,我们还可以为场景添加光照阴影效果。
具体做法如下:选中光照对象,在它的属性面板中找到 74.JPG ,它默认的是 75.JPG (没有阴影),您可以将它改成“Soft Shadows”【软渲染阴影】或者是“Hard Shadows”【硬件渲染阴影】。“Soft Shadows”【软渲染阴影】以消耗CPU的计算为代价来产生阴影效果,这种模式运行速度较慢,但对于机器配置比较落后的使用者是唯一的选择。 “Hard Shadows”【硬件渲染阴影】可利用新一代GPU的显卡加速功能来为游戏进行阴影效果的渲染处理,其运行速度比较快,渲染效果也比较理想。但无论您选 择哪一个选项,动画场景的物体都会相对于阳光长生阴影效果。如图3.19所示:
76.JPG

第十三步:保存项目。

所有的场景效果已经调试完毕后,按下Ctrl+S来保存场景文件,取名叫做“text”以便日后调用。如果保存成功,您会在您项目的Project【项目文件栏】中看到一个这样的文件 77.JPG

2015-01-26 23:12:54 driaven 阅读数 1442
  • unity3D游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    12837 人正在学习 去看看 宋晓波
新建一个Sprite-->添加Box Collider-->Scroll Bar Script-->设置属性UPScroll Bar(Direction:TopToBottom  把Sprite拖拉到Background里面  Size:0.1)

新建一个子Sprite-->把子Sprite拖拉到Foreground里面-->把它的高度和宽度设置的和父Sprite一样

下边是介绍输入文本

新建一个Label-->添加Box Collider--添加Text List-->添加脚本

private UITextList testList;
int i=0;
void Start () {
testList = this.GetComponent<UITextList> ();
}
void Update () {
if (Input.GetMouseButtonDown (0)) {
i++;
testList.Add ("qishituan.org"+i);
}
}

新建一个ScrollBar-->把子Sprite的Anchors属性里面的Left、Right、Top、Bottom 都设置为自身

设置Label的属性UIText List(把Label拖拉到Text Label里面,把ScrollBar拖拉到Scroll Bar里面

然后是聊天窗口的制作
 
制作完成的对话框。


新建一个可拖拉的Sprite(Drag Object)-->新建一个可把窗口拖拉大小的Sprite(Drag Resize Script)-->新建一个纸质的Sprite做背景(Anchors:设置为自身)

新建一个ScrollBar,让两个Sprite一样大小父Sprite设置

新添加一个TextList

新添加一个TextField(Anchors:Top设为Bottom,其它都是自身

把脚本拖拉到TextFiled上面把TextFiled拖拉到属性On Submit里面的Notify上面,并选择相应的Method把聊天的Label拖拉到属性Chart里面的Text List上面

public UIInput input;
public UITextList textList;
public void OnChartSubmit(){
string value = input.value;
textList.Add (value);
input.value = "";
}

更多精彩关注:http://www.gopedu.com/

2018-04-18 16:44:00 weixin_34238642 阅读数 11
  • unity3D游戏/AR/VR在线就业班

    本套课程是一套完整的 Unity3D-游戏/AR/VR 学习课程,具体的课程内容包括《C#语言》、《Unity引擎》、《编程思想》,《商业级项目实践》等开发课程,引导您一步步循序渐进、由易到难,终获得Unity 3D/游戏/AR/VR工程师的岗位技能。

    12837 人正在学习 去看看 宋晓波

       大家好,我是冰糖咖啡,来自山东的一名大三的Unity3D学习者,最近在通过泰课在线学习《Unity3D RPG游戏开发》,写下一些学到的东西:

Water(Basic)

  为场景中的河流添加水面,这里需要提醒一下,在Unity3D 5.0版本以前可以直接在菜单栏中找到Asset,单击它asset,再单击import package ,最后单击water(basic)。弹出对话框,直接单击import,导入资源包。

  而在Unity3D 5.x版本中,将水资源包挪到Environment中,所以需要在Import package中找到Environment,单击之后会弹出对话框,找到Water后,单击imprort,导入资源包。       

SkyBox(天空盒子)

  单击Main Camera,可以看到Clear Flags的属性,默认的应该就是SkyBox,

 

不过我们还是需要加入一个SkyBox插件,并将提前导入的素材拖到其中。

  之后,天空盒子就完成了。

 Fog(雾)
  我们需要在游戏开始之间加一个简单的较为仙侠的效果,所以我们加一点淡淡的雾,然后再让镜头由远及近的一个动画效果。
  Fog想添加,非常简单,在工具栏找Window下有个Lighting选项,单击会弹出一个对话框,中间Scene选项中下拉会找到一个Fog效果,勾选后,可以看到Fog有三个参数:Fog Color”、“Fog Mode”、“Fog Density”,可以设置它们的颜色、浓度。“Fog Mode”中的Linear、Exponential和Exp2是使用了不同的公式计算雾的影响因子。

 (ps:当选中“Fog Mode”的Linear模式时会多出现“Linear Fog Start”和“Linear Fog End”,这个用于控制雾的距离。)

 

 

 

 

MovieCamera

  下面就要实现镜头由远及近的这么一个动画效果,首先要创建一个C#脚本文件名为“MovieCamera.cs”,将它赋给MainCamera,并将MainCamera的Z坐标后移至-60;

  然后编写代码:

  

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class MovieCamera : MonoBehaviour {
 6 
 7     public float speed = 20;    //镜头移动速度
 8     private float endZ = -20;   //镜头终止Z坐标
 9     // Use this for initialization
10     void Start () {
11         
12     }
13     
14     // Update is called once per frame
15     void Update () {
16         if (transform.position.z < endZ)//还没有到达指定位置,需要移动
17         {
18             transform.Translate(Vector3.forward * speed * Time.deltaTime); //移动
19         }
20         
21     }
22 }

  如果感觉速度太快或者太慢的话 可以直接在MainCamera的属性中改动。

  

 

转载于:https://www.cnblogs.com/bingtangkafei/p/8875902.html

没有更多推荐了,返回首页