【ゲームエンジン】Unity初心者質問スレBuild3

■ このスレッドは過去ログ倉庫に格納されています
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
https://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
2020/01/13(月) 16:36:47.43ID:auL79zSW
(どう見ても移動と回転の補間としてMoveTowardsまで書いてるのにLookAtって言っちゃう人って…)

って、ごめんマジで教えて
LookAtで座標移動できたっけ?
なんでこの流れでLookAtが出て来るのか分からんぞ
2020/01/13(月) 16:37:27.12ID:QiViT9Gr
そもそもの質問がターゲットを追うじゃなくて、
"プレイヤーを東西南北の方向に滑らかに正対させる"
だよ。

で、>>21 の方法で求める処理が実装出来た、サンキュー!
2020/01/13(月) 17:04:23.60ID:QiViT9Gr
>>26
は質問の意味が理解できなかったんだね。スマンスマン。
"プレイヤーを東西南北の方向に滑らかに正対させる"
なので、Lerp が正解だ、RotateTowards では希望の動作にならない。

しかし皆ありがとう。理解するのにとても助けになった。
2020/01/13(月) 17:31:10.04ID:6zyx93de
(あ、これ一人で質問して一人で回答してる系の痛い奴だ……前も見たことある)
35名前は開発中のものです。
垢版 |
2020/01/13(月) 17:40:43.99ID:Rcgjsxsv
ほんと、答え書けないのにそう言うこと書くとか、何かの病気なんだろうね
可哀想に
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が言い出すのは素人感出し過ぎだぜ
まあ初心者が答えるスレっぽくて俺は嫌いじゃないが
2020/01/13(月) 18:42:06.51ID:QiViT9Gr
>>36
ん? それでは動かないぞ。今試した。

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

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

まあ、間違って動かないコードもそれなりに参考になるからサンキュー!
38名前は開発中のものです。
垢版 |
2020/01/13(月) 18:50:34.00ID:Rcgjsxsv
ドヤ顔でレスかぁ
前スレからの糖衣構文君思い出したわ
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理解君?
2020/01/13(月) 20:01:23.35ID:6zyx93de
Lerp勘違い理解君か
初心者スレが魔境過ぎて中級者の俺には付いてけない
2020/01/13(月) 20:15:44.52ID:QiViT9Gr
質問スレなんで、質問に対する解決策の提案が出来なければ、誰にも感謝されないよ。
仮に、提案が間違っていても問題ない。一緒に考えてくれることがとてもありがたい。

教えてくれて本当にありがとう。
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
だから糖衣構文君は雑談スレで勘違いして暴れていいよ
ほんと動かないコード書いて恥ずかしくないのかね
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
さーせん自分インプットシステムようわからんので
ここは自称中級者君と糖衣構文君が動くコード書いて説明してれることを祈る
2020/01/13(月) 22:06:33.65ID:QiViT9Gr
>>47
いえいえ、いつもありがとう。

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

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

なら、UnityEngine.InputSystem.Controls.ButtonControl を継承した自作クラスを作るとか?
そんな入力イベントをバッファ出来る自作ボタンコントロールクラスとか出来るのかな?
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フレ程度バッファする処理を書けば…
って、どう書くんだろう?
2020/01/13(月) 22:40:12.07ID:yBWGUThF
そんな処理より、操作変えた方がいいよ。
ボタン二つを管理するのかな?と思ったけどそうじゃなくて遅延させるのはちょっと…
どうしてもやりたいなら、タッチマネージャーを頭から作るのが必要かと。
2020/01/13(月) 22:42:52.88ID:6zyx93de
ここまでの内容をまとめると
怒涛の連レスするID:RcgjsxsvはID:QiViT9Grと同一人物で
前スレで何か悔しいことがあってたまらないから自分で質問して自分で解答して
感謝されてる素晴らしい僕を見せつけたいとそんな感じか
どれだけ承認欲求拗らせるとこうなるんだろう
2020/01/13(月) 23:13:16.61ID:QiViT9Gr
>>50
アドバイスありがとう。
タッチマネージャーを自作が良さげでいいのかな。

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

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

上に書いたように拡張メソッド自体は動くので、何とかバッファ処理出来ないかなと…
スマホ画面でBダッシュジャンプを実装したいなあ…
2020/01/13(月) 23:43:09.48ID:yBWGUThF
指がaボタンの位置にきたらジャンプでいいのでは?
@b押しっぱなしからスライドa領域
Aa領域タッチ
2020/01/13(月) 23:54:48.93ID:wx103lZP
>>52
実装はとてつもなく簡単だがお前には絶対に理解出来ないから諦めろ
生成したInputActionに登録するコールバックでフラグ立ててコンテキスト見ながらUpdate内でポーリングとか言われても分かんないだろ?
これが超基本的なInputSystemの使い方なのに生の値取って処理しようとしてるレガシーなお前にはまず不可能なんだよ
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挟んだ時の動作イメージ書けよ。逃げてんじゃねーぞ
2020/01/14(火) 07:50:43.51ID:Sje8YI9U
>>53
なるほど、でも "ボタン" で実装するのが要件なんだ。

>>54, 55
とりあえず、ありがとう。調べてみるわ。
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よく知ってるって勘違いしまくってるんだけどよくアレで他からツッコミ入らないのか不思議でならないんだが
2020/01/14(火) 11:03:25.28ID:Sje8YI9U
Bダッシュジャンプの挙動は UniRX の Observable で実装出来た。

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

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

でも出来たんでサンキュー!
2020/01/14(火) 11:42:59.26ID:Sje8YI9U
というか、Unity初心者の自分が言うのもなんだが UniRx 便利だわ。

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

まあ、Unity でも LINQ で処理する必要性があったら使おうと思うけどね。
それとも、Unity では UniRx はOKで、LINQ はダメなの? どして?
2020/01/14(火) 12:56:12.43ID:GDy6IxVO
>>59がLINQに詳しいみたいだから聞いてみたらどうだろう
IEnumとか想像上のIF?持ち出してるあたりあんまり分かってないみたいだけど
2020/01/14(火) 13:02:53.66ID:FSjVa/a9
>>60 おはようございます出来たそうでよかったです、もう必要ないかもしれないけど
ちょっと自分も>>46の要件をやってみました頭の体操になりましたので参考までに
よければ、こんな画面でuiのbuttonコンポーネントに画像付けてみまして
https://i.gyazo.com/832eccb23ff5882fd4bb0330ef2b5a81.png
Aボタンの遅延を実装してみました
https://i.gyazo.com/004bb73967d71daa88863b17b949e305.png
プログラムではボタンを離してから2秒後まで押下中と判断しています
単純に押下の判定を2つ、ボタン押しているか?フラグが立っているかです
で離した後Invokeでフラグを解除しています
RaycastAllとか勉強になりましたよ
64名前は開発中のものです。
垢版 |
2020/01/14(火) 13:04:43.50ID:A84mTdZ6
>>62
めんどくさいから省略してるぐらいわかんだろほんとアホなの?
2020/01/14(火) 13:04:50.47ID:d/PuqDsL
>>59
ふーん
で、ソースは?
まさか脳内ソースとか言わないよな
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の方
2020/01/14(火) 14:03:25.38ID:d/PuqDsL
うーん、ここまでソース無し
やっぱり>>58で言ったように煽って解答訊き出したい教えて君か
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アホか
2020/01/14(火) 14:21:57.86ID:d/PuqDsL
>>71-72
お、自己解決したの?
良かったじゃん
これも全部俺が発破掛けてやったおかげだな
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はひとつだから劣化はありえないとか言ってるのがいや色々間違ってるだろって言いたいだけだよ
2020/01/14(火) 15:49:25.00ID:GDy6IxVO
なんだ、コンパイラのことも分かってない初心者か
2020/01/14(火) 16:43:42.20ID:1kzoRmok
コンパイラーV!
78名前は開発中のものです。
垢版 |
2020/01/14(火) 18:05:03.70ID:FSjVa/a9
ほらあふぉばかりだろだから次スレ要らなかったんだよ
2020/01/14(火) 19:07:42.80ID:ZrDQOmlZ
unity 2019.2のプロジェクトにUnity Recorderのアセットインストールしたらプロジェクトが破損した
バックアップ取ってたから良かったけど
こういう事あるんだな…

あとで2019からUnity Recorderはpackagemanegerでインストールするんだと知った
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 カードゲームで検索するといっぱいでてくるけど本じゃなきゃダメなの?
本は情報遅くなるよ
2020/01/14(火) 21:55:54.96ID:vQBXke66
>>81
なんか君さ、自分自身で「確かめてないし知らないけど」って言いながら「でもそいつの言ってることは間違ってる」って矛盾した発言してるの気付いてる?
2020/01/14(火) 21:59:40.00ID:IMO1kGnb
矛盾はしてないのでは?
自分で調べない、人の言う事は否定、つまり絶対認めない君w
2020/01/14(火) 22:40:07.90ID:vQBXke66
支離滅裂なレスからエスパーしてみると
『Linqのクエリは連結するほどパフォーマンス落ちるから一つに全部書くべきですか?』ってことが知りたいの?
だったら処理次第だからベタなループと比べて明確に時間掛かるなら書き方が間違ってると思う
要は関数の細分化でパフォーマンスは落ちるのかと同義だからそれでググれば答えは出て来るよ
2020/01/14(火) 23:03:31.16ID:TgWjNKx2
面接官「見たところMainに全て書かれているようですが何故ですか?」

アホ「は?関数呼び出したらオーバーヘッドで速度落ちんだろボケ」
87名前は開発中のものです。
垢版 |
2020/01/14(火) 23:06:26.74ID:s+JbO9cF
>>83
あのなぁ、そいつはそんなコンパイラの最適化の話なんかしてねえよ
Aのこと知らなくても別のBの正負が判断できるかは別だよ

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

それとは別にIEnumerable の連鎖をコンパイラの最適化で全部排除するような話があるならそれはぜひ教えてくれって頼むわ
2020/01/14(火) 23:14:15.10ID:IMO1kGnb
頭髪〜数えたら〜片手でさえ余る〜♪
抜けた毛、数えたら〜、両手でも足りない〜♪
2020/01/14(火) 23:28:54.15ID:vQBXke66
>>87
array.Where(num => ...)
こういうLinqに渡すラムダ式が実行毎にインスタンス化される勘違いしてるなら
適切に書いてあればコンパイラが静的参照に置き換えるからパフォーマンスを考える必要はないよ
IEnumerableの連鎖とかいうのは>>85の通り、パフォーマンス落ちるなら書き方が悪い

まだ他にも訊きたいことある?
2020/01/14(火) 23:45:25.66ID:TgWjNKx2
ツッコミ入れても答えないって、それ呆れられて去ったんだろ
ずっと喧嘩腰でぐちぐち言ってるだけだし
車のバッテリー女のコピペ思い出したわ
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番いらんわ。死ね
2020/01/15(水) 00:36:16.49ID:Hfyr29Ot
>>93
ブーメランで自殺とは潔いな
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
相手にしなければいいのに丸
2020/01/15(水) 08:13:08.11ID:RfSstNcC
>>63
ありがとう。こういう動くサンプルコードを提示してもらえるのは実にありがたい。
自分はまだ、ゲームパッド向け(※バーチャル含め)のスクリプトしか書いてないけど、
タッチ操作で出来ることの一例を見せてもらえて非常に参考になった。

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

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

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

ゴミを排除するのは不可能だが、一方、素晴らしい気づきを与えてくれる人がいるのなら、
多少のゴミは気にしなければいいかな。
2020/01/15(水) 09:14:06.09ID:LniAutn1
華麗なるスルー一族になりましょう
101名前は開発中のものです。
垢版 |
2020/01/15(水) 14:03:59.12ID:XUqPC4bK
掲示板とunity両方初心者なんですが質問良いですか?
今ブロック崩しを作っているのですが、ブロックを全て破壊した後のクリア画面(scene)
を表示する為のプログラミングをどう書けばいいのかわかりません。どなたか教えてくださいませんか?

ps.広告エロくないですか?
2020/01/15(水) 15:09:15.99ID:I4gL1Hl0
そんなん公式チュートリアルにある筈やで
103名前は開発中のものです。
垢版 |
2020/01/15(水) 15:18:30.27ID:XUqPC4bK
公式チュートリアルをどうやって見れば良いか分からないです(;;)
2020/01/15(水) 15:45:12.12ID:cpUcVrMP
すべて破壊した事が判定できてるなら
if(clear == true)
SceneaManager.LoadScene("シーンの名前");
で良いんじゃないですか?

シーン移動しなくてもパネルかイメージを前面に表示しても良いのでは?

自分も初心者なので的外れだったらごめんなさい。
2020/01/15(水) 15:52:41.58ID:LniAutn1
問題を切り分け。
なにはなくても早く完成させたいなら、一つのシーンで終わるようにする。
シーン遷移を知りたいなら、上で出してもらってる例をとっかかりにググるべし。
2020/01/15(水) 15:54:59.21ID:ur6JW6yw
>ps.広告エロくないですか?

これって確か自分の閲覧履歴から広告出てるんじゃないかな
107名前は開発中のものです。
垢版 |
2020/01/15(水) 15:59:14.78ID:XUqPC4bK
>>104
こんな低レベルの質問に答えて頂きありがとうございます!
>>106
知らねぇなぁ
2020/01/15(水) 18:17:40.41ID:W13rfCYM
質問させて下さい。

表示エリア内の3行にDebug.Logの様にどんどんテキストを新しく追加して表示するにはどの様な方法がありますか?

例えば
プレイヤーAのこうげき!
プレイヤーBのこうげき!
プレイヤーCのこうげき!

新しく文字を追加すると上にずれる
プレイヤーBのこうげき!
プレイヤーCのこうげき!
プレイヤーDのこうげき!

この時消えた1行目のログは破棄でもスクロールでみれる描画外に消える状態でもとりあえずどっちでもいいです。(両方知れるとありがたいですが)

自分の知識ではテキストオブジェクトを3つ作成して配列に追加、
text[0]= text[1].......というように順番にずらすしか思い浮かびません。

そもそもテキストオブジェクトを3つ並べるという時点でひっかかっています。
テキストオブジェクト1つで3行を指定して〜という事も出来ますよね?きっと・・・。

調べるキーワードだけでも頂ければありがたいです。
自分ではテキストの入力フィールドの話やノベルゲームの会話の様なクリックしたら次のページに・・・といった情報しか見つけられませんでした。

よろしくお願いいたします。
109名前は開発中のものです。
垢版 |
2020/01/15(水) 18:50:46.78ID:Uen6hkVl
>>108
3つ並べる時点で引っ掛かるとは?
表示と内部保持は別だから表示する領域は3つ必要だとおもうけど
1つでやるならメッセージに改行入れればいいかな?
現時点でどこまで出来てるのかな?
2020/01/15(水) 19:36:28.53ID:W13rfCYM
>>109
3行の事で自分でも何してるかよくわからないほど長い+仕様変更しにくい(例えばログを見れるようにはできない)コードになってしまったのでこういう時の定石やユニティの機能があるかと思い質問しました。

方向性は間違ってないという事ならば同じ処理をforに直したり可読性がアップするようにやってみます!

これを書いてる間に配列をリストにしたら過去のログが残るんじゃないか?と思いついたので試してみます!
2020/01/15(水) 20:59:10.99ID:Uen6hkVl
>>110
一応簡単なサンプル
https://i.gyazo.com/d17077e557f5ceeef34bcb9d912d703d.png
わかるかな、ボタン押すとテキストに時間を表示するんだけど
(Time.timeなので何時何分じゃない)
スクリプトを空のGameObjectに付けて、ボタンのOnClickを割り付ければ動きます
2020/01/16(木) 05:40:01.72ID:7tyD46Nv
公式チュートリアルを見ろと言っても最新版対応してないし公式からリンク貼られてないしな
113名前は開発中のものです。
垢版 |
2020/01/16(木) 09:57:14.19ID:BjOYmzpz
ゾンバニのコースはやったけどチュートはろくに見てないな
2020/01/16(木) 11:04:23.90ID:ROtYDo05
>>110
最初はみんな試行錯誤して長いコードを短くしていくんだよ

次のチュートリアル、Boltのなんだけど
https://doc.photonengine.com/ja-jp/bolt/current/demos-and-tutorials/bolt-basics/bolt-104-events

ここのOnGUI部分がログ表示しているから参考にでもなれば
2020/01/16(木) 13:26:46.48ID:KnIqTgOi
アプリ作って公開したけどインストール数0で萎えた
2020/01/16(木) 14:20:57.99ID:4CEOlc+6
ビビッドアーミーくらい広告うつんだよお
2020/01/16(木) 15:12:44.30ID:6AR8nXfd
>>108
ざっとこんなんで動かん?

// 1行ごとに格納
List<string> str = new List<string>();
/* 分割して代入するところは省略 */
// 表示するテキストを用意
for(int i = 0; i < (str.Count - 3); i++;)
{
var dispString =
str[i+0] + "\n" +
str[i+1] + "\n" +
str[i+2];
(表示するTMP).text=dispString;
// 入力待ち受け
while(true)
{
if(Input.GetAnyKeyDown){break;}
yield return null;
}
}
2020/01/16(木) 15:50:32.52ID:KnIqTgOi
>>116
絶対赤字だよお
119名前は開発中のものです。
垢版 |
2020/01/16(木) 16:40:41.74ID:JHlZDhFA
>>117
それ試したのかな?
メッセージ3つ以上になったときダメな感じするけど
120名前は開発中のものです。
垢版 |
2020/01/16(木) 16:43:41.04ID:JHlZDhFA
と言うかそもそもメッセージ1つだとfor 文回らんのじゃないか?
そちらの環境だと動くの?
2020/01/16(木) 19:25:05.99ID:IlvXKjzu
a = 120640 / 23270
が何回やっても5になるのですが理由わかる方いらっしゃいますか?
5.184....になるはずなのですが。

aはint float doubleに変えて試しました。
2020/01/16(木) 20:27:07.72ID:IlvXKjzu
(double)を数字の前に付ける事により解決しました、すみません。
2020/01/16(木) 20:32:59.73ID:ROtYDo05
>>121
https://i.gyazo.com/b0a4f570a9d3c3fcc7cb740cfa8c58cf.png
124名前は開発中のものです。
垢版 |
2020/01/16(木) 20:38:02.01ID:0GLcsHOa
>>121
aがなんの型になってるとか確認する癖つけた方がいいぞ
float aとかにしてたらどのみち同じようになんで?ってなってそうだけど
125名前は開発中のものです。
垢版 |
2020/01/16(木) 20:49:07.04ID:JHlZDhFA
>>124
aもそうだけど数字をどう扱うか
10はint だが
10fはfloat
int 同士の計算は当然int になる
2020/01/16(木) 21:20:23.75ID:IlvXKjzu
https://blog.jnito.com/entry/20110910/1315605311

ここを見て解決した気になってましたが、float型やdouble型にint同士の計算を入れているからダメだったんですね。

計算した結果が少数ならfloatかdoubleにいれれば良いと思っていました。

勉強になりました、ありがとうございます。
2020/01/16(木) 21:21:35.57ID:71qtQAGF
>>125
なるほど。
普通は上記使い方しないからなかなか分からんかったw
2020/01/16(木) 22:22:42.98ID:3nBiw/QG
まだunityを触っていないまま質問です

32×32サイズでクォータービューの2Dドット絵のマップチップをAsepritで作っているのですが
チップ同士を隣接させたところ、隙間ができてしまい、グリッドがずれてることに気付きました

例ですが、このグリッドベースでオブジェクトを打てば隙間も無くピッタリなのですが
https://i.imgur.com/ikpyFCU.png

自分が打っていたグリッドベースを数えたらこのような隙間が空いていました
https://i.imgur.com/HVGNEeR.png

32×32の場合、必ず前途したベースでないとだめなのでしょうか?
unity側でグリッドの補正等出来ますか?
2020/01/17(金) 00:07:10.08ID:DQl2Cdvo
>>127
C#に限らず、大体どの言語もそんなだから覚えておくと吉
2020/01/17(金) 00:19:36.74ID:y9XjThLN
>>129
うん、ありがとう。
131名前は開発中のものです。
垢版 |
2020/01/17(金) 07:49:58.48ID:YRNiJPaW
>>128
どんなサイズでもきっちり隙間無く書かないと並べたときに綺麗に並ばない

もし、隙間あけるなら必ず同じように空けないとダメ
一応unity 側で調整出来るけどきっちり作るのがベター
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。