[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
504: 名前は開発中のものです。 [] 2023/09/08(金) 15:19:23.83 ID:XdHQtCgD(2/3) AAS
ありがとうございます。
thisでゲームオブジェクトが取れているわけではないのですか?
printした結果はすべて同じなんですよね
まあ、こうやって取るものだと覚えます
505(1): 低クオリティでごめんねごめんね [] 2023/09/08(金) 15:59:57.42 ID:OYwRjle1(1/2) AAS
多分読まないと思うけど
外部リンク[html]:docs.unity3d.com
Transform はComponentから
GameObjectはObjectからの継承
Component.transform
Component.gameObject
GameObject.transform
の関係かなぁ
分かりにくいけどね
んでThisは
外部リンク[html]:docs.unity3d.com
ここ読んでなんとなくわかってもらえるといいけど
// Removes this script instance from the game object
Destroy(this);
これやるとゲームオブジェクトは消去されないでscript instance
のみ消えるというから要注意
506(1): 名前は開発中のものです。 [] 2023/09/08(金) 16:06:09.34 ID:XdHQtCgD(3/3) AAS
>>505
何でそういう事言うんですか(*´ω`*)
理解出来なかったけども、そういうやり方だと覚えます
507: 低クオリティでごめんねごめんね [] 2023/09/08(金) 17:12:53.58 ID:OYwRjle1(2/2) AAS
>>506
そういう事? どの部分?
読まないと思うけどってとこかな?
チュートリアルしない人が公式マニュアル読むとは思わなくて、ごめんね
それより、あなた以前の質問でさ
0470名前は開発中のものです。
2023/09/05(火) 16:53:49.91ID:RMKLnaCW
気をつけられる部分があれば次からそうします。
>>468どの部分でしょうか?
0471名前は開発中のものです。
2023/09/05(火) 17:51:36.40ID:lyIzARh6
>>470とりあえずコテハン付けると良いよ
そうすれば不快に思う人はNGできるんで
気を付ける部分あればそうしますって言っててコテハン付けてって
言われてるんだから、付けなよ
それくらい出来るでしょ
そうすれば、答えないようにするからさ
じゃないと分からなくて
508(1): 名前は開発中のものです。 [] 2023/09/08(金) 17:36:20.83 ID:9GLaEiS+(1) AAS
>>502502(1): 名前は開発中のものです。 [] 2023/09/08(金) 14:34:56.96 ID:XdHQtCgD(1/3) AAS
ゲームオブジェクトの取得ですが、thisとthis.transformとthis.transform.gameobjectに違いはありますか?
プリントしてもどれもオブジェクトは取得出来ているようです
また、transformクラスはゲームオブジェクトの操作関係だと思うんですが、だとしたらtransformクラスはゲームオブジェクトの下位にあるべきと思うのですが、this.transform.gameobjectの例ではなぜゲームオブジェクトが下位にあるんでしょうか?
Debuglogでthisを出すとアタッチしたゲームオブジェクト名が出るけどthisはアタッチしたスクリプト自体な
他のコンポーネントをDebuglogで出せば分かるけど
transformはまんまインスペクタにあるコンポーネントだよ
this.transformはtransformコンポーネントを参照しててthis.transform.gameobjectはゲームオブジェクト自体を参照してる
509(1): 名前は開発中のものです。 [sage] 2023/09/08(金) 20:57:05.39 ID:+NIew3qL(1) AAS
やっぱり何度やってもユニティアセットの決済ができん。
クレカ変えてもブラウザ変えてもダメ。
売る気ないのかな?
510: 名前は開発中のものです。 [sage] 2023/09/09(土) 06:36:56.17 ID:OIsKWx3l(1/4) AAS
お前に売るアセットはねぇ!出禁じゃ!m9⎛´・ω・`⎞ドーン!>>509
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;
}
}
512: 名前は開発中のものです。 [] 2023/09/09(土) 06:49:35.57 ID:kCAfKsgC(2/7) AAS
>>508
スクリプト自体ですね
カッコの中を見るんですね
object(unityengine.gameobject)
みたいな形式になってるから、少し混乱(*´ω`*)
513(2): 名前は開発中のものです。 [sage] 2023/09/09(土) 08:28:25.54 ID:3k5BPIDG(1/6) AAS
>>511
恐らくこのコードだとオブジェクトがマウス追随するのは
オブジェクトのうえにマウスがある時だけなんじゃないかな?
マウスの動きは結構早いからこれでは外れてしまう
俺ならノーマル状態、追随状態と複数の状態を作り
通常はノーマル状態でマウスクリック時に
オブジェクトがあった時追随状態に移行して
追随状態の時はオブジェクトの上にマウスがあるかどうかは
関係なく追随という仕様にする
それでマウスクリック解除でノーマル状態に移行
514: 名前は開発中のものです。 [] 2023/09/09(土) 10:05:11.65 ID:kCAfKsgC(3/7) AAS
>>513
確かにマウス速度を早めると外れますね
フレームの実行速度をマウスの速度が上回ると駄目ってことですね
なるほど ありがとう(*´ω`*)
515: 名前は開発中のものです。 [sage] 2023/09/09(土) 10:16:03.59 ID:OIsKWx3l(2/4) AAS
やっぱ低クオリティガイジ以外の回答者はクオリティ高いお!m9(*´ω`*)ドーン!
516(1): 名前は開発中のものです。 [] 2023/09/09(土) 11:00:00.95 ID:kCAfKsgC(4/7) AAS
>>513
状態はステートで変化させる感じでしょうか。
一回取得したら、ボタンを離すまでそのオブジェクトを追従するという感じですよね
517: 名前は開発中のものです。 [sage] 2023/09/09(土) 11:37:05.63 ID:3k5BPIDG(2/6) AAS
>>516
状態なんてなんでもいい
Switch文だろうがboolだろうがやりやすいやり方でやればいい
要するに「追随状態」を維持すればいいだけ
「追随状態」を維持すればマウスがターゲットオブジェクトから
離れてもターゲットオブジェクトが移動してくれる
追随状態の切り替え方も「マウス押しっぱなし
の時に追随」とか「マウス1回クリックするごとに
切り替え」とか好きに考えればいい
上のコードの「マウスがオブジェクトの
上の時だけ追随を認識」というのが
具合がよろしくない
518: 名前は開発中のものです。 [] 2023/09/09(土) 12:19:23.28 ID:kCAfKsgC(5/7) AAS
ありがとう 簡単な分岐なのでboolでやってみます
519(1): 名前は開発中のものです。 [] 2023/09/09(土) 12:53:57.25 ID:kCAfKsgC(6/7) AAS
かなり初歩的ですみませぬ
update内でboolを切り替える場合、ずーっとfalseに代入され続けてしまうのですが、クリック時にのみ発動してほしいイベントに使うわけですから、使わないときも代入され続けたら無駄ですよね。
こういうときはどんな書き方をするもんでしょうか、、、。
bool objectCapture = false;
void Update()
{
if (Input.GetMouseButton(0))
{
objectCapture = true;
print("true");
}
else {
objectCapture= false;
print("false");
}
520: 名前は開発中のものです。 [] 2023/09/09(土) 13:08:12.41 ID:fHIrkeW+(1) AAS
透明な板敷けば良いのでは
ドラッグ開始 clickedObjectにレイ飛ばしたオブジェクトを入れる。clickedObjectのコリジョンを消す
ドラッグ中 clickedObjectが空でないならclickedObjectをレイ飛ばした位置に移動。
ドラッグ終了 clickedObjectにコリジョンを復帰してclickedObjectを空
521(1): 名前は開発中のものです。 [sage] 2023/09/09(土) 13:18:08.40 ID:3k5BPIDG(3/6) AAS
>>519
俺は平気で同じ代入してる
エキスパートの回答は知らない
522: 名前は開発中のものです。 [sage] 2023/09/09(土) 13:26:36.62 ID:3k5BPIDG(4/6) AAS
同じ代入をするのが嫌なら「このステートでは
この処理、別のステートではあの処理」
みたいに明確に分けるしかないんじゃないの
今後エキスパートになろうと思ったら
必要なプロセスかもしれない
523(1): 名前は開発中のものです。 [sage] 2023/09/09(土) 13:46:41.50 ID:n240SOPq(1) AAS
普通にmousebuttondown と up じゃ駄目なん?
524(1): 名前は開発中のものです。 [sage] 2023/09/09(土) 13:53:13.52 ID:3k5BPIDG(5/6) AAS
>>523
それだと「クリックごとに切り替える」という
仕様を採用するということになるが
若干不便かな
今がノーマル状態なのか追随状態なのか
判別が紛らわしいから
525: 名前は開発中のものです。 [sage] 2023/09/09(土) 13:53:53.72 ID:3k5BPIDG(6/6) AAS
>>524
これ勘違い
無し
526: 名前は開発中のものです。 [] 2023/09/09(土) 17:01:41.89 ID:kCAfKsgC(7/7) AAS
>>521
ありがとう
別に気にするほどの負荷にはならなそうですよね
自分はゲームの完成よりどうでもいい部分にこだわってしまうのが、駄目みたいです(*´ω`*)
527: 名前は開発中のものです。 [sage] 2023/09/09(土) 17:05:51.31 ID:OIsKWx3l(3/4) AAS
そして低クオリティガイジが死んで嬉しいです!m9(*´ω`*)ドーン!
528(1): 名前は開発中のものです。 [sage] 2023/09/09(土) 17:14:29.36 ID:tG9qh3d0(1/2) AAS
俺は1週間で何も作れないくせに「UnityよりUnreal Engineの方が良い」とか言っちゃうUEガイジに死んでほしい
上下前次1-新書関写板覧索設栞歴
あと 474 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s