一、效果图演示
二、逻辑剖析
从界面上:
- 需要一个Canvas满屏对着用户,该Canvas上展示用户的游戏数据,比如血条。
- 需要一个Canvas放在蓝色坦克上方,也需要实时对着用户,显示敌人的血条信息
- 两个坦克
- 一个平面Plane放草地的纹理
从逻辑上:
- 前后箭头键控制玩家前进或后退
- 左右箭头键控制玩家左右转向
- 鼠标左键或空格键控制玩家发射炮弹
- 玩家血条希纳是在屏幕左上角
- 相机在玩家后上方的位置,始终跟随玩家,朝玩家正前方看
- 玩家移动时,敌人转向玩家,当偏离玩家的角度小于5度时,发射炮弹
- 敌人血条显示在其上方,并且始终看向相机
三、界面组件信息
(1)游戏对象层级结构
(2)组件参数信息
1.玩家Player组件参数
Name | Type | Position | Rotation | Scale | Color |
Player | Empty | (0, 0.25, -5) | (0, 0, 0) | (1, 1, 1) | #228439 |
Button | Cube | (0, 0, 0) | (0, 0, 0) | (2, 0.5, 2) | #228439 |
Top | Cube | (0, 0.5, 0) | (0, 0, 0) | (1, 0.5, 1) | #228439 |
Gun | Cylinder | (0, 0, 1.5) | (90, 0, 0) | (0.2, 1, 0.4) | #228439 |
FirePoint | Empty | (0, 1.15, 0) | (0, 0, 0) | (1, 1, 1) | -- |
Player 游戏对象添加了刚体组件,并修改 Mass = 100,Drag = 1,AngularDrag = 0.1,Freeze Rotation 中勾选 X 和 Z。
2.玩家HP组件参数
Name | Type | Position | Width/Height | Color |
PlayerHP | Canvas | (960, 540, 0) | 1920/1080 | -- |
Panel | Panel | 位置信息全是0 | #FFFFFF | |
HealthBG | Image | (-809,464,0) | 200/20 | #FFFFFF |
Health | Image | (-809,464,0) | 200/20 | #FF2230 |
玩家 PlayerHP 的 Canvas 渲染模式是 Screen Space - Overlay。
制作一个红色的图片放入Health的Source Image中,Health 的 ImageType 设置为 Filled,Fill Method 设置为 Horizontal。
3.敌人组件参数