网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月19日漏签0天
unity3d吧 关注:116,885贴子:562,190
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 26回复贴,共1页
<<返回unity3d吧
>0< 加载中...

抛物线怎么做? 数学不行

  • 只看楼主
  • 收藏

  • 回复
  • 猫哥
  • Project
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
比如炮弹的轨迹,先是瞄准,然后炮弹一个抛物线打到我所瞄准的点上...怎么个思路...最近脑筋不好使了...那个最好不要用三点抛物线公式了,那公式太复杂


  • 猫哥
  • Project
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@mayaxiaoan 有方法吗


2026-01-19 00:42:47
广告
不感兴趣
开通SVIP免广告
  • Alonelyss
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
往炮弹上加个粒子效果 生命周期 粒子数量调到最强


  • leilongg1
  • Scene
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
知道目标点的话,用Vector3.Slerp()就行


  • sikele2236
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
垂直方向和水平方向分开,自己算就行了,为什么不直接用物理刚体呢


  • sikele2236
  • Script
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
知道发射初始速度和距离,求角度,你就把物理公式套上呗


  • yujin002
  • Collider
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
s=ut+1/2at²
其中:
s=distance (距离)
u=initial velocity(弹丸初速)也写成 Muzzle velocity
v=final velocity (落点终速)这个速度在方程式里面没有体现
a=acceleration(加速度)
t=time passed(时间)
还有一个阻力,,


  • 狂奔的老鳖home
  • Unitor
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
using UnityEngine;
using System.Collections;
public class ProjectileTest : MonoBehaviour
{
public GameObject target;
public float speed = 10;
private float distanceToTarget;
private bool move = true;
void Start()
{
distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position);
StartCoroutine(Shoot());
}
IEnumerator Shoot()
{
while (move)
{
Vector3 targetPos = target.transform.position;
this.transform.LookAt(targetPos);
float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * 45;
this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-angle, -42, 42), 0, 0);
float currentDist = Vector3.Distance(this.transform.position, target.transform.position);
print("currentDist" + currentDist);
if (currentDist < 0.5f)
move = false;
this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
yield return null;
}
}
}


2026-01-19 00:36:47
广告
不感兴趣
开通SVIP免广告
  • 狂奔的老鳖home
  • Unitor
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//两个Cube,一个作为目标,一个作为本物体
using UnityEngine;
using System.Collections;
public class ProjectileTest : MonoBehaviour
{
public GameObject target;
public float speed = 10;
private float distanceToTarget;
private bool move = true;
void Start()
{
distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position);
StartCoroutine(Shoot());
}
IEnumerator Shoot()
{
while (move)
{
Vector3 targetPos = target.transform.position;
this.transform.LookAt(targetPos);
float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * 45;
this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-angle, -42, 42), 0, 0);
float currentDist = Vector3.Distance(this.transform.position, target.transform.position);
print("currentDist" + currentDist);
if (currentDist < 0.5f)
move = false;
this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
yield return null;
}
}
}


  • kuklyk
  • Material
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
吧主的远古巨坟


  • 墨子与亮子
  • Prefab
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个做抛物线,适合两点之间http://www.cnblogs.com/jqg-aliang/p/4806017.html
这个适合弓箭,愤怒小鸟等http://www.cnblogs.com/jqg-aliang/p/4806002.html#3292517


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 26回复贴,共1页
<<返回unity3d吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示