Unity Golf 游戏物理和运动控制器

Unity Golf game physics and movement controller

那么,我有一个问题。 我是 unity 的初学者,我想创建一款高尔夫游戏。 我可以编写 C# 代码,并且我在 3D 建模方面具有基础水平。 我的问题是我不知道统一编码是如何工作的。我的想法是一个像 Golf It 中的系统,如果您按下鼠标左键,您会看到一个球杆,然后它采用鼠标的 y 轴并将球杆绑定到该轴。一旦您击球,它就会利用球杆的速度并将其传输到高尔夫球上。高尔夫中的物理学不是那么好,因为无论你用多大力击球,你都不能让球飞起来。因此我想实现一些逼真的高尔夫物理学。 (我在上高中,所以我会计算物理计算)。

我希望有人更有经验,至少可以给我一些解决该问题的想法。已经谢谢了:)

顺便说一句。我已经尝试搜索教程并且自己也尝试过但没有得到任何有用的结果。但我至少已经模拟了一个球杆和球以及一个小高尔夫球场。

如果这有帮助,这是我的想法,用于等待高尔夫球杆冲动的​​高尔夫球脚本(是的,它当然行不通)。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class controller : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
      if (collision.gameObject.name == "golf_club")
        {
            rb.velocity = new Vector3(Collision.impusle, 0, 0);
        } 
    }
}

欢迎新用户。不要使用更新。 Unity 有很多关于“碰撞发生”的函数。

https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html

你必须真正熟悉所有这些。

我建议首先熟悉物理引擎的使用,你会惊讶于它在高尔夫方面的表现。

稍后你可以编写自己的物理(使用协程)。执行此操作时,您仍然可能仅将碰撞器 用作触发器 。你也必须学习所有这些。

请注意,要熟悉 Unity 的基础知识可能需要大约 1,000 小时的工作时间。