Unity中实现反弹
发布日期:2021-06-30 19:58:36 浏览次数:2 分类:技术文章

本文共 628 字,大约阅读时间需要 2 分钟。

一:演示视频


二:代码实现

using UnityEngine;public class Ball : MonoBehaviour{    private Rigidbody rigid;    private Vector3 lastDir;    public float speed = 30;    private void Awake()    {        rigid = GetComponent
(); rigid.velocity = new Vector3(1, 0, 1) * speed; } private void LateUpdate() { lastDir = rigid.velocity; } private void OnCollisionEnter(Collision other) { if (other.gameObject.tag == "Wall") { Vector3 reflexAngle = Vector3.Reflect(lastDir, other.contacts[0].normal); rigid.velocity = reflexAngle.normalized * lastDir.magnitude; } }}

 

转载地址:https://liuhaowen.blog.csdn.net/article/details/117266549 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:U3D游戏开发框架(九)——事件序列
下一篇:Unity中实现自定义脚本模版

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月15日 01时24分03秒