我如何从给定的两点创建一个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'类型的操作数
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算法。