◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

【ゲームエンジン】Unity初心者質問スレBuild3 ->画像>10枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/gamedev/1578720539/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1名前は開発中のものです。2020/01/11(土) 14:28:59.18ID:wPvGtAaQ
ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
※前スレ
【ゲームエンジン】Unity初心者質問スレBuild2
http://2chb.net/r/gamedev/1557293737/

2ダーク王鍬大使 ◆SoVpkB15jY 2020/01/11(土) 15:14:33.35ID:HCTv2Y3e
質問イイでふか?(^^
変数の配列って宣言するときに要素数も決めなきゃいけないのでひょうか?(^^
あとから一つずつ足していくみたいな形に出来ないと困りまんこ(^^

3ダーク王鍬大使 ◆SoVpkB15jY 2020/01/11(土) 15:16:42.54ID:HCTv2Y3e
ああ、List使えばいいんでふね…(^^

4名前は開発中のものです。2020/01/11(土) 15:27:22.16ID:GoAReVTm
>>2
List 楽ですよね
Array なら再定義で

配列 再定義で色々でます

5名前は開発中のものです。2020/01/11(土) 15:43:20.40ID:wPvGtAaQ
前スレ995で質問した者です

アドバイスを元に、parentをnullにしてみると生成されたプレハブがキャンバス外なのか描写されなくなってしまいました

続いて生成後に新しく作成したキャンバスに親を変更すると実行後1回目だけ左端の意図しない位置にプレハブが生成され、その後通常に動作しました

その後も色々試したのですがまだうまく行きません

あとは
・先に位置を取得して新しいキャンバスにプレハブを生成(これだと頂いたアドバイスを活かせませんが・・・)
・デストロイ前に敵のイメージを透明にする
くらいしか思いつかないです

やりたい事はオブジェクトAの上にオブジェクトBを重ねて表示、Aが消えてもBは消えないという動作です

どうかアドバイスをお願いします

6名前は開発中のものです。2020/01/11(土) 15:59:21.80ID:1/8GPuaw
>>5
aのワールドポスとってBの生成時にそれをセットすればいいだけじゃ?parentとかやると話ややこしくなる

7名前は開発中のものです。2020/01/11(土) 16:16:16.56ID:wPvGtAaQ
>>6
レスありがとうございます

一度ポジションを取得する方法も自分なりにやってみたのですが、instantiateで取得したポジションを指定する方法がわかりませんでした、、

その時VisualStudioではvector3をtransformに変換することは出来ませんといったような警告がでてしまったいたと思います

new vector3を手書きで入力する事は出来るのですが、オブジェクトAの位置をposAに代入、それをInstantiateの引数に記述して反映させる方法がわかりません

Instantiate(プレハブ,posA)の様に書く方法はあるのでしょうか?

8名前は開発中のものです。2020/01/11(土) 16:17:01.56ID:ftB0znZP
>>5
カンバスオブジェにテキストを貼ったプレハブじゃなかったのか。すまん。
そのプレハブにカンバス入れて生成しては?
なら、親外しても良いはず。

9名前は開発中のものです。2020/01/11(土) 16:19:56.60ID:joHWbw4j
>>5
Destroy前に透明にしておくのがわりと定石っぽいと思う
どうせ破壊時にSEとか演出入れる場合即Destroyはできなくなるし
数が増えてくるとDestroyしてInstantiateしてってやってると思ってるより重くなっちゃうのでしっかりプーリングするのを覚えるといいことづくめよ

10名前は開発中のものです。2020/01/11(土) 16:27:37.00ID:wPvGtAaQ
>>8
なるほど、キャンバスをMainViewと名付けてその中に全てのオブジェクトを置いていたのでキャンバスごとプレハブにするのは思いつきませんでした、試してみます
ありがとうございます

>>9
たしかに今の動作が実装できたら今度は破壊アニメーションの終了後に~と言うのを調べようと思っていたので透明化が定石なのであれば一石二鳥かもしれませんね
ゲーム作りもプログラミングも初めてなのでプーリングと言うのはなんの事かわかりませんが調べてみます
ありがとうございます

11名前は開発中のものです。2020/01/11(土) 16:35:55.39ID:eNMw2FnY
>>7
敵とダメージをuGUIに置いているとして、やりたいことをベタ書きするならこんな感じ
var enemy = 敵.GetComponent<Transform>();
var canvas = enemy.GetComponentInParent<Canvas>();
var damage = Instantiate(ダメージプレハブ, canvas.transform) as GameObject;
damage.transform.position = enemy.position;

12名前は開発中のものです。2020/01/11(土) 17:08:22.23ID:wPvGtAaQ
>>11
出来ました!ありがとうございます
この処理でも最初の一回が左端に表示されてしまったのですが、実行を押した瞬間に攻撃していたので処理が間に合わない(バグ?)みたいで、戦闘のスタートとストップボタンをつけて実行後すぐに戦闘開始しない様にしてみたら正常に動作しました

テキストを好きな位置に生成するという単純な事で半日使ってしまいましたが良い勉強になりました、ありがとうございました

13名前は開発中のものです。2020/01/11(土) 17:10:44.69ID:GoAReVTm
>>10
あぁもし破壊後→破壊アニメ、
その間にダメージが出て文字が大きくなりながら上に上がる
んで終了とかなら、アニメで終了時に関数呼ぶのがいいかと思います

14名前は開発中のものです。2020/01/11(土) 17:12:42.45ID:GoAReVTm
>>12
プレファブをhide状態で作っておいて、生成してからhide解除するという方法でいけるかもですね

15名前は開発中のものです。2020/01/12(日) 21:58:52.24ID:6ETev4FX
Lerp() と Slerp() で滑らかにオブジェクトを回転させたいんだけど、FixedUpdate() 内で使ったら、
それらの回転の終了を知るにはどうするんだろう?

FixedUpdate() 内であるタイミングで滑らかに回転してから次の処理を走らせたい。

そもそも 連続するフレーム内での Lerp() と Slerp() の使い方がわからない。
初心者サイト見ても、FixedUpdate() 内で動的に開始と終了ベクトルを指定するサンプルとかがない。

実践的にはどう使うの? それとも UniRXとか使うの?

16名前は開発中のものです。2020/01/12(日) 22:05:48.90ID:GUfBc0Nv
>>15
【Unity入門】LerpとSlerpの使い方と違い!自在に補間をかけよう
https://www.sejuku.net/blog/83510

公式
https://docs.unity3d.com/ja/current/ScriptReference/Vector3.Lerp.html

読んだ上での質問なのかな?
あ所でオブジェクト移動にfixed 使うのは何故?

17名前は開発中のものです。2020/01/12(日) 22:23:31.75ID:6ETev4FX
>>16 さっそくありがとう。
fixed は勘違いで、今処理を書いてるのは Update() だった…

教えてもらったリンクを見たけど、どうやら自分の要件に Lerp() とか Slerp() は適してないかな。

今悩んでた実装は、初代PSのトゥームレイダーみたいにプレイヤーがブロックを押したり、または持ち上げたりするところだけど、
プレイヤーがブロックに対して斜めだと、後々の制御が難しいから、一旦ブロックを押したり、持ち上げたりする正しいポジションに
滑らかに移動・回転させてから、ブロックを押したり、持ち上げたりする動作に移ろうとしてた。

というか、この通り実装すればいいだけか。

18名前は開発中のものです。2020/01/13(月) 08:38:58.13ID:QiViT9Gr
Quaternion が難しすぎて滑らか回転の独自実装は無理だった…
ので Update() の中で Lerp を使うことにしたけど、
Lerp の終了判定はどうするの?
※speedは適当

// Z軸正方向
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 0, 0), speed * Time.deltaTime);

// Z軸負方向
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 180, 0), speed * Time.deltaTime);

// X軸正方向
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 90, 0), speed * Time.deltaTime);

// X軸負方向
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(0, 270, 0), speed * Time.deltaTime);

上記の四つの処理の回転の終了判定が、それぞれ取りたい。
ちなみに以下では取れなかった。

// Z軸正方向
transform.rotation == Quaternion.Euler(0, 0, 0);

// Z軸負方向
transform.rotation == Quaternion.Euler(0, 180, 0);

// X軸正方向
transform.rotation == Quaternion.Euler(0, 90, 0);

// X軸負方向
transform.rotation == Quaternion.Euler(0, 270, 0);

19名前は開発中のものです。2020/01/13(月) 10:48:51.44ID:Rcgjsxsv
>>18
終了条件は何なんだ?
x軸だけまず考えてみよう
何度回転したら止まるのかな?

20名前は開発中のものです。2020/01/13(月) 11:04:47.55ID:QiViT9Gr
>>19
終了条件は Quaternion Lerp (Quaternion from, Quaternion to, float t);
from が to に達した時が終了条件。

Z軸正・負方向、X軸正・負方向の4方向で頼む。
初心者サイトではたいてい "解説された軸の条件" だけでは動くが、実践ではまるで使えない。

単純な話だよ、"プレイヤーを東西南北の方向に滑らかに正対させる"
そして、正対する動作が完了してから、次の動作を開始させたい。
この処理が聞きたいだけ。

21名前は開発中のものです。2020/01/13(月) 11:46:21.42ID:Rcgjsxsv
【ゲームエンジン】Unity初心者質問スレBuild3 ->画像>10枚
これ見て理解して
単純にLerpの事理解してないと思うけど、Time.deltaTime という浮動小数点を使っている以上90度にはならない
最後のprint文表示すると分かるけど永遠と89.xxxxxと表示される
インスペクタは省略表示だからそれに惑わされないように

それから同じオブジェクトで複数軸の回転を行うと当然ながら「Quaternion.Euler(0, 90, 0)」では取れないのは分かるよね?

22名前は開発中のものです。2020/01/13(月) 11:52:55.77ID:eGNaRuP0
Lerpの終了条件って、別にLerpは発動したらずっと動く何かじゃないぞ?
たんに0-1のあいだでfrom,toの間の補完をしてくれるだけだぞ?
お前が次に進めるんだよ!

23名前は開発中のものです。2020/01/13(月) 11:54:05.76ID:Rcgjsxsv
あ、あとStartに書いたのは
Mathf.Approximately(transform.rotation.eulerAngles.y , 90f) これやりたかったので
一応こちらでも判定は行けると思う

24名前は開発中のものです。2020/01/13(月) 11:56:44.83ID:Rcgjsxsv
>>22
だからその上にも書いたけど、浮動小数点をステップに浸かってるからずっとToまでやる訳ですよ

25名前は開発中のものです。2020/01/13(月) 12:15:46.59ID:QiViT9Gr
>>21
素晴らしい! 教えてもらった方法で自分がやりたいことが完全に出来た!

4個処理を書いてたのは、プレイヤーがブロックのどの方向に接触したかで、
処理を分岐させる為で、同時に処理するわけではなかった。申し訳ない。

いや、マジでありがとう。本当に理解している人から教えてもらえて、すごく助かった。

26名前は開発中のものです。2020/01/13(月) 13:00:01.95ID:auL79zSW
>>21
単純にUnityのこと理解してないと思うんだけど
現在位置からターゲットに向ける用途的にはLerpでなくTowards使うんだぜ

transform.position = Vector3.MoveTowards(transform.position, target.position, moveSpeed * Time.deltaTime);
if(transform.position == target.position) // 移動完了処理

transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, rotSpeed * Time.deltaTime);
if(transform.rotation == target.rotation) // 回転完了処理

27名前は開発中のものです。2020/01/13(月) 13:52:22.60ID:Rcgjsxsv
>>26
ターゲットあるならLookat の方が全然いいんだぜ


って、なやり方なんか色々あるのやで
初心者スレなのよここ

28名前は開発中のものです。2020/01/13(月) 15:25:54.10ID:6zyx93de
(補間を求めているところにLookAt……?)

29名前は開発中のものです。2020/01/13(月) 16:28:41.18ID:yBWGUThF
まぁ、本人が満足してるからOKだね。

30名前は開発中のものです。2020/01/13(月) 16:29:23.93ID:Rcgjsxsv
(ターゲットに向ける用途的に)
(って、読めないのかなぁ)

31名前は開発中のものです。2020/01/13(月) 16:36:47.43ID:auL79zSW
(どう見ても移動と回転の補間としてMoveTowardsまで書いてるのにLookAtって言っちゃう人って…)

って、ごめんマジで教えて
LookAtで座標移動できたっけ?
なんでこの流れでLookAtが出て来るのか分からんぞ

32名前は開発中のものです。2020/01/13(月) 16:37:27.12ID:QiViT9Gr
そもそもの質問がターゲットを追うじゃなくて、
"プレイヤーを東西南北の方向に滑らかに正対させる"
だよ。

で、>>21 の方法で求める処理が実装出来た、サンキュー!

33名前は開発中のものです。2020/01/13(月) 17:04:23.60ID:QiViT9Gr
>>26
は質問の意味が理解できなかったんだね。スマンスマン。
"プレイヤーを東西南北の方向に滑らかに正対させる"
なので、Lerp が正解だ、RotateTowards では希望の動作にならない。

しかし皆ありがとう。理解するのにとても助けになった。

34名前は開発中のものです。2020/01/13(月) 17:31:10.04ID:6zyx93de
(あ、これ一人で質問して一人で回答してる系の痛い奴だ……前も見たことある)

35名前は開発中のものです。2020/01/13(月) 17:40:43.99ID:Rcgjsxsv
ほんと、答え書けないのにそう言うこと書くとか、何かの病気なんだろうね
可哀想に

36名前は開発中のものです。2020/01/13(月) 18:11:33.42ID:auL79zSW
初心者に不正解扱いされて笑った

つまりレベル下げて書くとこういうことだろ?
transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(0, 90, 0), speed * Time.deltaTime);
if(transform.rotation == Quaternion.Euler(0, 90, 0)) // 処理

>>18の Lerp を RotateTowards に置き換えればそのまま動くんだよ
それをターゲットがあるとか無いとか初心者ならともかくドヤ顔でレスしてるID:Rcgjsxsvが言い出すのは素人感出し過ぎだぜ
まあ初心者が答えるスレっぽくて俺は嫌いじゃないが

37名前は開発中のものです。2020/01/13(月) 18:42:06.51ID:QiViT9Gr
>>36
ん? それでは動かないぞ。今試した。

>>21 の方法なら動いたけどな、確かに>>21の言う通り浮動小数点を理解出来てないっぽいね。

自分は Unity初心者で、初心者スレで訪ねてるんだから、>>21 のように、
わざわざコードを自分で書いて、動くか試してから教えてくれる人に本当に感謝したい。

まあ、間違って動かないコードもそれなりに参考になるからサンキュー!

38名前は開発中のものです。2020/01/13(月) 18:50:34.00ID:Rcgjsxsv
ドヤ顔でレスかぁ
前スレからの糖衣構文君思い出したわ

39名前は開発中のものです。2020/01/13(月) 18:59:30.16ID:QiViT9Gr
まず >>26 で ID:auL79zSW が
"現在位置からターゲットに向ける用途的にはLerpでなくTowards使うんだぜ" と言ってるのが、>>15 からの質問の文脈を無視してるね。

で、>>27 で ID:Rcgjsxsv が
”ターゲットあるならLookat の方が全然いいんだぜ” と言っているのは >>26 でターゲットと出てきたからだ。人の話を聞いてそれに反応してるんだよね。

でも、ドヤ顔して教えてくれて全然かまわないんだ。Unity初心者でも参考になる情報とそうではない情報の区別はつくから。
というか、自分の質問で争いになって申し訳ない気持ちだ。皆さんどうもありがとう。

40名前は開発中のものです。2020/01/13(月) 19:46:20.54ID:eGNaRuP0
>>38
ああお前勘違いLINQ理解君?

41名前は開発中のものです。2020/01/13(月) 20:01:23.35ID:6zyx93de
Lerp勘違い理解君か
初心者スレが魔境過ぎて中級者の俺には付いてけない

42名前は開発中のものです。2020/01/13(月) 20:15:44.52ID:QiViT9Gr
質問スレなんで、質問に対する解決策の提案が出来なければ、誰にも感謝されないよ。
仮に、提案が間違っていても問題ない。一緒に考えてくれることがとてもありがたい。

教えてくれて本当にありがとう。

43名前は開発中のものです。2020/01/13(月) 21:07:35.13ID:auL79zSW
物知り顔でドヤってる>>21があまりにも愚かだったから突っ込んだだけで感謝とかそういうのは別に求めてない
……というかてめえには一言足りとも語りかけちゃいないのになんでお前がいちいち答えるんだよ、構ってちゃんかよ

44名前は開発中のものです。2020/01/13(月) 21:09:46.43ID:Rcgjsxsv
>>41
自称中級者なのになんで初心者スレきたの?
寂しいの?
書かないと死ぬ病気なの?
構ってほしいのかな?



なら雑談スレいけやぼけ

45名前は開発中のものです。2020/01/13(月) 21:11:21.23ID:Rcgjsxsv
>>43
だから糖衣構文君は雑談スレで勘違いして暴れていいよ
ほんと動かないコード書いて恥ずかしくないのかね

46名前は開発中のものです。2020/01/13(月) 21:32:16.53ID:QiViT9Gr
質問いいかな?

マリオ64+初代トゥームレイダーみたいな3Dアクション作ってるんだけど、
スマホ画面のバーチャルボタンでの二つボタン同時押しがきつい。
例えば、Bダッシュジャンプ(※B押しながらAでジャンプ)とかが出来ない。

そこで物理コントローラでの操作はそのままで、例えばスマホ画面の
バーチャルコントローラだけ、Bボタンを "離す入力" を遅延させることは出来ないかな?

例えばスマホではBボタンを離しても、0.5秒は押したままで判定されて、その隙にAボタンを押すみたいな。

スクリプト内では以下でコントローラの入力を取ってる。
UnityEngine.InputSystem.Controls.ButtonControl

自分が思いつくのは拡張メソッドとか?
スマホ判定したら、特定のボタンの wasReleasedThisFrame が来たら、何とかして遅延実行させるとか?

47名前は開発中のものです。2020/01/13(月) 21:46:07.74ID:Rcgjsxsv
>>46
さーせん自分インプットシステムようわからんので
ここは自称中級者君と糖衣構文君が動くコード書いて説明してれることを祈る

48名前は開発中のものです。2020/01/13(月) 22:06:33.65ID:QiViT9Gr
>>47
いえいえ、いつもありがとう。

スクリプトでは例えば以下のように書いてるけど(※例えばYボタン)
if (yButton.wasReleasedThisFrame) {
// 処理
}

物理コントローラー接続時とスクリプトを変えたくないとしたら、
yButton.wasReleasedThisFrame の前に処理をインターセプト出来て、
本来の wasReleasedThisFrame が来たら 10フレ遅らせて wasReleasedThisFrame を発火させるとか。

なら、UnityEngine.InputSystem.Controls.ButtonControl を継承した自作クラスを作るとか?
そんな入力イベントをバッファ出来る自作ボタンコントロールクラスとか出来るのかな?

49名前は開発中のものです。2020/01/13(月) 22:39:53.81ID:QiViT9Gr
とりあえず進捗

以下のようなクラスの継承では動かなかった。
public class BufferButtonControl : ButtonControl {
  // 処理を書く予定だった
}

無理やりキャストして ButtonControl 型の変数に突っ込もうとしたが、Unity で実行時エラーが出た。
yButton = (BufferButtonControl ) Gamepad.current.yButton;

しかし拡張メソッドは動いた。
public static bool WasReleasedThisFrame(this ButtonControl self) {
  Debug.Log("Hack!");
  return self.wasReleasedThisFrame;
}
あとはこの中にスマホで物理コントローラ接続無しなら、10フレ程度バッファする処理を書けば…
って、どう書くんだろう?

50名前は開発中のものです。2020/01/13(月) 22:40:12.07ID:yBWGUThF
そんな処理より、操作変えた方がいいよ。
ボタン二つを管理するのかな?と思ったけどそうじゃなくて遅延させるのはちょっと…
どうしてもやりたいなら、タッチマネージャーを頭から作るのが必要かと。

51名前は開発中のものです。2020/01/13(月) 22:42:52.88ID:6zyx93de
ここまでの内容をまとめると
怒涛の連レスするID:RcgjsxsvはID:QiViT9Grと同一人物で
前スレで何か悔しいことがあってたまらないから自分で質問して自分で解答して
感謝されてる素晴らしい僕を見せつけたいとそんな感じか
どれだけ承認欲求拗らせるとこうなるんだろう

52名前は開発中のものです。2020/01/13(月) 23:13:16.61ID:QiViT9Gr
>>50
アドバイスありがとう。
タッチマネージャーを自作が良さげでいいのかな。

うーん、もともと ”このゲームは必ず物理コントローラを接続して下さいキリッ!” っていこうとしてたけど、
流石にそんな物理コントローラ用意するコアな人達は1%もいないと思い、スマホ画面上にボタン表示して自分で
動作テストしたけど、当然とても操作が難しかった。

でも、自分的にはスマホ的なタッチ操作はまだ考えてなくて、あくまでスーパーファミコン的な操作でやりたいと思ってる。
で、ボタンを離す動作の遅延処理を思いついたという流れ。

上に書いたように拡張メソッド自体は動くので、何とかバッファ処理出来ないかなと…
スマホ画面でBダッシュジャンプを実装したいなあ…

53名前は開発中のものです。2020/01/13(月) 23:43:09.48ID:yBWGUThF
指がaボタンの位置にきたらジャンプでいいのでは?
①b押しっぱなしからスライドa領域
②a領域タッチ

54名前は開発中のものです。2020/01/13(月) 23:54:48.93ID:wx103lZP
>>52
実装はとてつもなく簡単だがお前には絶対に理解出来ないから諦めろ
生成したInputActionに登録するコールバックでフラグ立ててコンテキスト見ながらUpdate内でポーリングとか言われても分かんないだろ?
これが超基本的なInputSystemの使い方なのに生の値取って処理しようとしてるレガシーなお前にはまず不可能なんだよ

55名前は開発中のものです。2020/01/14(火) 00:08:41.92ID:TgWjNKx2
入力バッファの為のInputSystemでバッファ取る為にサブクラス作るって最高に馬鹿げてるけど、Upフラグキャプチャして0.5秒後に消すだけのことが自分で分からないならぶっちゃけ何言っても伝わらないと思う
IQは20違うと話が通じないって言われてるんだよのび太君

56名前は開発中のものです。2020/01/14(火) 01:54:57.74ID:s+JbO9cF
>>45
いいからお前はSelectMany挟んだ時の動作イメージ書けよ。逃げてんじゃねーぞ

57名前は開発中のものです。2020/01/14(火) 07:50:43.51ID:Sje8YI9U
>>53
なるほど、でも "ボタン" で実装するのが要件なんだ。

>>54, 55
とりあえず、ありがとう。調べてみるわ。

58名前は開発中のものです。2020/01/14(火) 07:58:18.64ID:d/PuqDsL
>>56
(自分が先に書いて見せればそれで論破が成立するのにそれをしない……つまりはあれか、自身の知らない答えを煽って引き出そうとする伝統のあれか……)

59名前は開発中のものです。2020/01/14(火) 10:53:05.74ID:s+JbO9cF
>>58
こっちはIEnumが連続するって話で終わってんだが

LINQ勘違い君はWhere限定の最適化方法や関係ないLINQ使用箇所のIL上げてほらループネストしてないだろドヤっ!とかWhereは要素そのもの返すだとか
間違いや勘違いだらけのこと並べ立てて俺はLINQよく知ってるって勘違いしまくってるんだけどよくアレで他からツッコミ入らないのか不思議でならないんだが

60名前は開発中のものです。2020/01/14(火) 11:03:25.28ID:Sje8YI9U
Bダッシュジャンプの挙動は UniRX の Observable で実装出来た。

InputSystem.Controls.ButtonControl や、InputSystem.OnScreen.OnScreenButton 辺りで
色と試したけど、スクリプトの中でボタンを押したことにしても、希望の動作にならかかったので、
UniRX で、ダッシュボダンを離しても nフレ後までは最高速ジャンプ出来るように実装した。

あとアドバイスの内容で、ああこの人は "物理ゲームパッド用のゲーム" を開発したことない人だなと分かるようになった。
UnityEngine.InputSystem.Gamepad とかのことね。

でも出来たんでサンキュー!

61名前は開発中のものです。2020/01/14(火) 11:42:59.26ID:Sje8YI9U
というか、Unity初心者の自分が言うのもなんだが UniRx 便利だわ。

実務の C#案件では LINQ は自然につかうが、Rx まではあんま必要なかった。

まあ、Unity でも LINQ で処理する必要性があったら使おうと思うけどね。
それとも、Unity では UniRx はOKで、LINQ はダメなの? どして?

62名前は開発中のものです。2020/01/14(火) 12:56:12.43ID:GDy6IxVO
>>59がLINQに詳しいみたいだから聞いてみたらどうだろう
IEnumとか想像上のIF?持ち出してるあたりあんまり分かってないみたいだけど

63名前は開発中のものです。2020/01/14(火) 13:02:53.66ID:FSjVa/a9
>>60 おはようございます出来たそうでよかったです、もう必要ないかもしれないけど
ちょっと自分も>>46の要件をやってみました頭の体操になりましたので参考までに
よければ、こんな画面でuiのbuttonコンポーネントに画像付けてみまして
【ゲームエンジン】Unity初心者質問スレBuild3 ->画像>10枚
Aボタンの遅延を実装してみました
【ゲームエンジン】Unity初心者質問スレBuild3 ->画像>10枚
プログラムではボタンを離してから2秒後まで押下中と判断しています
単純に押下の判定を2つ、ボタン押しているか?フラグが立っているかです
で離した後Invokeでフラグを解除しています
RaycastAllとか勉強になりましたよ

64名前は開発中のものです。2020/01/14(火) 13:04:43.50ID:A84mTdZ6
>>62
めんどくさいから省略してるぐらいわかんだろほんとアホなの?

65名前は開発中のものです。2020/01/14(火) 13:04:50.47ID:d/PuqDsL
>>59
ふーん
で、ソースは?
まさか脳内ソースとか言わないよな

66名前は開発中のものです。2020/01/14(火) 13:08:41.41ID:GDy6IxVO
>>64
IEnumeratorとIEnumerableのどっちのつもり?

67名前は開発中のものです。2020/01/14(火) 13:38:07.43ID:FSjVa/a9
雑談スレでゆっくり心行くまでやってけれ

68名前は開発中のものです。2020/01/14(火) 13:49:13.98ID:A84mTdZ6
>>65
.NETのソース見ろよボケ

>>66
流石に端折りすぎだったなすまそ。bleの方

69名前は開発中のものです。2020/01/14(火) 14:03:25.38ID:d/PuqDsL
うーん、ここまでソース無し
やっぱり>>58で言ったように煽って解答訊き出したい教えて君か

70名前は開発中のものです。2020/01/14(火) 14:13:57.18ID:d/PuqDsL
>>68「.NETのソース見ろよボケ(わかんないからソース探してわかりやすくぼくに教えて!)」

確かゆとり世代が使ってた手口だっけ
おっさんこんな昼間っから何してるん?

71名前は開発中のものです。2020/01/14(火) 14:16:56.94ID:A84mTdZ6
ソースも何もLINQ、IEnumerable数珠つなぎなんでパフォーマンスの劣化多少あるかもね?って話でforeachの展開一つだけだからいくら繋げても劣化ねーよとか言い出したアホが出してくるもの全部的はずれだったりWhere特化の最適化の話だったり、
間違えてるよ?って諭しても俺は間違ってない(具体的な反論なし)って言い張るだけ。別にもう聞きたいことないからまあどうでもいいよ。つか勘違いLINQ君の言ってること鵜呑みにしてるんだったらお前やべえぞ?

https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.where

https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.selectmany

72名前は開発中のものです。2020/01/14(火) 14:17:47.26ID:A84mTdZ6
>>70
もう聞きたい事なんかねーよwアホか

73名前は開発中のものです。2020/01/14(火) 14:21:57.86ID:d/PuqDsL
>>71-72
お、自己解決したの?
良かったじゃん
これも全部俺が発破掛けてやったおかげだな

74名前は開発中のものです。2020/01/14(火) 14:51:50.74ID:GDy6IxVO
>>71
つまるところforeachは遅くてGCゴミが発生するからforを使おうっていうのと同種のことを言いたいの?

75名前は開発中のものです。2020/01/14(火) 15:28:52.59ID:A84mTdZ6
>>74
いや元々は誰かがLINQ、Unityでは今でも使わん方がいいんだっけ?とか言ってきたのでIEnumerableの数珠つなぎになるから多少なりパフォーマンス劣化はあるのかもね?って話したらforeachの展開はひとつだから劣化なんかねーよとか言い出してきたのが最初。
自分的にはIEnumerableの連鎖がパフォーマンス劣化に関係するのかは確かめてないしで知らんけど、とりあえずそいつが言ってるforeachはひとつだから劣化はありえないとか言ってるのがいや色々間違ってるだろって言いたいだけだよ

76名前は開発中のものです。2020/01/14(火) 15:49:25.00ID:GDy6IxVO
なんだ、コンパイラのことも分かってない初心者か

77名前は開発中のものです。2020/01/14(火) 16:43:42.20ID:1kzoRmok
コンパイラーV!

78名前は開発中のものです。2020/01/14(火) 18:05:03.70ID:FSjVa/a9
ほらあふぉばかりだろだから次スレ要らなかったんだよ

79名前は開発中のものです。2020/01/14(火) 19:07:42.80ID:ZrDQOmlZ
unity 2019.2のプロジェクトにUnity Recorderのアセットインストールしたらプロジェクトが破損した
バックアップ取ってたから良かったけど
こういう事あるんだな…

あとで2019からUnity Recorderはpackagemanegerでインストールするんだと知った

80名前は開発中のものです。2020/01/14(火) 19:40:09.55ID:/EhPGLH9
カードゲームをUnityで作りたいのですが、
カードゲームの作り方の実例が乗っている本ってありませんでしょうか?

81名前は開発中のものです。2020/01/14(火) 19:59:09.56ID:A84mTdZ6
>>76
コンパイラーでそんなLINQ最適化されるならそれは是非教えて欲しいところだわ

82名前は開発中のものです。2020/01/14(火) 21:30:54.82ID:FSjVa/a9
>>79
で、どんな質問なの?

>>80
unity カードゲームで検索するといっぱいでてくるけど本じゃなきゃダメなの?
本は情報遅くなるよ

83名前は開発中のものです。2020/01/14(火) 21:55:54.96ID:vQBXke66
>>81
なんか君さ、自分自身で「確かめてないし知らないけど」って言いながら「でもそいつの言ってることは間違ってる」って矛盾した発言してるの気付いてる?

84名前は開発中のものです。2020/01/14(火) 21:59:40.00ID:IMO1kGnb
矛盾はしてないのでは?
自分で調べない、人の言う事は否定、つまり絶対認めない君w

85名前は開発中のものです。2020/01/14(火) 22:40:07.90ID:vQBXke66
支離滅裂なレスからエスパーしてみると
『Linqのクエリは連結するほどパフォーマンス落ちるから一つに全部書くべきですか?』ってことが知りたいの?
だったら処理次第だからベタなループと比べて明確に時間掛かるなら書き方が間違ってると思う
要は関数の細分化でパフォーマンスは落ちるのかと同義だからそれでググれば答えは出て来るよ

86名前は開発中のものです。2020/01/14(火) 23:03:31.16ID:TgWjNKx2
面接官「見たところMainに全て書かれているようですが何故ですか?」

アホ「は?関数呼び出したらオーバーヘッドで速度落ちんだろボケ」

87名前は開発中のものです。2020/01/14(火) 23:06:26.74ID:s+JbO9cF
>>83
あのなぁ、そいつはそんなコンパイラの最適化の話なんかしてねえよ
Aのこと知らなくても別のBの正負が判断できるかは別だよ

>>85
さっきから説明してんだろボケ
色々間違った説明をしてる奴が、そこについてツッコミ入れても答えないから間違ってんぞって言ってるだけだよ

それとは別にIEnumerable の連鎖をコンパイラの最適化で全部排除するような話があるならそれはぜひ教えてくれって頼むわ

88名前は開発中のものです。2020/01/14(火) 23:14:15.10ID:IMO1kGnb
頭髪~数えたら~片手でさえ余る~♪
抜けた毛、数えたら~、両手でも足りない~♪

89名前は開発中のものです。2020/01/14(火) 23:28:54.15ID:vQBXke66
>>87
array.Where(num => ...)
こういうLinqに渡すラムダ式が実行毎にインスタンス化される勘違いしてるなら
適切に書いてあればコンパイラが静的参照に置き換えるからパフォーマンスを考える必要はないよ
IEnumerableの連鎖とかいうのは>>85の通り、パフォーマンス落ちるなら書き方が悪い

まだ他にも訊きたいことある?

90名前は開発中のものです。2020/01/14(火) 23:45:25.66ID:TgWjNKx2
ツッコミ入れても答えないって、それ呆れられて去ったんだろ
ずっと喧嘩腰でぐちぐち言ってるだけだし
車のバッテリー女のコピペ思い出したわ

91名前は開発中のものです。2020/01/14(火) 23:54:43.45ID:TgWjNKx2
韓国人のケンカには三つの特徴がある

・まず威張った態度で強い言葉や大きな声を出して相手を萎縮させようとする

・二つ目は周囲に訴え味方を増やして有利になろうとする

・三つ目は争点をずらし別の争点を持ち出して挽回しようとする

傍目このまんまなことをしているからまあアレだわな
関わったら負けな人

92名前は開発中のものです。2020/01/15(水) 00:13:42.95ID:CCdgG/pq
>>89
> こういうLinqに渡すラムダ式が実行毎にインスタンス化される勘違いしてるな

そういう心配はしていない

> パフォーマンス落ちるなら書き方が悪い
具体的には?単に多段すぎる以外に何かあるか?中で不必要に不効率なことしてるのも除き

93名前は開発中のものです。2020/01/15(水) 00:14:16.91ID:CCdgG/pq
>>90
お前みたいな煽るだけのカスが1番いらんわ。死ね

94名前は開発中のものです。2020/01/15(水) 00:36:16.49ID:Hfyr29Ot
>>93
ブーメランで自殺とは潔いな

95名前は開発中のものです。2020/01/15(水) 00:42:29.09ID:Hfyr29Ot
しかしまあLINQ連結したらパフォーマンス劣化するかなんてしQiitaで聞いても総ツッコミ食らうレベルの話でよくこんな粘着出来るもんだ

96名前は開発中のものです。2020/01/15(水) 01:26:12.77ID:CCdgG/pq
>>95
だからお前みたいなロクに読まないで絡んでくる阿呆が湧いてくるから相手にする羽目になってんだろ
マジで死ねよクズが

97名前は開発中のものです。2020/01/15(水) 07:32:55.16ID:Uen6hkVl
相手にしなければいいのに丸

98名前は開発中のものです。2020/01/15(水) 08:13:08.11ID:RfSstNcC
>>63
ありがとう。こういう動くサンプルコードを提示してもらえるのは実にありがたい。
自分はまだ、ゲームパッド向け(※バーチャル含め)のスクリプトしか書いてないけど、
タッチ操作で出来ることの一例を見せてもらえて非常に参考になった。

自分も何とか InputSystem をどうにか工夫して希望の処理を実装しようとしてたけど、
試行錯誤中に別の解決策が見つかってそちらを採用した。

結局、Bダッシュジャンプの実装を "ボタンを離したことを遅延させる" ではなく、"ボタンを離してもしばらく最高速を保つ" ことで実現でした。
問題点の分析の時点で見誤っていたんだ…

でも、サンキュー!

99名前は開発中のものです。2020/01/15(水) 08:30:52.78ID:RfSstNcC
初心者質問スレなのに、初心者に対して自分の知識をひけらかすだけの人もいる。
しかし、親身になって初心者の質問に答えてくれようとする人もいるのは確かだ。

ゴミを排除するのは不可能だが、一方、素晴らしい気づきを与えてくれる人がいるのなら、
多少のゴミは気にしなければいいかな。

100名前は開発中のものです。2020/01/15(水) 09:14:06.09ID:LniAutn1
華麗なるスルー一族になりましょう


lud20200115124028
このスレへの固定リンク: http://5chb.net/r/gamedev/1578720539/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「【ゲームエンジン】Unity初心者質問スレBuild3 ->画像>10枚 」を見た人も見ています:
【ゲームエンジン】Unity初心者質問スレBuild1
【ゲームエンジン】Unity初心者質問スレBuild2
BMS 初心者質問スレ 12th style [無断転載禁止]
初心者質問スレ その123
糖尿病初心者質問スレ73
メギド72 初心者質問スレ Part3
Blender 初心者質問スレッド Part33
バジリスク絆初心者質問スレpart13 [無断転載禁止]
バジリスク絆初心者質問スレpart23 [無断転載禁止]
アンジュ・ヴィエルジュ 初心者質問スレ Part3
【UE4】Unreal Engine 4 初心者質問スレッド part3
【投資一般板】 初心者質問スレッド Part33 [無断転載禁止]
初心者質問スレ その123 ※中国系店舗利用者出入禁止 [無断転載禁止]
【FEH】ファイアーエムブレム ヒーローズ 初心者質問スレ Part.13 [無断転載禁止]
初心者質問スレ137
初心者質問スレ 149
初心者質問スレ 151
初心者質問スレ 141
初心者質問スレ その113
Kotlin初心者質問スレ
糖尿病初心者質問スレ75
初心者質問スレ その111
初心者質問スレ その129
糖尿病初心者質問スレ71
糖尿病初心者質問スレ61
旧・mac板初心者質問スレ59
糖尿病初心者質問スレ67
糖尿病初心者質問スレ55
Unity初心者の俺が調べたことをメモするスレ
2D特化エンジン Defold [初心者からOK]
【ゲームエンジン】Unityなんでも質問スレpart3
【ゲームエンジン】Unityなんでも質問スレpart13
【3Dゲームエンジン】Unity質問スレッド4
【ゲームエンジン】Unityなんでも質問スレpart2
【ゲームエンジン】Unityなんでも質問スレpart6
【ゲームエンジン】Unityなんでも質問スレpart5
【ゲームエンジン】Unityなんでも質問スレpart1
【ゲームエンジン】Unityなんでも質問スレpart14
【ゲームエンジン】Unityなんでも質問スレpart16
【ゲームエンジン】Unityなんでも質問スレpart10
【3Dゲームエンジン】Unity質問スレッド40
【3Dゲームエンジン】Unity質問スレッド31
【3Dゲームエンジン】Unity質問スレッド39
【3Dゲームエンジン】Unity質問スレッド37
【3Dゲームエンジン】Unity質問スレッド36
初心者が3Dゲームを作るスレ
初心者が短編RPGの完成を目指すスレ
初心者がけもフレの二次創作ゲームを作る!
ゲーム制作初心者のおれに作り方を教えるスレ
高校生3人がc言語初心者からゲーム作る
【初心者】スレを立てる前にココで質問を【Part27】
プログラム初心者だけど頑張ってゲーム作るよ
【初心者】課題をクリアしていくスレ【講習会】
【入門書クリア前提】初心者用段階的ゲーム製作スレ
【初心者】ステフと一緒にゲーム制作 Part4【歓迎】
【初心者】ステフと一緒にゲーム製作part10【歓迎】
【初心者】ベッキーと一緒にゲーム制作スレ【歓迎】
初心者が牧場物語をまったり作る (387)
UnityでRPGを作ろう!
Unityで自作ゲーム作りたい
Unreal Engine vs Unity
Unityで2Dゲーム入門したいんだが
Unityで1人でネトゲを作ってみた。
05:14:23 up 96 days, 6:13, 0 users, load average: 7.23, 7.83, 8.37

in 0.0094048976898193 sec @0.0094048976898193@0b7 on 072218