0
私がやりたいことは自由な図面なので、マウスを動かすと曲線でも連続した/連続した線が描かれます。しかし地形上のいくつかの場所では、それは描画されていないし、高い土地/丘のいくつかの場所では、常に描画されていません。私がマウスをゆっくりと動かしても。何故地面にマウスで線を描くと、何も描画されないのはなぜですか?
LineRendererコンポーネントとスクリプトがカメラに添付されています。メインカメラではなく新しいカメラ。
私はまた、使用する前に試してみました:
if (Physics.Raycast(ray, out hit, 1000))
しかし、同じ問題が。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawLinesWithMouse : MonoBehaviour
{
private List<Vector3> pointsList;
// Use this for initialization
void Start()
{
pointsList = new List<Vector3>();
}
// Update is called once per frame
void Update()
{
RaycastHit hit;
//if (Physics.Raycast(ray, out hit, 1000))
if (Physics.Raycast(GetComponent<Camera>().ScreenPointToRay(Input.mousePosition),out hit))
{
Vector3 hitpoint = hit.point;
pointsList.Add(hitpoint);
if (pointsList.Count > 1)
DrawLine(pointsList[pointsList.Count - 2], pointsList[pointsList.Count - 1], Color.red, 0.2f);
}
}
void DrawLine(Vector3 start, Vector3 end, Color color, float duration = 0.2f)
{
GameObject myLine = new GameObject();
myLine.transform.position = start;
myLine.AddComponent<LineRenderer>();
LineRenderer lr = myLine.GetComponent<LineRenderer>();
lr.startColor = color;
lr.startWidth = 3f;
lr.endWidth = 3f;
lr.SetPosition(0, start);
lr.SetPosition(1, end);
//GameObject.Destroy(myLine, duration);
}
}
今試しましたが、修正しませんでした。 –
同じ問題がフラットプレーンで発生しますか? プレーン3Dオブジェクトを作成してみてください。 EDIT:誤って入力します.... "ラインレンダラーコンポーネントは、3D空間内の2つ以上の点の配列を取り、それぞれの間に直線を描きます。" https://docs.unity3d.com/Manual/class-LineRenderer.html おそらく地形の高さは途中ですか? – Doh09
私は同じことを面で試しました。マウスを右に動かすか、そのまま左に動かすと、直線になっていることに気付きました。しかし、私は少しマウスを下に動かすか、それはスペース/距離を作っている。私の推測では、キューブのインスタンス化のようなものです。例えば、マウスの動きに応じて曲線を描く/回転させる方法はわかりません。キューブをインスタンス化して同じことをしたとき、私は同じ問題を抱えていました。マウスの動きでストレートキューブをインスタンス化するのは問題ありませんが、マウスを動かすとキューブ間のスペースや距離は同じになりました。 –