[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
369: 名前は開発中のものです。 [sage] 2018/08/06(月) 07:24:48.60 ID:kCqrej/c(1) AAS
画像付きで解説優しい!
2018.2にアップデートしたらヘックスタイルマップが追加されました
物凄くタイミングが良かった
ありがとうございます!
370(1): 名前は開発中のものです。 [sage] 2018/08/06(月) 20:49:47.90 ID:elMC6huJ(1) AAS
>>359359(2): 312 [] 2018/08/05(日) 16:09:57.60 ID:CyFJgm7j(2/2) AAS
>>352
昔ながらのゲーム制作方法を交えてアドバイスして頂けること
非常にわかりやすく助かります。ありがたいです。
そのため、どうしてもこの機会にアドバイスを受けたいのですが
シンプルに説明しますと、私のやってきたことは
ゲームマネージャーを作り、そこですべてを把握させ、
各オブジェクトは属性を振り、配列に入れ、属性同士でコリジョン判定。
真になった場合に相手を見てそれぞれの処理をする
(厳密には、プレイヤーなどは専用にコリジョン判定を回したり)。
各マップチップとの判定も同じで、ブロックごとに属性を振り配列に入れ込んで判定します。
シーン遷移についてもシーンマネージャーを作り、マネージャーより命令がくれば指定のシーンに飛ぶ、それだけです。
サウンドもシーン遷移の要領でサウンドマネージャーを作り、命令がくれば切り替える感じです(SEは各オブジェクト内で鳴らします)。
もちろんこれらはご存知かと思いますが、ソースは多かれどこんなシンプルなものでしたので
今はUnityの方が面倒に感じて、参っております。
理解度が低いのはもちろん、ご指摘を受け、全部Unityのやり方でやろうとしていたせいだと思いますし、
確認してみたチュートリアルが昔ながらの作成方法では無い説明ばかりなのも弊害のひとつですし、
あとネットで探す場合3Dの方の情報とこんがらがっているのも弊害といえます。
私の様な時代錯誤なゲーム制作者が、初Unityで試しにFCマリオみたいな
2Dアクションゲーム(もちろん簡単なレベルに落とします)を制作してみるとして、
どこの処理を「Unity式のハイブリット型」を選ぶのがベターなんでしょうか。
古きも新しきも理解し、両方の比較ができるステップアップ先生
どうか教えて頂けませんでしょうか。
横からだが、俺自身も昔ながらのゲーム開発からUnity開発へ移行した口だけど、結局のところ昔ながらのことをしないとパフォーマンス稼げないことが多々出てくるから、どっちのやり方も知っていいとこ取りをするのがベストだと思っている
あとチュートリアルはお作法というより機能や出来ることの説明がメインだから、設計という意味ではあまり参考にならないかと
371: 名前は開発中のものです。 [] 2018/08/06(月) 23:48:58.31 ID:pjnXk9Sd(1) AAS
>>368368(1): THE・ステップアップ先生 [sage] 2018/08/06(月) 05:22:26.33 ID:rSQN2TxT(1) AAS
>>359
説明を見てる限りだと結構Unity式で出来てるように感じるよ?
"属性"の部分を"レイヤー機能"に置き換えれそうなくらいじゃないかな。
既にレイヤー機能を使っているようなら気にしないでくださいな。
自分もUnity式はまだまだ発展途上であり完璧に理解してるわけではありませんよ。
またそれが面白いのです。
FCマリオを作るとしたら自分は以下をUnity式でやると思います
・当たり判定全般はUnityのコライダーとレイヤー機能に任せる(プレイヤー⇔マップ、プレイヤー⇔アイテム、プレイヤー⇔敵、敵⇔敵、敵⇔マップ)
・Sceneファイル1つにつき1ステージとファイルを分けて、ステージ遷移はSceneファイルの変更で行いたい
・Unityエディッタ上で直接マップ構成や敵の配置をやってしまい、別途BGエディッター見たいなものを使用しない
・つまりmainループ式だと行う必要があった背景などの画面スクロール処理は一切不要。カメラ移動に任せる。
これ以外はmainループ式でやるかな?
当たり判定部分は物理エンジンを使うか否かで多少変わってくるかもです。
実際に作ってみるとこのように行かない場面も多々出てくるかもしれませんが。
うまくまとめればUnityエディッタ=ちょっと複雑なマリオメーカー的な気分で作れちゃうかもしれませんね。
ありがとうございます!
モチベーションが上がって来ました。
それを参考に私も頑張ってみます。
>>370
>機能や出来ることの説明がメインだから
そうなんですよ、Unityモデルでの昔ながらの作成方法な
設計の参考になるものが皆無なんで、困ってます。
372(1): 名前は開発中のものです。 [sage] 2018/08/07(火) 05:33:02.72 ID:qUQ4iHYs(1) AAS
シーンに空のオブジェクト置いてfixedupdateを
mainループとみなしてそこからすべて操作するだけ
373: 名前は開発中のものです。 [sage] 2018/08/07(火) 07:23:29.46 ID:7twjrWhc(1/2) AAS
unityでそのままの方法でできるんだから悩む必要ないぞ
スクリプトをプレイヤーにつけるか敵につけるか空のオブジェクトにつけるかの違いだから
チュートリアルみたいに分散させるとどこに書いたかわからなくなって混乱の元になるし
一箇所に集めて配列管理でいいんじゃね
374(2): 名前は開発中のものです。 [] 2018/08/07(火) 11:30:26.00 ID:fUL+ini3(1/2) AAS
エディタ拡張やってる人いますか?
inspectorに何かを表示したりそこにオブジェクトを生成するような簡単な処理はできるようになったんだけど、そこから先のやり方が全くわからない
例えば、既存のterrainの上部のボタンみたいなものを作って独自の機能を自作したりシーン上でクリック等の操作をできるようにしたりする方法教えてください
375: 名前は開発中のものです。 [sage] 2018/08/07(火) 15:03:44.07 ID:XJ39evIU(1/3) AAS
>>374
外部リンク[html]:anchan828.github.io
376(1): 名前は開発中のものです。 [sage] 2018/08/07(火) 15:17:47.36 ID:XJ39evIU(2/3) AAS
>>374
スマホだとわかりにくいけど、目次からweb版(無料)が見られるよ。探せなければpcで。それだけできてるなら6.10、17.2あたり見ればヒントになると思うよ。
377: 名前は開発中のものです。 [] 2018/08/07(火) 17:12:34.80 ID:fUL+ini3(2/2) AAS
>>376
ありがとう
ボタン設置やハンドルの表示は分かるんだけど、例えばシーン上のどこかをクリックしたらその座標にオブジェクトを生成するとして、それだけなら出来るんだけど他のオブジェクトをクリックしたときに、そのオブジェクトを選択したことになってしまうんです
terrainで編集中だとシーン上で他のオブジェクトをクリックしたとしても、そのオブジェクトが選択されたりしないよね?
まずは、シーン上でオブジェクトをクリックしても選択しないようにしたい
単純に「シーン上でオブジェクトを選択不可にする方法」ってのはぐぐったら出てきたんだけど、スクリプト込の記事がないんだよね
あとは、例えばterrainならterrainDataいじってterrainの新しい機能を作りたいと思ってるんですけどね
378(2): 名前は開発中のものです。 [sage] 2018/08/07(火) 19:10:53.89 ID:qu27Ep4Q(1/2) AAS
画像リンク
画像リンク
画像リンク
画像リンク
ど素人質問&画像直撮りですみません
マウスクリックでスプライトのアニメーションを変えるスクリプトらしいんですがイマイチよく分かりません
一番最初、「Animator」で記述すると「」がc#では使えないと出たり
その横のanimeDataが「フィールド'PlayerMove.animeData'は割り当てられません」と出ます
初歩的なことで申し訳ないのですが教えていただきたいです
379(1): 名前は開発中のものです。 [sage] 2018/08/07(火) 20:07:03.30 ID:iOrv/KJ+(1) AAS
>>378
解説本はその解説本が対応しているバージョンのUnityで行いましょう
380(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/08/07(火) 20:21:33.60 ID:3KKwqbLg(1) AAS
>>378
一番最初というと
[SerializeField]「Animator」 animeData;
という部分ですね
恐らくで申し訳ないがこれは
animeDataというAnimator型の変数を定義していると思うので
[SerializeField]
Animator animeData;
でいいかと思います
その次のfloat定義も
float minPoint = -2; てなってますし。
381(4): 名前は開発中のものです。 [] 2018/08/07(火) 20:32:48.91 ID:4Dd8RRWT(1) AAS
>>372
すみません、空オブジェクトのUpdateでは無く、
FixedUpdateである方が良い理由を教えてください。
382: 名前は開発中のものです。 [sage] 2018/08/07(火) 21:09:14.11 ID:qu27Ep4Q(2/2) AAS
>>379
>>380
回答ありがとうございます
参考にしつつ手順の漏れがないか最初からやり直してみます
383: 名前は開発中のものです。 [sage] 2018/08/07(火) 21:19:26.85 ID:7twjrWhc(2/2) AAS
[SerializeField]ってことはインスペクタでanimeDataを指定しないといけない
たぶんぴーたんをドラッグドロップするんだろう
384(2): 名前は開発中のものです。 [sage] 2018/08/07(火) 21:33:22.06 ID:iXlByqKN(1/2) AAS
>>381
フレームレート60に設定するとfixedupdateは秒間60回呼ばれる
updateは何回呼ばれるか決まってない
昔のゲームプログラムはフレームレート固定だったので
昔風に書くならfixedupdateがおすすめ
385: 名前は開発中のものです。 [sage] 2018/08/07(火) 21:55:56.43 ID:iXlByqKN(2/2) AAS
>>381
動画リンク[YouTube]
この動画を見るとfixedupdateがよくわかる
386: 名前は開発中のものです。 [sage] 2018/08/07(火) 21:57:34.60 ID:XJ39evIU(3/3) AAS
>>381
大体固定だからじゃない?でも多分両方必要だとおもうよ。
387(1): 名前は開発中のものです。 [sage] 2018/08/07(火) 23:36:06.98 ID:0e3nA05E(1/2) AAS
>>384
でも、描画フレームとは同期できないから使い勝手悪いぞ
素直にUpdate使う方が楽
388(1): 名前は開発中のものです。 [sage] 2018/08/07(火) 23:41:08.87 ID:0e3nA05E(2/2) AAS
>>384
もうひとつ付け加えると、FixedUpdateはスレッドで動いてるわけじゃないから、Update(描画フレーム)が処理落ちすると、1フレームに複数回呼ばれるし、その逆もまたしかりなので、結構めんどくさいよ
389(2): 名前は開発中のものです。 [sage] 2018/08/07(火) 23:56:38.80 ID:FHXvAGCS(1) AAS
>>381
Updateで昔ながらの60fpsをやるなら、まずコードのどこかでApplication.targetFrameRateに60を設定する
メニューからQuality SettingsのVSync CountをDon’t Syncにする
同じくメニューからTime ManagerのMaximum Allowed Timestepを1/60にする
これでほぼほぼUpdateが60fpsになるはず
390: 名前は開発中のものです。 [] 2018/08/08(水) 04:20:11.17 ID:ROW+RPaT(1/2) AAS
>>387 >>388
え、、、じゃあUpdateの方がいいんですかね
fixedupdateはPhysics(Physics2D)系以外を呼ぶなって書いてもありました。
>>389
じゃあUpdateの方がいいんですかね
どうすればいいのか頭が混乱してます。
とりあえず、作ってみないと、、
簡単なものから組み立ててみます。
391: 名前は開発中のものです。 [sage] 2018/08/08(水) 05:50:12.43 ID:NV2Fm/zi(1) AAS
unityでこれって正解はそうそうないからな
みんな自分がうまく行く方法を教えるから意見がぶつかり合う
んで一番割りを食うのはそれを見て学ぶ初心者ってことだなw
392(1): 名前は開発中のものです。 [sage] 2018/08/08(水) 06:49:31.17 ID:tYWBz4xV(1/2) AAS
専門学校でゲームプログラムやってて、卒業後から最近まで業務システムやってたって人がいるんだけど、昔ゲームプログラムやった人はUnityは結構混乱するらしいな。
そのおっさんはゲームと思わない事がコツとか言ってる。
Unityでやるなら昔の事は忘れた方がいいみたいな気がするわ。
393(1): 名前は開発中のものです。 [sage] 2018/08/08(水) 07:13:12.39 ID:Fn8D11Bz(1/2) AAS
Unityがデフォで提供する可変フレームレートの仕組みのところで、そんなにやり方が分散するとは思えんな
外部リンク[html]:docs.unity3d.com
↑ここの下の方の流れ図を見てみ
FixUpdateはUpdateよりも実行される頻度が多い(FixUpdateの所で矢印がぐるぐる回っている)
Updateは描画(Rendering)前に呼ばれる
Updateには描画時のみに必要な処理を書く。つまり、描画コマ落ち時には呼ばなくても良い処理を書く。例えば条件に応じて色合いを変えたりとか。
Updateが固定フレームで呼ばれるようにするのは愚の骨頂だぜ
公式が何のためにわざわざUpdateを分離してくれたと思ってるんだw
>>392
上のWebページの図の流れは、FixedUpdateがフレーム当たり何回も呼ばれる所以外、昔からのゲームの流れそのものなんだが
上下前次1-新書関写板覧索設栞歴
あと 609 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s