[過去ログ]
【ゲームエンジン】Unityなんでも質問スレpart12 (1002レス)
【ゲームエンジン】Unityなんでも質問スレpart12 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
252: 名前は開発中のものです。 [] 2023/11/26(日) 13:33:35.58 ID:ap8K17/p 2022/8/15 サイバーエージェントのパフォーマンスチューニングバイブル https://github.com/CyberAgentGameEntertainment/UnityPerformanceTuningBible 9.3 コンポーネントの取得 同じ GameObject にアタッチされている他のコンポーネントを取得する GetComponent() も注意が必要な 1 つです。 前節の tag プロパティや name プロパティ同様にネイティブコードで実装された処理を呼び出していることもそうですが、指定した型のコンポーネントを「検索する」コストがかかる
ことにも気をつけなければなりません。 下記サンプルコードでは毎フレーム Rigidbody コンポーネントを検索するコストがかかることになります。頻繁にアクセスする場合は、あらかじめキャッシュしたものを使い回すようにしましょう。 毎フレーム GetComponent() するコード void Update() { Rigidbody rb = GetComponent<Rigidbody>(); rb.AddForce(Vector3.up * 10f); } http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/252
253: 名前は開発中のものです。 [] 2023/11/26(日) 13:35:36.82 ID:ap8K17/p ついでに2022.3.10f1で検証してきた https://i.imgur.com/itDtIfy.png この差を気にするか気にしないかはきのこたけのこ張りの宗教戦争なので、きのこが好きかたけのこが好きかによって意見が真っ二つやね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/253
254: 名前は開発中のものです。 [sage] 2023/11/26(日) 13:49:05.74 ID:sKe5WX7u まぁ初心者のときにやることとして アップデートでprintするとメチャログ埋まるやん それを見て、あっやべーアップデートでそういう事しちゃあかんなと思えればいいんでねーかな printですらこんなに沢山なんだから他の処理やったら大変だ!と思えればキャッシュしてやろーって思わないなら向いてね~ってことで(笑) http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/254
255: 名前は開発中のものです。 [] 2023/11/26(日) 14:08:31.06 ID:kOB5vzh5 俺がGetComponetするのはStartかAwakeの中 それと何かと衝突した時とかの特定のイベント時くらいかな Updateの中で常時使わないね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/255
256: 名前は開発中のものです。 [] 2023/11/26(日) 14:13:45.97 ID:J5rQpI/4 神々が言い争ってるみたいですが、 結局、私はupdate()内でGetComponent() を記載しまくっても さほど問題にはならないということでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/256
257: 名前は開発中のものです。 [sage] 2023/11/26(日) 14:17:57.98 ID:RHrCXnE8 例えどんなにマシンのスペックが上がったとしても 要求される表現のハードルが上がるだけなので宗教もクソもない 無駄な負荷のかからない「当たり前」のコードを書く習慣をつけておけばいいだけ PS5やPCゲーム主流の現在でも、何故パフォーマンスチューニングなるものが必要なのか考えればわかる話 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/257
258: 名前は開発中のものです。 [] 2023/11/26(日) 14:21:07.35 ID:ap8K17/p その当たり前の物差しが万人共通であればの話ね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/258
259: 名前は開発中のものです。 [sage] 2023/11/26(日) 14:24:26.35 ID:aCF9jYUz GCのスパイクは塵積だし、いざ原因を探そうって時に心当たりが山盛りあったら手に負えなくね? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/259
260: 名前は開発中のものです。 [] 2023/11/26(日) 14:29:32.88 ID:J5rQpI/4 現状、 <GameManager.cs> void Update() { for (int i = 0; i < Array01.Length; i++) { if(i == 10){ this.objects[0].GetComponent<Hogehoge>().変数B = this.objects[I].GetComponent<Hogehoge>().変数A; }else{ this.objects[i+1].GetComponent<Hogehoge>().変数B = this.objects[I].GetComponent<Hogehoge>().変数A; } } で正しく動いてくれました。 で、>>243さんのご指摘にある「GetComponentをuploa
d()に書くのは好ましくない」というご意見から 今、>>243さんの記述してくれたコードを理解して それを実装して、これと同じことを再現しようとしています。 ただ、this.objects[添字].GetComponent<Hogehoge>().変数名;という1文だけで 済んでいる現状で問題ないなら分かりやすいこの記述方法で行きたいなあというのが正直なところです。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/260
261: 名前は開発中のものです。 [sage] 2023/11/26(日) 14:33:47.06 ID:RHrCXnE8 少なくとも関数コールの結果をキャッシュして無駄な計算を減らすと良いのは プログラミングとして当たり前の概念 たとえばsin,cosなどの関数は引数に対して結果が同じだから、 キャッシュしておくと高速化できる 可読性を落としてまでGetComponentケチれとは言わないが Updateで毎回コールするくらいなら変数にキャッシュすれば済むので手間じゃないだろう あと、 GetComponent<Hoge>.Fuga(); GetComponent<Hoge>.Piyo(); みたいに続けざまに書くのも
ヤメレw http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/261
262: 名前は開発中のものです。 [] 2023/11/26(日) 14:38:54.57 ID:ap8K17/p まあ今はUnity勉強中で動けばなんでもOKだろうから毎フレームGetComponentでも別に問題ないよ ただ259みたいな宗派もいることは頭の片隅に置いといてね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/262
263: 名前は開発中のものです。 [sage] 2023/11/26(日) 14:43:48.07 ID:RHrCXnE8 UpdateでGetComponentはまだわかるがUpdateでGCは流石にないw 過去にこう言うコード書く奴が居て >>259 のような悪夢が襲って大変な目に遭ったことがあったんよ プレイしてると何故か引っかかった動きをするんだもん Incremental GCもフレーム分散するだけだからUpdateでGCには効果なし http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/263
264: 名前は開発中のものです。 [] 2023/11/26(日) 14:48:03.88 ID:J5rQpI/4 >動けばなんでもOKだろうから いや、そこまで妥協したいというわけでも無いです。。。 その、>>243にあるコードって、 現在自分が書いてる<gamemanager.cs> public GameObject[] Array01; void Start(){ Array01 = new GameObject[10]; GameObject obj = (GameObject)Resources.Load("プレハブ名"); for (int i = 0; i < Array01.Length; i++) {Array0[i] = Instantiate(obj, new Vector2(i,0.0f), Quaternion.identity);} } で、いうと、 GameOb
ject型の配列じゃなく、prefabのクラス型で配列を宣言して、 あとは同じことをしてその配列に突っ込みなさいって感じですか? で、prefabのクラス型で配列で作ったら、いちいちGetComponentしなくてもいいよって 理解で正しいですか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/264
265: 名前は開発中のものです。 [sage] 2023/11/26(日) 14:57:45.07 ID:o5cSag8H いつになくスレがまともだ。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/265
266: 名前は開発中のものです。 [] 2023/11/26(日) 14:58:57.43 ID:ap8K17/p >>264 それで大丈夫 ちなみに今ここには《動けばいい派 >>245》《コードに無駄が無ければいい派 >>261》《可読性を落としてでも速度を最重視したい派 ワイ》がおるでな Unityへの理解が深まれば宗派も二転三転すると思うけど頑張って http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/266
267: 名前は開発中のものです。 [sage] 2023/11/26(日) 15:05:48.10 ID:uqB1fo0P GetComponentをUpdateの中で呼ぶにしても先にnullチェックするだけで効率化されるのにUpdate毎にGetComponent呼ぶのは流石にアホのすること http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/267
268: 名前は開発中のものです。 [sage] 2023/11/26(日) 15:10:57.38 ID:RHrCXnE8 そんな時はTryGetComponentを使うのがおすすめ nullチェック相当も全部これで間に合う http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/268
269: 名前は開発中のものです。 [sage] 2023/11/26(日) 15:15:03.57 ID:RHrCXnE8 ああ間違ったキャッシュ変数のnullチェックのことね それならどっち道必要だわごめん http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/269
270: 名前は開発中のものです。 [] 2023/11/26(日) 15:25:20.80 ID:ap8K17/p Unity2019辺りで GameObject obj = Instantiate(prefab); DestroyImmediate(obj); Debug.Log(obj?.name); みたいなコード書いたらヌルポだったんだけど、Unity2022辺りは改善されたのかな こういう細かい仕様って今日みたいな機会でもないとわざわざ調べる気にならんのよね・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/270
271: 名前は開発中のものです。 [] 2023/11/26(日) 15:33:06.23 ID:J5rQpI/4 >>266 ありがとうございます。がんばります!! 絶対Unityから逃げません! 今作ってる処女作が完成したら、ここで皆さんに配布させてください! 絶対「面白い」って言わせてみせます! (それまでに何度かまた障害にぶつかると思うんでまた相談させてください) http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/271
272: 名前は開発中のものです。 [sage] 2023/11/26(日) 16:00:34.31 ID:sKe5WX7u 宗派かぁ 癌になるから肉食わない ビーガンなので肉食わない ビールも酒も飲む 宗教で禁止されてるから飲まない どれもすんげー長生きするとかしてないじゃん、これで二百年生きますならそれすればいいけど、二百年生きてヨボヨボじゃね パソコンもソフトも変わらんよ OSはますます肥大化してるんだし いくらアプリの細かいところをやったところでね 処女作ならサクッと完成品作って動く喜び味わうのがいいよ 動かしてみて引っかかるとかの現象が起きればそれは改
良するチャンス 次に活かせばいいだけや まずは完成品やで http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/272
273: 名前は開発中のものです。 [] 2023/11/26(日) 17:30:21.75 ID:J5rQpI/4 すみません、 >>243さんのコード試してみてるのですが GameObject obj = Instantiate(prefab); // プレハブから複製オブジェクトを生成・配置する で、 「インスタンス化したいオブジェクトが null です」とエラーが出ます。 自分もコードみてて気になってたんですが、 自分が書いてたコードの時でいうところの GameObject obj = (GameObject)Resources.Load("プレハブの名前");みたいに どこかでプレハブ化しているオブジェクトの名前を記述しなければな
らない気がするんですが 違いますか? 例えば、 public GameObject prefab; void Start() { GameObject obj = Instantiate(prefab); } これでは、prefabにはなにも入っていません。 記述漏れかな?とか。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/273
274: 名前は開発中のものです。 [sage] 2023/11/26(日) 17:37:44.06 ID:sKe5WX7u パブリックなんだからインスペクタで指定してるんでしょきっと http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/274
275: 名前は開発中のものです。 [] 2023/11/26(日) 17:49:39.47 ID:ap8K17/p >>273 MonoBehaviourを継承したスクリプトがアタッチされたオブジェクトが予めシーンのどこかに配置されてる前提になるけど、このオブジェクトを選択するとInspectorにpublicの変数が表示されてそこにオブジェクトを指定したりできるようになる 243はその前提のコードになってる http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/275
276: 名前は開発中のものです。 [] 2023/11/26(日) 17:56:54.74 ID:wJ4Ewbd+ (0,0,0)にあるオブジェクトの情報を取得する方法が知りたいんですが、 レイを飛ばすのとコライダーを使う以外に手っ取り早い方法ってないのでしょうか? オブジェクトを(0,0,0)ちょうどに置くので余計なことをしないでgameobject関数に入れたいのですが… http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/276
277: 名前は開発中のものです。 [] 2023/11/26(日) 18:17:53.87 ID:J5rQpI/4 >>275 ほんとだ、ゲームマネージャーのスクリプトのインスペクタに prefabの枠ができてました! 初歩的なことかもしれませんが プレハブ化したオブジェクトをその枠にドラッグしようとしたら プレハブクリックしたらプレハブのインスペクタに切り替わっちゃうんですが これ、どうすればいいんですか?^^; http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/277
278: 名前は開発中のものです。 [] 2023/11/26(日) 18:19:48.20 ID:J5rQpI/4 あー、すみません。 ドラッグじゃなくて、枠のほうで選べるんですね すみません。解決しました。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/278
279: 名前は開発中のものです。 [] 2023/11/26(日) 18:21:25.49 ID:nqSny9Yy みんなはどんなPCでゲーム制作してるの? MacBookかWindowsPCかで悩むわ どっちにしてもデスクトップは置き場ないから ノートPCになる http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/279
280: 名前は開発中のものです。 [sage] 2023/11/26(日) 18:21:35.61 ID:sKe5WX7u >>276 シーンにあるobjectを一覧にしてそのトランスフォームが原点か否か見ればよくね? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/280
281: 名前は開発中のものです。 [] 2023/11/26(日) 18:32:14.78 ID:J5rQpI/4 うおおおおおおおおおおおおお!!! すごいっす!!!! >>243さん、すごいっす!!! update()内にGetComponent無しで 完全に一緒の状況になりました!!! これで前より軽くなってるってことですよね! すごいっす!感動です! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/281
282: ドーンおじ [sage] 2023/11/26(日) 18:42:25.15 ID:vo5TLBjQ ID:J5rQpI/4のおかげでこのスレのレベルが格段に上がった!褒めて使わす!m9⎛´・ω・`⎞ドーン! ID:sKe5WX7uのせいで低クオリティになってる!消えろ!死ね!m9⎛´・ω・`⎞;y=ー(゚д゚)・・∵. ドーン! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/282
283: 名前は開発中のものです。 [] 2023/11/26(日) 18:52:37.05 ID:kOB5vzh5 >>279 ノートpc は向いてない デスクトップで4Kテレビにつなげて製作してる http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/283
284: 名前は開発中のものです。 [] 2023/11/26(日) 19:21:28.97 ID:wJ4Ewbd+ >>280 すいません、スクリプトで取得したいんです gameobject関数に入れた自作変数に(0,0,0)にあるオブジェクトはこれだよってしたいんですよね (0,0,0)は実際には動かすんですけどややこしいので説明省きました http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/284
285: 名前は開発中のものです。 [] 2023/11/26(日) 20:04:29.42 ID:wJ4Ewbd+ >>284 chatGPTに聞いてもPhysics.OverlapSphereかRaycast使えって言われるんですよね 指定された座標のオブジェクト情報を取得したいだけなんで「そんなことせなあかんか?」って思ったんですけど、調べてもそれしか無さそう? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/285
286: 名前は開発中のものです。 [sage] 2023/11/26(日) 20:13:44.84 ID:uqB1fo0P シーンに直置きしてるならシリアライズフィールド使うかStartで自分から登録されに行けばよくないか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/286
287: 名前は開発中のものです。 [] 2023/11/26(日) 20:25:02.75 ID:nqSny9Yy >>283 まじかあ 絶対にノートPCはダメってワケじゃないでしょ? TVに繋げる方法あるの初めて聴いたわ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/287
288: 名前は開発中のものです。 [sage] 2023/11/26(日) 20:29:11.75 ID:YEGARdnY いわゆるグリッド移動ならインデックス管理しておいて、そのインデックスにオブジェクトを格納しておけばいいけど 指定したグローバル座標にあるオブジェクトを取得するのはRayかOverlap~しかないんじゃないかな いや、これらが取得するのは厳密にはColliderだからObjectに変換する必要あるけど タグかレイヤーで目的以外は弾けば無駄が少ない http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/288
289: 名前は開発中のものです。 [] 2023/11/26(日) 20:39:15.05 ID:ap8K17/p Physics.Raycastを嫌う理由がGC発生によるパフォーマンスの低下だとするなら、Physics.RaycastNonAllocを使えばいい 使ったことないけどOverlapSphereも同様らしい GC発生を嫌ってるわけではないとなると目的が不明瞭なので適切な提案ができない http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/289
290: 名前は開発中のものです。 [] 2023/11/26(日) 21:06:45.28 ID:wJ4Ewbd+ >>286,288,289 まとめての返信で失礼します 288さんの言うようにグリッド移動ですね。語彙力無くてすいません GCとか後々のことを意識してのことではありました。初心者知識ですがわざわざ余計な処理を走るのを避けたかったんです。 なんか、もうちょい軽い処理でいけそうだなぁ…って考えたんですけどね… インデックス管理もなんとなくやることは分かってる程度で実行したことないんで…例えば10×10×10の立体的な碁盤を用意したりしたらそれはそれで全て管理した
ら処理が重そうだし とりあえず教えていただいた関数使ってみます!ありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/290
291: 名前は開発中のものです。 [sage] 2023/11/26(日) 21:12:43.41 ID:sKe5WX7u >>284 スクリプトだよそれくらい調べろや シーンにいるobject一覧なんかすぐ取れるから >>287 今ならミニデスクトップあるから モニターにぶら下げられるよ でもマック使いならマックブックでええやん >>289 パフォーマンス低下? どれほど低下するのか知らん奴らが、その言葉で騒いでるだけやね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/291
292: 名前は開発中のものです。 [sage] 2023/11/26(日) 21:14:07.82 ID:sKe5WX7u >>290 10×10×10 それぐらいで遅くなるほど今のパソコン舐めるなよ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/292
293: ドーンおじ [sage] 2023/11/26(日) 21:25:02.28 ID:vo5TLBjQ >>291-292 なんだその回答は!?低クオリティすぎんだろ!?死ねよ!m9⎛´・ω・`⎞;y=ー(゚д゚)・・∵. ドーン! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/293
294: 名前は開発中のものです。 [] 2023/11/26(日) 21:27:08.12 ID:wJ4Ewbd+ >>292 舐めてました?すいません。笑 まぁ軽く出来るならやっとこうぐらいの精神ですかね。出来ないなら出来ないってきっぱり分かっときたかったんですよね。自分で調べる分だと悪魔の証明になっちゃいそうだったんで プレイヤーが1,0,1にいるなら正面の1,0,2のオブジェクトは何か?ってのをやりたかった。でもまぁ後は自分で試行します。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/294
295: 名前は開発中のものです。 [] 2023/11/26(日) 22:08:54.91 ID:kOB5vzh5 >>287 ディスプレイなんて何でもいいけど小さいと使いにくいだけ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/295
296: 名前は開発中のものです。 [sage] 2023/11/26(日) 22:24:40.93 ID:uqB1fo0P そういうのはアルゴリズム組んだほうがええんちゃうか 物理空間上でうにゃうにゃするとUnityの癖に悩まされたりバグの温床になったりする http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/296
297: 名前は開発中のものです。 [sage] 2023/11/26(日) 22:25:46.37 ID:sKe5WX7u ドーンおじの正体はこれな 141 ドーンおじ sage 2023/10/08(日) 09:20:11.70 ID:FDh2RFJV あーうぜぇ!製品レベルのもん見せたらサークルがバレんだろ! このエロゲの作者は5chで初心者虐めてる嫌な奴って噂になったら売れなくなるだろ!m9?´・ω・`?ドーン! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/297
298: ドーンおじ [sage] 2023/11/26(日) 23:05:24.43 ID:vo5TLBjQ >>297 やっぱりお前が低クオリティ野郎じゃねーか!コテ外すなや!m9⎛´・ω・`⎞ドーン! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/298
299: 名前は開発中のものです。 [] 2023/11/27(月) 02:36:36.68 ID:BoRbbeFq ID:sKe5WX7u あれだけ宗派云々で盛り上がった後なのに 世界には俺以外の宗派は存在しないし認めないと思ってるアホやね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/299
300: 名前は開発中のものです。 [] 2023/11/27(月) 09:04:30.48 ID:jh8FMahn ドーンおじとやらもきっと、最初は真面目に質問に答えてたけど、292みたいなのがいるからマジレスするのがアホらしくなって荒らしに転向したんだろうなあ そう考えるとなんか可哀想 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/300
301: 名前は開発中のものです。 [sage] 2023/11/27(月) 11:41:20.00 ID:wHJ3vaA9 URPで2Dのレンダラーを使用中に3Dのライトを表示する方法、 もしくは複数のレンダラーを同事に使用する方法はありますか? 2D Lightと普通のライトを合成して使いたいです http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/301
302: 名前は開発中のものです。 [sage] 2023/11/27(月) 11:56:05.86 ID:aMnFU6g7 >>294 指定座標からraycast出してhitしたオブジェクトをGetComponentしたらいいよ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/302
303: 名前は開発中のものです。 [] 2023/11/27(月) 12:09:35.21 ID:noS+cgi4 こんにちは質問です。 プレハブにアニメーションをつけて、いくつかの状態を切り替えて使おうとしました。 たとえばトイレ便器のフタがしまった状態から、フタが開くアニメ、フタ開いた状態、便座も開いた状態、というようにキーフレームが作ってあります で、再生時の初期状態として欲しい状態が60フレームにあるとして ロード後に自動で60フレームにするにはどうしたらよいでしょうか かってに全フレーム再生してラストで止まるか、何も再生されず1フレームのままか、の2
パターンはやれるのですが。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/303
304: 名前は開発中のものです。 [sage] 2023/11/27(月) 12:26:46.66 ID:aMnFU6g7 >>303 Startに Animator animator; AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); animator.Play(stateInfo.fullPathHash, 0, 1); 1のところが0~1でどこらへんから再生させるか調整するって感じです? 60フレーム目とかで判別できないので 小数点いれて調整してみてねってことで http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/304
305: 名前は開発中のものです。 [sage] 2023/11/27(月) 12:29:51.25 ID:KkPr08oo 次の質問する前に回答してくれてる人には最低限のマナーとして返信はしましょう http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/305
306: 名前は開発中のものです。 [] 2023/11/27(月) 12:42:50.33 ID:jh8FMahn >>303 https://qiita.com/ntkgcj/items/29cc215f248a5f4721cd AnimationClipの最初から再生するのはこれでできるとして、この第3引数で再生位置を指定できる 再生中のAnimationClipが変数clipで、0.5秒の位置から再生したければ第3引数は 0.5f / clip.length http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/306
307: 名前は開発中のものです。 [] 2023/11/27(月) 13:24:07.06 ID:noS+cgi4 >>304-306 うーん、実は外部スクリプトはassset書き出しのときに排除されてしまうんです セキュリテの都合ですね 後出しでこんな言ってすみません インスペクターでの設定は動作します http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/307
308: 名前は開発中のものです。 [sage] 2023/11/27(月) 13:43:13.65 ID:FJPYb+2K >>252 いいねこのバイブル 今まで疑問だったことがいろいろ解消したり、知らなかったこともたくさんあって勉強になったわ 貼ってくれてありがとう http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/308
309: 名前は開発中のものです。 [] 2023/11/27(月) 14:01:23.70 ID:/j0+2mxV >>303 そういう時はそれぞれ別のアニメーションクリップで作るのがunityの作法だよ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/309
310: 名前は開発中のものです。 [] 2023/11/27(月) 16:23:02.57 ID:HmVHwFbH すみません、駄目元でお尋ねします。 Random.Range( 最小値, 最大値 )の乱数関数なんですが 例えば、「0〜10までのどれかが出るが、0は出にくい」 って感じの設定はできませんか? もし出来るなら大変ありがたいんですが んな都合の良い乱数まではできませんよね? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/310
311: 名前は開発中のものです。 [] 2023/11/27(月) 16:29:23.99 ID:vSro46YA Random.Range(0, 100) なら出る数字は0〜99のどれか(100は含まれない)で、0が出る確率は1%になるけど、これの応用だと無理? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/311
312: 名前は開発中のものです。 [] 2023/11/27(月) 16:32:22.43 ID:vSro46YA if (rand == 0) { // 1%の確率で発生する処理 } else if (10 <= rand && rand < 20) { // 10%の確率で発生する処理 } else if (20 <= rand && rand < 30) { // 10%の確率で発生する処理 } ……(以下略) 馬鹿正直に書くとこうなる もっとスマートにできそうだね http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/312
313: 名前は開発中のものです。 [] 2023/11/27(月) 16:37:07.06 ID:/j0+2mxV >>310 返すのがintならできる if(Randam.Range(0.0f,1f)>0を出したい確率){ Return Randam.Range(1,11); }else{ Return 0; } 実際にゲームを作るとfloat返しでやりたくなるはずだと思うんだけど それはややこしいな http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/313
314: 名前は開発中のものです。 [] 2023/11/27(月) 16:53:02.98 ID:noS+cgi4 >>309 わかりましたプレハブを小分けにしてやってみますありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/314
315: 名前は開発中のものです。 [] 2023/11/27(月) 17:16:14.23 ID:/j0+2mxV >>314 プレハブ? アニメーションクリップファイルはアニメーションクリップファイルだが http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/315
316: 名前は開発中のものです。 [] 2023/11/27(月) 17:22:55.31 ID:HmVHwFbH >>311,312,313 皆さま、ありがとうございます。確かにそれらの工夫次第で 0だけの確率を下げることを知りました、勉強になります! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/316
317: 名前は開発中のものです。 [] 2023/11/27(月) 18:39:13.12 ID:noS+cgi4 >>315 うーむ、ロード時にどのanimが再生されるかの、あの線で繋ぐUIのやつ、あれってどこに保存されてるんですかね?シーンファイル? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/317
318: 名前は開発中のものです。 [] 2023/11/27(月) 19:18:54.48 ID:BkO9IT7E >>302,296 回答ありがとうございます。アルゴリズム組むのも都合が悪そうなので結果レイキャストで処理しました。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/318
319: 名前は開発中のものです。 [] 2023/11/27(月) 19:50:17.45 ID:/j0+2mxV >>317 それはアニメーションコントローラーファイル http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/319
320: 名前は開発中のものです。 [] 2023/11/28(火) 00:31:52.76 ID:hSn23D6b >>319 なんとか計画通りに作れました皆さんありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/320
321: 名前は開発中のものです。 [] 2023/11/28(火) 21:44:10.27 ID:+pwcdcfH プログラマーとアーティストのための新しいUIツールキットのデモ | Unityブログ https://blog.unity.com/engine-platform/new-ui-toolkit-demos-for-programmers-artists http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/321
322: 名前は開発中のものです。 [] 2023/11/29(水) 09:07:08.53 ID:8Z5oyTA+ すみません、rigidbody 2dについて教えて欲しいのですが 例えば、ファミコンのスーパーマリオやロックマンで 崖ギリギリでも1ドットさえ乗っていれば プレイヤーは立ったりすることできるんですが 現状、半分くらい崖から身を乗り出すとプレイヤーが傾いて 落ちてしまいます。 rigidbody 2dの設定で済む話なのかわかりませんが どこかのチェックや数値の問題なのでしょうか? あと、その落ちる時にもドット絵のオブジェクトが物理法則に則って 前のめりに回転して落ちるん
ですが角度がついたときに ご丁寧に斜め状態のドット絵を強制的に作ってしまうんですが これもSprite Rendererとかのどこかのチェックの有無で解決しそうですが 違いますか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/322
323: 名前は開発中のものです。 [] 2023/11/29(水) 09:14:12.75 ID:oA7FsBQ7 >>322 https://futabazemi.net/unity/constraints-freeze-rotation これ3Dの記事だけど2Dでも大体同じだから http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/323
324: 名前は開発中のものです。 [] 2023/11/29(水) 09:33:25.13 ID:8Z5oyTA+ >>323 ありがとうございます!Unity、すごいですね! 知識をつけてってるんですが楽しいです! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/324
325: 名前は開発中のものです。 [] 2023/11/30(木) 00:19:57.27 ID:toSL22aW Yokohara_h(@Hirokazu Yokohara)さんがポストしました: え?Unityが以前買収したweta全員解雇するの?出すって言ってたツールは?同じく買収されてるZivaとかspeedtreeはどうなるんだろ? https://x.com/yokohara_h/status/1729663063568036108?s=51&t=v_xy-gl7y1zQf182MLmXWg うっわ...Unity完全にオワタやんこれ wetaは虎の子やったんちゃうんかwあんだけ喧伝しといてもうゲームエンジンはUE一強やんけこれじゃ http://mevius.5ch.net/test/read.cgi/gamedev/16992570
23/325
326: 名前は開発中のものです。 [] 2023/11/30(木) 00:22:03.65 ID:toSL22aW Weta Digital閉鎖とか冗談にもなってないわ http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/326
327: 名前は開発中のものです。 [] 2023/11/30(木) 00:25:28.15 ID:toSL22aW 更にまだ色々と削減するつもりみたいやな http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/327
328: 名前は開発中のものです。 [sage] 2023/11/30(木) 10:50:42.51 ID:CMyAP9YG 質問です。2Dゲーム制作においてですが オブジェクト自体の当たり判定とは別にトリガー用の判定エリアも設けたい場合 ひとつのオブジェクトにBox Collider 2Dを2個つけるということをしている人がいます。 これはなんら普通のことでしょうか?それともあまりお勧めできることではない感じですか? http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/328
329: ドーンおじ [sage] 2023/11/30(木) 11:13:55.62 ID:VyxU6IGx 複数コライダーは索敵の基本だよ!敵が近くに居たら撃つ!弾が近くにきたら避ける!そのためのコライダーだね!m9⎛´・ω・`⎞ドーン! http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/329
330: 名前は開発中のものです。 [sage] 2023/11/30(木) 11:22:10.62 ID:2rFXTlkJ >>328 普通によく使うかな CompositeCollider2Dという専用機能もあるくらい MeshColliderよりもこっちの方が捗ることも多い http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/330
331: 名前は開発中のものです。 [] 2023/11/30(木) 11:29:53.09 ID:CMyAP9YG >>329 >>328 そうなんですか、2つどころか複数つけても問題ないのですね わかりました。遠慮なくつけようと思います。 ちなみに、今、Box Collider 2Dを2個つけてみたんですが 両方ともBox Collider 2Dという名前のままなんで 区別がついてないですよね? 名前の変更もできない感じですが これ、スクリプトの方で bc = GetComponent<BoxCollider2D>();とかする場合に <BoxCollider2D>ではどう区別して指定するのですか? http://mevius.5ch.net/
test/read.cgi/gamedev/1699257023/331
332: 名前は開発中のものです。 [] 2023/11/30(木) 11:39:41.86 ID:CMyAP9YG え?あれ? 自分今勘違いしているかもです。 これは、追加するBoxCollider2Dにはそれ用のオブジェクトを作って そこに貼り付けたスプライトで管理するのか? それなら確かに、BoxCollider2Dは区別しなくてもいいわけですが。。。 ひとつのオブジェクトのスプライトの中で2つのBoxCollider2Dを管理できると思ってるんですが。。。 http://mevius.5ch.net/test/read.cgi/gamedev/1699257023/332
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 670 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.014s