[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
822: 2023/10/10(火)01:12 ID:euWt7ft1(1) AAS
Animatorのうまい使い方のチュートリアルないですか?
チュートリアルというか「State間をつなぎ、変数を動かすことで発火させます」みたいな基本的な使い方じゃなくて、
アイドル状態から座る動作はこのように遷移させると自然に見える、とか
ダッシュ、ジャンプ、攻撃、着地みたいな連続的な動きをうまく遷移させるコツとか、
遷移図がスパゲティにならないような使い方の解説が欲しいんですが
ウェブサイトじゃなくても教本でも構わんです
823(1): 2023/10/10(火)10:41 ID:mytr+tEE(1) AAS
キャストに付いて教えてください
キャストとparseの違いがいまいちわかりません
gptに質問したのですが、キャストは同じ型同士での変換、parseは異なる型への変換とのことです
詰まる所、型を大別すると「文字列と数値」の2つのみということですかね?
以下、gptに質問してみた結果です
キャストとParseメソッドの違いは、主に次の点です:
キャストは同じ型の変換に使用されます。つまり、基本的なデータ型間での変換(例: int から double への変換)に適しています。一方、Parseメソッドは、異なる型のデータを文字列から変換するために使用されます。
キャストは基本的に明示的な型変換です。つまり、変換先の型を明示的に指定する必要があります。例えば、(int)doubleValue というように変換先の型をカッコ内で指定します。一方、Parseメソッドは、変換元の文字列が適切な形式であることを確認し、それを適切な型に変換します。具体的な型指定は不要です。
以下に具体的な例を示します:
キャストの例:
csharp
Copy code
double doubleValue = 10.5;
int intValue = (int)doubleValue; // キャスト:明示的な型変換
Parseメソッドの例:
csharp
Copy code
string stringValue = "10";
int intValue = int.Parse(stringValue); // パース:文字列から整数への変換
要するに、キャストは既に同じ型の変数を持っている場合に使用し、型変換を明示的に行いたい場合に使用します。一方、Parseメソッドは文字列から他の型に変換するためのより柔軟な方法です。
824: 2023/10/10(火)10:53 ID:UgD80cWG(1) AAS
イッチでもフリーズしたわ…
ワイのゲームが悪そう
825: 低クオリティでごめんねごめんね 2023/10/10(火)11:07 ID:/knfQQEr(1) AAS
毎回同じ場所なら原因特定出来そやけど
違う場所だと、機能削っていって確認するしか無さそうね
826(1): 2023/10/11(水)01:05 ID:DCKOkOFp(1) AAS
もしもtaskを使ってるならそれが原因WebGLでtaskを使うとフリーズする
827(1): 2023/10/11(水)06:49 ID:gTMFZ2FZ(1) AAS
>>823
C# におけるキャストと `Parse` メソッドの主な違いは以下の通りです:
1. **用途**:
- **キャスト**: すでに存在するオブジェクトの型を別の型に変換するために使用されます。ただし、両方の型が何らかの関連性や変換可能性がある場合のみ可能です。
- **Parseメソッド**: 文字列を特定の型(通常は数値型や日付型など)に変換するために使用されます。
2. **例**:
- **キャスト**:
```csharp
double d = 3.14;
int i = (int)d; // ここでdの小数部分は切り捨てられる
```
- **Parseメソッド**:
```csharp
string s = "123";
int i = int.Parse(s); // 文字列"123"が整数123に変換される
```
3. **エラーハンドリング**:
- **キャスト**: キャストが不適切な場合(例:関連性のない型へのキャスト)には、実行時に例外がスローされる。
- **Parseメソッド**: 文字列が指定された型に変換できない場合、例外がスローされる。
4. **代替方法**:
- **キャスト**: `as` キーワードを使った安全なキャストや `is` キーワードを使った型チェックがある。
- **Parseメソッド**: `TryParse` メソッドを使用することで、変換が成功したかどうかをブール値で取得し、例外を防ぐことができる。
要するに、キャストは既存のオブジェクト間での型変換、`Parse` メソッドは文字列から特定の型への変換のために使用されます。
828: 2023/10/11(水)10:01 ID:JNV72RCJ(1) AAS
>>826
Taskは使ってないはず…
ビルド設定でWebGLでもスタックトレース出せる設定があったからそれで見てみたら怪しい箇所があったからそこ修正して様子見中
一人だとデバッグ大変すぎる
829: 2023/10/11(水)10:39 ID:ayYR9TGX(1/3) AAS
>>827
ありがとうキャストがよくわ非ないけど、数値同士の変換と解釈しときます
830: 2023/10/11(水)11:32 ID:VKNLEpVL(1) AAS
WebGLビルドはTask自体が問題じゃなくてTask.Delayがフリーズする
Task.Yield使えば回避はできる
831: 2023/10/11(水)11:51 ID:ayYR9TGX(2/3) AAS
質問させてください
配列の型なんですが、配列自体には型はなく、要素に対して型があるのでしょうか?
つまり配列の中身を定義せず、配列名のみ定義する場合の型はvarなどにしておくのでしょうか?
832: 低クオリティでごめんねごめんね 2023/10/11(水)12:11 ID:YJt7veqV(1) AAS
配列というのは、型を並べるだけやで、
人が3人居りゃ人型の配列
水の入った壺か五つありゃ
水の入ったで型の配列やぞ
833: 2023/10/11(水)12:24 ID:ayYR9TGX(3/3) AAS
配列というデータ構造自体に型はないと、、、(*´ω`*)
834: 2023/10/11(水)16:06 ID:m5K33pNw(1/2) AAS
ポーズ画面ってどうやって作るのがクールですか
835: 2023/10/11(水)16:11 ID:m5K33pNw(2/2) AAS
VRゲームにポーズいらないか
836: 2023/10/11(水)23:57 ID:QdzY0lNb(1) AAS
質問です
今アセットのVery Animationでモーションを作っています
それでポーズAとポーズBを作りAからBに徐々に切り替わります
次にAとBの間にポーズCのキーフレームを打ち込みポーズをつけます
狙いとしてはA→C→Bとなめらかに切り替わることです
しかしそうはならずCの後で変な余計な動きが入ってBに行きます
この余計な動きを削除して綺麗にBに行かせるにはどうしたらいいでしょうか?
今Very Animationを使ってますがこれはアニメーションエディタの使い方に
関連する質問かもしれません
837: 2023/10/13(金)03:39 ID:WM13/Z93(1) AAS
blenderでボーンをつけたモデルをラグドール化したいんだけど、人型じゃない場合はどうすれば良いですか?
838: 2023/10/13(金)04:41 ID:3O6M3WqN(1/6) AAS
プログラミンは言語化大事ですか?
すべての処理を言葉でで説明出来ないから、自分でも何をやっているのか分からなくなったりする
839: 2023/10/13(金)06:39 ID:3O6M3WqN(2/6) AAS
質問です
配列をコピーするときにまず長さを確保して、次に要素を代入すると思うんですが、長さの確保がメモリの確保ということなんでしょうか
C#にそのような概念があるのか分かってませんが
840: 2023/10/13(金)08:02 ID:JpTm8duw(1) AAS
少なくとも質問するのに言語化は必要だろうな
841(1): 低クオリティでごめんねごめんね 2023/10/13(金)08:25 ID:nkST/sRU(1/2) AAS
プログラミングで1番大事なのはプログラミングすることやな
考えるより先に手を動かす
歯磨きするのに自然と歯磨き粉のキャップ開けて歯ブラシに付けるやろ
ペットボトルのお茶飲むのに自然とキャップ回して開けてやろ?
見て回すとわかるやろ?毎回やってるからやで
キャラ動かすときtransformいじるやろ?
毎回やると自然と分かるわけよ
だから覚えるまで、見ないで出来るまでチュートリアルやりなよ
842(1): 2023/10/13(金)10:15 ID:Vhl78/DQ(1/5) AAS
機能ブロックやコードの断片/塊を覚えて、それによってどんな事が起きるのか知っているだけでいい
A=B+C は Aが得られる Aによって〇〇が起きる 知っていればいいのはそこだけ
普通の人間はそれだけ2〜3回もやれば何となく覚えてしまう
普通じゃない人間がどうしてそれを何度やっても覚えないのかは知らん
そんなに覚えらんないなら100均でノートとボールペン買ってきて書けば?
843(1): 2023/10/13(金)14:37 ID:3O6M3WqN(3/6) AAS
>>841
もちろん手動かしてますよ
ただ、理解が追いつかないので、言語化してみようかなと
フローチャートなんかもその一種でしょう
チューとの最中です 脱線してるだけで
844(1): 2023/10/13(金)14:38 ID:3O6M3WqN(4/6) AAS
>>842
例えば、自販機に金入れれば飲み物が出てくるという処理があったとしますが、なぜそうなるか、中身を見ないとわからないですよね。
そこまで詳細に言語化しないと、自分で作れないです。
845(1): 2023/10/13(金)15:39 ID:Vhl78/DQ(2/5) AAS
>>844
そこが違うんじゃないかな?
自動販売機はどうやって動作してるか知らなくても、130円入れてボタンしたら飲み物が出て来る物でしょ。
使えればいいんだから、中身はどうやって動いてるのか知る必要なくない?
ただ自動販売機の形やパターンは知っておけばいい。使いたい時には自動販売機の機能ブロックの
最小機能を丸ごともってくりゃいいんだから、言語化する必要もなくて、お金入れてボタン押したらジュースが出る
機能をポコッと置けばよくない?
作るって言葉にとらわれ過ぎて、本質に到達しないのは本末転倒だよね。
本質は完成させる事じゃないの? 若しくはチュートリアルの完遂。
加えて、キミの頭にコードの断片を大量に摂取させるには、膨大な数のチュートリアルをこなす必要がある
沢山見て触って経験する事が全く達成出来てないなら、それチュートリアルになってない気がするけどな
なんか論点や争点がどんどんズレてない?
846: 2023/10/13(金)15:43 ID:2JJzIVWR(1) AAS
ゲームエンジンは素でゲーム作れる人間が楽したり効率よくしたり品質上げるために作るもので
ゲームの仕組みやプログラミングそのものが出来ない素人はまず基礎的なゲームプログラミングぐらい独力で身につけるべきでは?
847: 2023/10/13(金)15:46 ID:QD9ybMgv(1) AAS
そんなあなたにビジュアルスクリプト
848(1): 2023/10/13(金)15:55 ID:3O6M3WqN(5/6) AAS
>>845
どもす
例えがおかしかったかもしれません
自分が今悩んでいるのはアルゴリズムというか、基本的な文法だと思います
そこは流石に抑えておくべきじゃないでしょうか
849(1): 2023/10/13(金)16:10 ID:eYqkEHOQ(1) AAS
>>843
処理の流れとかがイメージできない場合は
手書きでも良いから図でざっくり書いちゃうかな
最近だとmermaid記法使ってMarkdownと一緒にまとめて書いちゃったりする
(ChatGPTとかと会話する時にも使えるし)
850(1): 2023/10/13(金)16:30 ID:Vhl78/DQ(3/5) AAS
>>848
配列のメモリの確保とか何の関係もなくない?
C/C++なら後で出て来るだろうけどさ初心者の内から出てくる話じゃないし
ワイはロベールのC++教室やってるからC#は何か必要だったことはあんまないが
そんなに何もかも分からないなら
外部リンク:csharp.sevendays-study.com
外部リンク:ufcpp.net
のあたりでもやっとけばいんじゃね?
851(1): 2023/10/13(金)17:25 ID:3O6M3WqN(6/6) AAS
>>849
どうもす
vscodeでマーメイド記法ってのやってみます
>>850
長さの確保=メモリの確保と考えていました
godotなんかだとpython系で、たしか長さの確保は必要なかったので、違いにちょっと戸惑ってる感じですね
上下前次1-新書関写板覧索設栞歴
あと 151 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.027s