[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
25
(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/23(土) 16:41:13.70 ID:3i5tK2/L(2/6) AAS
>>17
17(2): 名前は開発中のものです。 [sage] 2018/06/23(土) 14:32:06.82 ID:z+j0CTeY(1/2) AAS
>>15
うそ教えちゃいけないよ。
>>12
FixedUpdate(){
AddForce(Vector3.up * -9.8f);
}
で、rigidbody.mass=1ならvelocityが1秒後に9.8になる。Time.deltaTimeをかける必要はない。どんどん加速はするけど、それは実際の重力と同じ加速。

重力をやりたいなら、
FixedUpdateに
AddForce(Vector3.up * -9.8f.ForceMode.Acceleration);
て書いとけば、massに左右されず、rigidbodyのUseGravityと同じ結果になる。

引力はmassが馬鹿でかいし重力定数はくそ小さい。rigidbody.massは使わずに、
M1自分、相手m2として、fixedUpdate内で
F = G*m1*m2 / r^2
を相手m2 = 1として求めて、
AddForce(自分方向の単位ベクトル * F,ForceMode.Acceleration);
てしてやるといい。m2=1と言うのは、引力の公式から、自分が相手に与える加速度のみを取り出したと思えばいい。ForceMode.Accelerationと相性がいい。
Rigitbody.massを1のままにしとけば
AddForce(自分方向の単位ベクトル * F);
でも結果は一緒。もちろんFはm2=1で求める。
フォローありがとうございます
なんせ素人が回答するスレなもので、申し訳ないです

>>21
21(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 15:06:30.89 ID:GjE91D+n(4/7) AAS
>>16
>画像リンク

>こんな感じでEnableのチェックをオン、オフするのかなぁと

すみません、自分のには>>16さんのスクショにある様なEnableのチェックがありません。
画像リンク

最初はあった気がするのですが、触ってるうちに無くなった気がします。
非表示になってしまっているのか、なんなのか、どうやったらチェックが現れるか
ご存知でしょうか?
チュートの画像と比べると、
sprite Renderer.Enabled の前に「オブジェクト名:」が無いですね
チュートはあるので、そこらへんの問題でしょうか?
再度、追加からしてみてはどうでしょうか
124: 名前は開発中のものです。 [sage] 2018/06/28(木) 21:57:18.70 ID:cx/Kc4dr(1/2) AAS
>>79
79(3): 名前は開発中のものです。 [sage] 2018/06/27(水) 15:12:21.69 ID:07W788OP(1/3) AAS
C#を使用して2Dゲーム制作をしている初心者です

左右の方向キーを使い、特定の位置五ヶ所にキャラクターを移動させるにはどのようにしたらいいのでしょうか?

・移動箇所
☆キャラクター

・ ・ ☆ ・ ・
int[] x=new int[]{-8,-4,0,4,8};
int sw;int dir;int n=2;float nextX;
void Start(){transform.position=new Vector2(x[n],0);}
void Update () {
if(sw==0){
if(Input.GetKeyDown(KeyCode.A)&&n>0){sw=1;dir=-1;n=n-1;nextX=x[n];}
if(Input.GetKeyDown(KeyCode.D)&&n<4){sw=1;dir=1;n=n+1;nextX=x[n];}
}
if(sw==1){
transform.Translate(new Vector2(0.1f*dir,0));
if(dir==1&&transform.position.x>nextX){sw=0;transform.position=new Vector2(nextX,0);}
if(dir==-1&&transform.position.x<nextX){sw=0;transform.position=new Vector2(nextX,0);}
}
}
226: 名前は開発中のものです。 [sage] 2018/07/16(月) 08:31:47.70 ID:Clqj8SOY(1) AAS
>>225
225(2): 名前は開発中のものです。 [sage] 2018/07/15(日) 23:09:45.09 ID:MAbCEPsD(1) AAS
>>222
日本語で話せやガイジ
ここは日本のUnityスレだぞ
いや、unityつかうなら英語くらい覚えろよ……
303: 名前は開発中のものです。 [sage] 2018/08/03(金) 20:33:47.70 ID:Tb6IvIdd(8/8) AAS
>>301
301(1): 名前は開発中のものです。 [sage] 2018/08/03(金) 20:25:58.25 ID:BofVo0Am(1/2) AAS
gameObjectじゃないの?
これですね。
334
(1): THE・ステップアップ先生 [sage] 2018/08/04(土) 15:19:06.70 ID:KOItUBKr(2/2) AAS
>>312
312(5): 名前は開発中のものです。 [] 2018/08/04(土) 04:54:34.40 ID:nYTIxyUA(1) AAS
基本的にゲームプログラミングでは
シーン内で生み出す敵とか大抵配列に入れ込んで管理しますよね?
for文でその配列の要素回して抜き出したり。

でもUnityの2Dシューティングとかのチュートリアルを確認してみると
次々と生み出された敵を配列に入れ込む処理が見当たりませんが
これ、個々のオブジェクトの把握はどうやってるんですか?
次の内容はおまけなので意味不明な場合は気にしなくていいよ。

ソース上でのオブジェクトの管理のしやすさはメモリー使用量に反比例する。
今までのやり方(main()ループのやり方)だと扱いたいオブジェクトを最初に配列に全て格納するのでそれだけ沢山メモリーを占有し続けることになる。
旧型のゲームを作る場合はこのやり方でも問題ないし今でもこっちの方が扱いやすい場面が多々ある。
とくに小規模ゲームの場合はこっちのやり方で全然いいと思う。

じゃあUnityがこの古き「main()ループ」のやり方になっていないのは何故かというと
中〜大規模のゲーム作成も想定して作られてるのもあると思う。
この規模になると次の事を実現しないといけない。
・必要な場面にだけメモリだけを使いこまめに確保と解放を繰り返す節約型モデル
・もともと非常に重い3D物理演算を実用レベルで運用する
・もともと複雑で重い3Dの当たり判定処理(コリジョン)をプログラマが手軽に扱えるようにする
これの実現でメモリー制約の厳しいスマホで苦労せずに3Dゲームを作れたり
MMOやオープンワールド系のゲームを作れるポテンシャルを実現している。

FCマリオやテトリス作るなら"main()ループ型"でいいけど、モンスターハンター作るなら"main()ループ型"では死ねるよという感じ。
実際に何かを作ってみると分かるが当たり判定(コリジョン)は"main()ループ型"で回して中でいちいち判定するより
オブジェクト1つ1つにC#スクリプト埋め込んで当たった時に勝手に「当たったよ!」とイベント通知してきてくれる方が100%楽。

余談だが、UnityやVisualStudioのようなGUIでモデルを配置できるエディッタ時代ではなく、コマンドプロンプト時代のCUI時代にソースで扱っていたクラスのカプセルの概念、あれをビジュアル的にも再現できている今のUnityのモデルだとも感じてる。
今のUnityのやり方が、昔に目指されていたオブジェクト指向プログラミングの1つの完成形・理想形なんじゃないかと思う。
アセットの概念なんかはまさにオブジェクト指向プログラミングのカプセル可の恩賜だと思うよ。
461: 名前は開発中のものです。 [sage] 2018/08/21(火) 15:11:17.70 ID:8qBPp1CD(1) AAS
>>457
457(2): 名前は開発中のものです。 [sage] 2018/08/21(火) 01:36:00.94 ID:ypI3wEdL(1) AAS
上達するにはチュートリアルやれとしか言われないのですが、
あの数をやり終えてる人はなかなかいないと思います。
興味あるチュートリアルをやっているのか、好きなゲームを作って学んでいるのか、
皆さんはどうやって上達、脱初心者をしたのですか。
チュートリアルはroll a ballしかやらなかったな
その後は作りたいゲームの案から比較的簡単なやつを選んで作っていった

上達の秘訣はググり力だと思うよ
リファレンスを眺めて思いを馳せるのもいいかもしれない
470
(1): 名前は開発中のものです。 [sage] 2018/08/24(金) 22:34:13.70 ID:W1ALrPmX(1) AAS
>>468
468(2): 帝王 [sage] 2018/08/24(金) 21:11:12.99 ID:4jbbRJqV(1/2) AAS
あるアニメーション付きのアセットをいじって思ったのですが
歩くアニメーションクリップがありまして
ローカルの座標を歩いてます
そしてスクリプト上からも位置を更新して歩かせているのですが
そうしますと
アニメーションクリップの初めと後でローカル座標をいったり来たりして
グローバル座標の移動も加わって
引き戻されてワープするような歩き方になります

これはモデルだけ使ってこのクリップは使わないほうがいいのでしょうか
その場で歩くモーションないの?もしくはそういうふうにアニメーションを修正できないの?
だとしたらそのアニメーション使うのを諦めるか、アニメーションの終わりを捕まえてそのタイミングで座標を更新するかじゃないかな
後者は相当シビアにやらないと瞬間移動しそうだけど
868
(4): 名前は開発中のものです。 [sage] 2019/02/15(金) 13:24:19.70 ID:0UViqJD4(1) AAS
オープンワールドってどうやって作るの?
883: 名前は開発中のものです。 [sage] 2019/02/17(日) 10:51:15.70 ID:E/4THOJn(1) AAS
UEはUEをいじれる人しか使えないって言ってた
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s