[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
511
(1): 名前は開発中のものです。 [] 2023/09/09(土) 06:45:24.50 ID:kCAfKsgC(1/7) AAS
クリック位置のオブジェクトをマウスでドラッグして移動したいのですが、以下のスクリプトだとドラッグ途中にオブジェクトが止まってしまいます。コメントアウトしている部分のtriangleは問題なくドラッグ出来るので、レイによる取得に問題があるようです。レイというのは案外不安定で、毎回同じ結果を返してくれるとは言えないのでしょうか?
public class getClickPositionObject : MonoBehaviour
{
[SerializeField] GameObject triangle;
GameObject clickedObject;
void Update()
{
if(Input.GetMouseButton(0))
{
//triangle.transform.position = camera.main.screentoworldpoint(input.mouseposition)
// + new vector3(0, 0, 10);
getObject().transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition)
+ new Vector3(0, 0, 10);
}
}
GameObject getObject()
{
//クリックされたゲームオブジェクト
clickedObject = null;
//レイキャストの始点と終点を決定 ,vector2
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//ここでレイを飛ばす
RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction);
if (hit)
{
clickedObject = hit.transform.gameObject;
}
return clickedObject;
}

}
513
(2): 名前は開発中のものです。 [sage] 2023/09/09(土) 08:28:25.54 ID:3k5BPIDG(1/6) AAS
>>511
恐らくこのコードだとオブジェクトがマウス追随するのは
オブジェクトのうえにマウスがある時だけなんじゃないかな?
マウスの動きは結構早いからこれでは外れてしまう
俺ならノーマル状態、追随状態と複数の状態を作り
通常はノーマル状態でマウスクリック時に
オブジェクトがあった時追随状態に移行して
追随状態の時はオブジェクトの上にマウスがあるかどうかは
関係なく追随という仕様にする
それでマウスクリック解除でノーマル状態に移行
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.052s