当前位置:   article > 正文

3D游戏第九次作业_通过编码改变cube、capsule、cylinder这三个游戏对象的位置,其中sphere作为参

通过编码改变cube、capsule、cylinder这三个游戏对象的位置,其中sphere作为参

3D游戏第九次作业 

1.  血条(Health Bar)的预制设计。具体要求如下

  • 分别使用 IMGUI 和 UGUI 实现
  • 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机
  • 分析两种实现的优缺点
  • 给出预制的使用方法

IMGUI:

效果展示:

实现:

制作一个红色cube作为血条,并用脚本控制血条的位置,添加两个button用来加减血量

以上脚本挂载在预制的cube上,并且把人物作为共有变量以确定血条的位置

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class healthBar : MonoBehaviour
  5. {
  6. float padding = 0;
  7. public Transform t;
  8. // Start is called before the first frame update
  9. void Start(){ }
  10. // Update is called once per frame
  11. void Update()
  12. {
  13. this.transform.position = new Vector3(t.position.x-padding, t.position.y + 2, t.position.z);
  14. }
  15. private void OnGUI()
  16. {
  17. //加血
  18. if (GUI.Button(new Rect(250, 50, 40, 20), "+"))
  19. {
  20. padding -= 0.05f;
  21. transform.localScale = new Vector3(transform.localScale.x + 0.1f, transform.localScale.y, transform.localScale.z);
  22. }
  23. //扣血
  24. if (GUI.Button(new Rect(250, 70, 40, 20), "-"))
  25. {
  26. if (transform.localScale.x > 0)
  27. {
  28. padding += 0.05f;
  29. transform.localScale = new Vector3(transform.localScale.x - 0.1f, transform.localScale.y, transform.localScale.z);
  30. }
  31. }
  32. }
  33. }

UGUI:

效果展示:

实现:

创建一个人物对象,给它添加canvas画布子对象,并添加 Slider 作为血条主体。

将 Slider 中的 Handle Slider Area 、 Background 禁用,并且设置Fill的Image组件颜色为红色,调整Slider 组件的MaxValue 为 100、Value 为 75。

并给 Canvas 添加以下脚本 LookAtCamera.cs

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class LookAtCamera : MonoBehaviour {
  5. void Update () {
  6. this.transform.LookAt (Camera.main.transform.position);
  7. }
  8. }

使用时,只需要勾选Canvas或者healthBar

两种实现方法的比较

IMGUI

实现简单,比如绘制一个控件,只需要GUI.Lable()、GUI.Button()这样即可,不需要使用UI组件,很容易上手。IMGUI的存在符合游戏编程的传统,在修改模型,渲染模型这样的经典游戏循环编程模式中,在渲染阶段之后,绘制 UI 界面无可挑剔。避免了 UI 元素保持在屏幕最前端,又有最佳的执行效率,一切控制掌握在程序员手中,这对早期计算和存储资源贫乏的游戏设备来说,更是弥足珍贵。

UGUI

可视化,所见即所得(WYSIWYG)设计工具,设计师也能参与程序开发,支持多模式、多摄像机渲染,UI 元素与游戏场景融为一体的交互,UGUI的控件是以“游戏对象”的形式存在与游戏场景中,这样直观易于使用,直接可以在Scene视图中编辑大小、位置、旋转角度、缩放等等,不需要手动写任何代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/108177
推荐阅读
相关标签
  

闽ICP备14008679号