返回介绍

Vector3.Project 投影

发布于 2019-12-18 15:38:44 字数 1840 浏览 1484 评论 0 收藏 0

JavaScript => static function Project(vector: Vector3, onNormal: Vector3): Vector3;
C# => static Vector3 Project(Vector3 vector, Vector3 onNormal);

Description 描述

Projects a vector onto another vector.

投影一个向量到另一个向量。

To understand vector projection, imagine that onNormal is resting on a line pointing in its direction. Somewhere along that line will be the nearest point to the tip of vector. The projection is just onNormal rescaled so that it reaches that point on the line.

要理解向量投影,想象那 onNormal 搁在其方向的一条线上。在某处沿着这条路线将是向量末端的最近点。投影是重新onNormal,以便达到在线上的点。

The function will return a zero vector if onNormal is almost zero.

函数将返回一个零向量,如果 onNormal 接近零。

An example of the usage of projection is a rail-mounted gun that should slide so that it gets as close as possible to a target object. The projection of the target heading along the direction of the rail can be used to move the gun by applying a force to a rigidbody, say.

使用投影的一个例子是,一个轨道式枪要使其可能地滑动到尽接近目标对象。目标沿轨道方向的投影可以通过施加力到刚体来移动枪。

JavaScript:

	function Slide(target: Transform, railDirection: Vector3) {
		var heading = target.position - transform.position;
		var force = Vector3.Project(heading, railDirection);
		rigidbody.AddForce(force);
	}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    void Slide(Transform target, Vector3 railDirection) {
        Vector3 heading = target.position - transform.position;
        Vector3 force = Vector3.Project(heading, railDirection);
        rigidbody.AddForce(force);
    }
}

Vector3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文