如何使用Unity制作一款自己喜欢玩的游戏demo(Unity萌新的进阶技巧)

14 篇文章 0 订阅
4 篇文章 0 订阅

相信每个Unity萌新手机上都有一款自己喜欢玩的游戏。

本文将描述自己做的一款模拟【崩坏3】手游demo的一点经验。(安卓端)

首先需要熟练组件的应用,说白了就是跟据你游戏的类型,需要使用哪些API。其次规划一下自己的游戏制作计划。

(使用插件或自己写工具类脚本提高开发效率,不会实现的功能上网自学)

b站视频展示链接:https://www.bilibili.com/video/av20541736/

本游戏需要掌握的技能。

  1. UGUI熟练。
  2. animator熟练。
  3. Touch熟练。
  4. Audio Source熟练。
  5. 内存池优化。
计划步骤。
  步骤一:

  1. 接入Android的SDK和JDK。
  2. 将Unity切换到Android环境。(测试打包是否能成功)
  3. 场景搭建。
  4. 使用UGUI制作UI界面。
  5. 根据情况制作工具脚本。

接入SDK和JDK。


切换到安卓环境,点击Build测试是否能打包apk成功。


场景搭建和UI注册/登陆界面的制作,完成了登陆场景动画。为了实现动画效果减少代码量编写了脚本工具。(打包测试是否能在Android端上运行良好)

步骤二:

  1. 制作用户界面体验的UI。
  2. 背包和装备的交互。
  3. 补给抽取和背包的交互。
  4. 简单的昵称修改功能。
  5. 制作BGM音量调节控制。


用户登陆体验界面。


背包系统。


实现装备和背包的物品交互。


实现补给抽取及背包之间交互。


实现简单的昵称修改功能。


通过UI的Slider滑动组件控制Audio Source声音调节。

步骤三:

  1. 搭建关卡的场景。
  2. UGUI制作选择关卡界面,暂停界面,结算界面。
  3. 使用animator控制动画播放,及战斗逻辑插入。
  4. 使用Touch实现人物操作及镜头控制。

实现搭建关卡场景及UI选择关卡界。

暂停界面和结算界面互用。


  • 使用animator控制动画播放,及事件插入。
  • 使用touch编写人物操作及镜头控制。


  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
制作一个动作游戏Demo需要考虑角色控制、动画、物理引擎等方面的内容。以下是一个简单的Demo示例: 1. 角色控制 首先,我们需要创建一个角色模型,并为其添加一个角色控制器组件,例如Character Controller或Rigidbody等。然后我们需要编写一个角色控制器脚本,用于处理家的输入和控制角色行动。例如: ``` public class PlayerController : MonoBehaviour { public float moveSpeed = 10.0f; public float rotateSpeed = 3.0f; private CharacterController controller; private Vector3 moveDirection = Vector3.zero; void Start() { controller = GetComponent<CharacterController>(); } void Update() { float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); transform.Rotate(0, horizontal * rotateSpeed, 0); moveDirection = new Vector3(0, 0, vertical); moveDirection = transform.TransformDirection(moveDirection); moveDirection *= moveSpeed; controller.Move(moveDirection * Time.deltaTime); } } ``` 在这个例子中,我们使用Character Controller组件来控制角色的行动,使用Input.GetAxis()函数获取家的输入,使用transform.Rotate()函数实现角色的旋转,使用controller.Move()函数实现角色的移动。 2. 动画 创建一个角色模型后,我们需要为其添加动画。可以使用Unity自带的Animator组件来管理动画状态机,并根据角色的状态转换来播放不同的动画。例如: 在Animator Controller中创建多个状态,例如Idle、Run、Attack等,并设置不同的过渡条件。然后在角色控制器脚本中,根据角色的状态转换来设置Animator Controller的参数,例如: ``` public class PlayerController : MonoBehaviour { public Animator animator; void Start() { animator = GetComponent<Animator>(); } void Update() { float horizontal = Input.GetAxis("Horizontal"); float vertical = Input.GetAxis("Vertical"); if (vertical > 0.1f) { animator.SetBool("isRunning", true); } else { animator.SetBool("isRunning", false); } if (Input.GetKeyDown(KeyCode.Space)) { animator.SetTrigger("attack"); } } } ``` 在这个例子中,我们使用animator.SetBool()函数和animator.SetTrigger()函数来设置Animator Controller的参数,例如"isRunning"参数和"attack"参数,以触发不同的动画状态。 3. 物理引擎 最后,我们可以使用Unity自带的物理引擎来实现一些特殊的效果,例如碰撞、击退等。例如,可以为角色模型添加一个Rigidbody组件,并在角色控制器脚本中使用AddForce()函数来实现击退效果。例如: ``` public class PlayerController : MonoBehaviour { public Rigidbody rigidbody; void Start() { rigidbody = GetComponent<Rigidbody>(); } void OnCollisionEnter(Collision collision) { if (collision.gameObject.CompareTag("Enemy")) { Vector3 direction = collision.contacts[0].point - transform.position; direction = -direction.normalized; rigidbody.AddForce(direction * 500.0f); } } } ``` 在这个例子中,当角色模型与敌人碰撞时,我们使用AddForce()函数来实现击退效果,例如让角色模型向后飞出。需要注意的是,这个例子只是一个简单的Demo示例,实际应用中可能需要更复杂的物理效果和碰撞检测。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值