我如何从给定的两点创建一个3d模型

本文关键字:两点 创建 模型 3d 一个 | 更新日期: 2023-09-27 18:15:47

我想在两点之间画一条线,然后旋转或更多以将其转换为3d。比如建造一座大楼。如果它是一个立方体或圆柱体

画一条线,我的意思是不画它并显示这条线,或者我应该画它并显示它,但根据逻辑,我的意思是在两个给定点之间画一条线,然后使它成为3d。

我试过了:

using UnityEngine;
using System.Collections;
public class MakeTwoPoints3D : MonoBehaviour {
    public Vector3 pA;
    public Vector3 pB;
    // Use this for initialization
    void Start () {
        // Assuming this is run on a unit cube.
        Vector3 between = pB - pA;
        float distance = between.magnitude;
        transform.localScale.x = distance;
        transform.position = pA + (between / 2.0);
        transform.LookAt(pB);
    }
    // Update is called once per frame
    void Update () {
    }
}

但是出现错误:

transform.localScale.x = distance;

项目文件行抑制状态错误CS1612无法修改Transform的返回值。localScale',因为它不是一个变量MakeTwoPoints3D.cs 15 Active

还有一行:

transform.position = pA + (between / 2.0);

项目文件行抑制状态错误CS0019操作符'/'不能应用于'Vector3'和'double'类型的操作数

我如何从给定的两点创建一个3d模型

transform.localScale。X = distance;

您需要从distance变量中创建新的Vector3,然后将其分配给transform.localScale

transform.localScale = new Vector3(distance, transform.localScale.y, transform.localScale.z);

变换。

只需在2.0之后添加f即可使其浮动。没有f, 2.0变成double类型。

transform.position = pA + (between / 2.0f);

。除法重载方法取float而不是double。看看你的其他Unity问题,你需要理解基本的Unity Vector算法。