ゲームを作ってるor作りたい人が、自分のゲームに実装したい処理や、既存のゲームのこんな処理ってどーやって実現してるの?と質問すると、心優しい誰かが説明してくれるスレです。
質問は、これこれこういう処理、〇〇のゲームのこれみたいな、とか、△△のこの面のこれってどーやってんの?という感じで既存のゲームなどを例示したりして、分かりやすい質問を心がけましょう。
説明は、コード羅列は禁止しましょう。長文でも良いので、このようにできている、又は、こんな感じでできるんじゃない、という風に文章で分かるような説明を心がけましょう。
■ゲーム開発会社がゲーム製作技術を伝授するスレ
https://mevius.5ch.net/test/read.cgi/gamedev/1520381891/
↑上記スレを見ていて、現スレのようなのがあれば、便利かなと思って建てました。
探検
【ゲームで、この処理ってどーやってんの?】
■ このスレッドは過去ログ倉庫に格納されています
11
2018/05/30(水) 20:09:05.10ID:fZdspc/Y21
2018/05/30(水) 20:10:02.65ID:fZdspc/Y sageちゃアカンやんage
31
2018/05/30(水) 20:18:53.13ID:fZdspc/Y 即消されないように、しばらく自問自答したいと思います。
自分がなるほどなあ、と思った超基礎的なやつ。
1行なのでコードで書かせてください。いきなり禁止破り。原則禁止、とすべきでした。
0〜nの数字を順送りし、n番目の次は0に戻る処理
a=(a+1)mod(n+1)
n+1で、増えていくaを割った余りを返すことで、nの次は0に戻る処理です。
自分がなるほどなあ、と思った超基礎的なやつ。
1行なのでコードで書かせてください。いきなり禁止破り。原則禁止、とすべきでした。
0〜nの数字を順送りし、n番目の次は0に戻る処理
a=(a+1)mod(n+1)
n+1で、増えていくaを割った余りを返すことで、nの次は0に戻る処理です。
41
2018/05/30(水) 20:19:57.56ID:fZdspc/Y a+1の1を任意の数値にすることで、いくつ進めるかを任意にできます。
51
2018/05/30(水) 20:28:15.39ID:fZdspc/Y 次。
0〜nの数字を順送り逆送りして、n+1で0、0から-1になった場合nになる処理。
どーだっけな。
m:加算値(+1や-1など任意の正負の数
a=(a+m+n+1)mod(n+1)
合ってるかな。
a+mに最大値nと1を足すことで、a+mがマイナスになった場合、プラスの数値に変換し、n+1で割った余りを戻すことで、0-1をnに送ることができます。
式、合ってるよね?
0〜nの数字を順送り逆送りして、n+1で0、0から-1になった場合nになる処理。
どーだっけな。
m:加算値(+1や-1など任意の正負の数
a=(a+m+n+1)mod(n+1)
合ってるかな。
a+mに最大値nと1を足すことで、a+mがマイナスになった場合、プラスの数値に変換し、n+1で割った余りを戻すことで、0-1をnに送ることができます。
式、合ってるよね?
61
2018/05/30(水) 20:33:03.41ID:fZdspc/Y マウスドラッグで画面をつまんでスクロール。
描画座標x,y
@ドラッグ開始座標dx,dy
Aマウス座標mx,my
描画タイミングごとに、@とAの差を描画座標に加算して描画して、@にAを代入する。
こんな感じだったっけ。
描画座標x,y
@ドラッグ開始座標dx,dy
Aマウス座標mx,my
描画タイミングごとに、@とAの差を描画座標に加算して描画して、@にAを代入する。
こんな感じだったっけ。
71
2018/05/30(水) 20:36:40.03ID:fZdspc/Y ちなみに、1は自分でゲーム作ってる人です。
作ってる時に、あ、なるほどー、自分で思いついた俺、天才!とか思ったことを、しばらく書いていきたいと思います。
作ってる時に、あ、なるほどー、自分で思いついた俺、天才!とか思ったことを、しばらく書いていきたいと思います。
81
2018/05/30(水) 20:48:44.78ID:fZdspc/Y クロスバー表現。
アイテムなどを種別ごとに横並び、強さなどごとに縦並びで、PS3のクロスメディアバーのようなものを作りたくって考えました。
詳しくはちょっと忘れちゃったけど、今作り直したらもっと理解して作れそう。
横種別がn
縦並びのアイテムを配列yoko(n).data(m個(種別ごとの動的配列)
で、表示開始ID、横用yと縦用t(n)を持ち、
操作で、yとt(n)が変化するごとに表示内容が変わります。
t(n)なので、横に動かすと全体が横移動しますが、縦に動かすと、1列のみ縦移動するように動きます。
アイテムなどを種別ごとに横並び、強さなどごとに縦並びで、PS3のクロスメディアバーのようなものを作りたくって考えました。
詳しくはちょっと忘れちゃったけど、今作り直したらもっと理解して作れそう。
横種別がn
縦並びのアイテムを配列yoko(n).data(m個(種別ごとの動的配列)
で、表示開始ID、横用yと縦用t(n)を持ち、
操作で、yとt(n)が変化するごとに表示内容が変わります。
t(n)なので、横に動かすと全体が横移動しますが、縦に動かすと、1列のみ縦移動するように動きます。
91
2018/05/30(水) 20:52:50.23ID:fZdspc/Y その際、マウスの動きが縦方向なのか、横方向なのかを検知する必要がありました。
これは、上記マウスのドラッグで移動を応用して、
開始座標と、0.01秒とかの短い時間後のマウス座標の差から絶対値を出し、x>yなら横移動、y>xなら縦移動したとみなして、それぞれの処理を行ないます。
これは、上記マウスのドラッグで移動を応用して、
開始座標と、0.01秒とかの短い時間後のマウス座標の差から絶対値を出し、x>yなら横移動、y>xなら縦移動したとみなして、それぞれの処理を行ないます。
101
2018/05/30(水) 20:56:23.56ID:fZdspc/Y この部分はもっと最適化できそうだけど、めんどいので放置してます。
というか、自分が考えついた処理は、unityとかのツールだとライブラリであるのかなあ、と思いますが、あえて遠回りしてる自分が良いのか悪いのか、トホホ
というか、自分が考えついた処理は、unityとかのツールだとライブラリであるのかなあ、と思いますが、あえて遠回りしてる自分が良いのか悪いのか、トホホ
111
2018/05/30(水) 21:06:17.17ID:fZdspc/Y 自分の疑問も書いておきます。
■星のドラゴンクエストで、球形マップを、@クルクルした後、回転をリセットすると、球形マップのA初期表示角度に戻ると思うのだけど、戻る途中の描画に使う角度などの計算はどうやってるの?
クルクルは自分で作れたつもりなんだけど、xyzの三軸回転と視点カメラの位置と方向とかも含めて考えるとこんがらがってわけわかめ。
■星のドラゴンクエストで、球形マップを、@クルクルした後、回転をリセットすると、球形マップのA初期表示角度に戻ると思うのだけど、戻る途中の描画に使う角度などの計算はどうやってるの?
クルクルは自分で作れたつもりなんだけど、xyzの三軸回転と視点カメラの位置と方向とかも含めて考えるとこんがらがってわけわかめ。
121
2018/05/30(水) 21:10:30.09ID:fZdspc/Y ちなみに1の知識はファミコンレベルかと思いますので、ご了承ください。
131
2018/05/30(水) 21:16:08.81ID:fZdspc/Y 先日他スレで書いたやつ
ファミコングラディウスの2面の粒々のあたり判定
粒々は配置されてる動かない物体なので、横スクロール座標と、ビームなどの座標を合成した座標に、粒々があったら当たったと見なして消滅処理すればイイんじゃないかなあと思いました。
例えば、現在表示される画面を描画する際、8×8ドットごとに区切ったマトリクスを2次元配列で持つとかして、中身は0:空っぽ(背景)、1:破壊可能物体、2:破壊不可物体とかを設定。
これは、面のマップ情報をスクロール分だけずらして、現在表示分をコピるだけでもイイですね。
昔のテレビって640×480でしたっけ?だと、横80×60の比較用配列で済むか。
で、ビームやレーザーの現在位置をビームが移動するごとにその配列のインデックスに直接参照できるから、オブジェクトごとの衝突判定みたいな時間のかかる処理は必要ないかと思いました。
ファミコングラディウスの2面の粒々のあたり判定
粒々は配置されてる動かない物体なので、横スクロール座標と、ビームなどの座標を合成した座標に、粒々があったら当たったと見なして消滅処理すればイイんじゃないかなあと思いました。
例えば、現在表示される画面を描画する際、8×8ドットごとに区切ったマトリクスを2次元配列で持つとかして、中身は0:空っぽ(背景)、1:破壊可能物体、2:破壊不可物体とかを設定。
これは、面のマップ情報をスクロール分だけずらして、現在表示分をコピるだけでもイイですね。
昔のテレビって640×480でしたっけ?だと、横80×60の比較用配列で済むか。
で、ビームやレーザーの現在位置をビームが移動するごとにその配列のインデックスに直接参照できるから、オブジェクトごとの衝突判定みたいな時間のかかる処理は必要ないかと思いました。
141
2018/05/30(水) 21:31:15.28ID:fZdspc/Y 上記クロスバー表現で、横縦アイテムひとつの半分までずらしたら、一個ぶんズレたり戻ったりする処理。
アイテムひとつの半分の距離aを持っておき、
ドラッグドロップ時点の移動距離bがそれを超えたら一個ズレ。
超えなかったら元に戻る。
その際、ドラッグ距離が長い場合もあるので、アイテム一個ぶんの距離で割った余りの距離が、半分超えてたら+方向に、超えてなければ-方向に、
で、余りの距離と、前後の定位置との差分を、任意の数で分割して分割した数だけ分割距離ずつ表示座標に加算して、みよん、とズレたり戻ったりの表現。
大体こんな感じだったような。
でも、細かい部分でおかしい。
アイテムひとつの半分の距離aを持っておき、
ドラッグドロップ時点の移動距離bがそれを超えたら一個ズレ。
超えなかったら元に戻る。
その際、ドラッグ距離が長い場合もあるので、アイテム一個ぶんの距離で割った余りの距離が、半分超えてたら+方向に、超えてなければ-方向に、
で、余りの距離と、前後の定位置との差分を、任意の数で分割して分割した数だけ分割距離ずつ表示座標に加算して、みよん、とズレたり戻ったりの表現。
大体こんな感じだったような。
でも、細かい部分でおかしい。
151
2018/05/30(水) 21:35:31.67ID:fZdspc/Y たくさんのアイテムを所持してる時、全部表示してたのを、表示エリア外のものは表示しなくした処理。
ゲーム作り始めた頃、画面外でも、オブジェクト表示処理をしてて、動作が重かったのを、
あれ、画面外にあるんだから表示処理しなくていいんじゃね?と思って修正したら、何百個持っててもスイスイになって感動する。
ゲーム作り始めた頃、画面外でも、オブジェクト表示処理をしてて、動作が重かったのを、
あれ、画面外にあるんだから表示処理しなくていいんじゃね?と思って修正したら、何百個持っててもスイスイになって感動する。
161
2018/05/30(水) 21:42:06.23ID:fZdspc/Y ドラッグしたオブジェクトをドラッグしながら、だんだんマウスカーソルの中心に持っていく処理。
これは、天才!とは思わなかったですが。
カーソルの座標と、オブジェクトの中心位置などの座標との差をドラッグ開始に取得し、その差分をマウス座標に足してオブジェクトを描画すると、つまんで動かす表現。
動かしていくごとに、その差分を×0.99とかしていくと、次第につまんでる位置が真ん中になる。
これは、天才!とは思わなかったですが。
カーソルの座標と、オブジェクトの中心位置などの座標との差をドラッグ開始に取得し、その差分をマウス座標に足してオブジェクトを描画すると、つまんで動かす表現。
動かしていくごとに、その差分を×0.99とかしていくと、次第につまんでる位置が真ん中になる。
171
2018/05/30(水) 21:42:25.32ID:fZdspc/Y つかれた。
181
2018/05/30(水) 21:43:52.53ID:fZdspc/Y 一休み一休み
191
2018/05/30(水) 21:46:06.04ID:fZdspc/Y201
2018/05/30(水) 21:51:02.40ID:fZdspc/Y 衝突判定はちょっと苦労しました。
衝突可能性のあるもの同士だけ判定するために、3,4回並べ替えとか配列の生成を繰り返してから、判定したりとか。
まだ簡単に説明できないので、いずれまた。
衝突可能性のあるもの同士だけ判定するために、3,4回並べ替えとか配列の生成を繰り返してから、判定したりとか。
まだ簡単に説明できないので、いずれまた。
211
2018/05/30(水) 21:53:58.54ID:fZdspc/Y 経路検索も楽しかった。
A*が今の所速いそうだけど、ダイクストラの方が分かりやすかったのでそっちで作りました。
説明は、よー分からん!
A*が今の所速いそうだけど、ダイクストラの方が分かりやすかったのでそっちで作りました。
説明は、よー分からん!
221
2018/05/30(水) 21:55:00.14ID:fZdspc/Y こんなところかなあ。
2ちゃんって、いろんな人が書き込まないと消えるのかな。
誰か!助けて!
2ちゃんって、いろんな人が書き込まないと消えるのかな。
誰か!助けて!
23ボッキングの弟子 ◆rZPPjYuxmQ
2018/05/30(水) 23:22:20.29ID:ABn11nDo ちなみにこの板は落ちないので沢山のくそスレが乱立してます
あの板に人が集まるのは現役のゲーム会社の人がやってるからで、わざわざそこに名無しで回答するのは、構ってちゃんなのよ
だからいくらスレ作って誘導しても来ないの
ただの荒らしだから…
あの板に人が集まるのは現役のゲーム会社の人がやってるからで、わざわざそこに名無しで回答するのは、構ってちゃんなのよ
だからいくらスレ作って誘導しても来ないの
ただの荒らしだから…
24ボッキングの弟子 ◆rZPPjYuxmQ
2018/05/30(水) 23:23:50.42ID:ABn11nDo ところで主さんのゲ製は何でやってますかぁ?
unityなら情報共有できるのだけど…
unityなら情報共有できるのだけど…
251
2018/05/30(水) 23:31:13.49ID:fZdspc/Y >>23
落ちないんですか。そうですか。
教えてくださってありがとうございます。
VBで作ってます。馴染みがあったのがVBだったので。
今作ってるのが終わったらUnityに移る予定なので、その際はいろいろ勉強させてください。
落ちないんですか。そうですか。
教えてくださってありがとうございます。
VBで作ってます。馴染みがあったのがVBだったので。
今作ってるのが終わったらUnityに移る予定なので、その際はいろいろ勉強させてください。
26名前は開発中のものです。
2018/05/31(木) 05:46:07.28ID:9nDqf7jv 支援
2018/05/31(木) 07:45:56.09ID:DnYcK65M
本一冊かける乱数についてどうぞ
2018/05/31(木) 08:44:36.81ID:IITj/Hiu
お題
グラディウスのミサイルの地形追従
グラディウスのミサイルの地形追従
291
2018/05/31(木) 09:15:43.81ID:N+l2Be6d >>27
スレチですが。
乱数関係だと。
一定の確率で複数の分岐処理を扱う時。
1番最初は
select case 0to0.2
〜case 0.6to0.7みたく直接数字書いたけど、もっと楽にできないかと考えました。
で、分岐させたい数の配列t(n)を作り、
その中に確率の大小を入れ(合計が100にならなくても良い)
、t(n)の値の合計sumを出し、それを使ってt2(n)に0.0〜1.0の範囲として割り振る。
例えば3つの分岐で、1つめが45、2つめが90、3つめが15だとすると、合計150なので、1は30%、2は60%、3は10%
なので、0.3,0.6,0.1となり、t2(0)は0.0と0.3
t(1)は0.3と0.9、t2(2)は0.9と1.0の開始値と終了値を格納。
ここらへんは、ちょっと冗長。終了値だけで事足りそう。
で、乱数を出し、
n回だけ繰り返してそれがどの範囲かの番号を返す。
その後それぞれの処理へ。
要約すると、、、
t(n)にそれぞれの当たり確率を適当な整数で示せば、その内のどれに当たるかを返してくれる関数。
分岐の確率を手書きしなくて済むことと、合計100にしなくても良くなった瞬間でした。
スレチですが。
乱数関係だと。
一定の確率で複数の分岐処理を扱う時。
1番最初は
select case 0to0.2
〜case 0.6to0.7みたく直接数字書いたけど、もっと楽にできないかと考えました。
で、分岐させたい数の配列t(n)を作り、
その中に確率の大小を入れ(合計が100にならなくても良い)
、t(n)の値の合計sumを出し、それを使ってt2(n)に0.0〜1.0の範囲として割り振る。
例えば3つの分岐で、1つめが45、2つめが90、3つめが15だとすると、合計150なので、1は30%、2は60%、3は10%
なので、0.3,0.6,0.1となり、t2(0)は0.0と0.3
t(1)は0.3と0.9、t2(2)は0.9と1.0の開始値と終了値を格納。
ここらへんは、ちょっと冗長。終了値だけで事足りそう。
で、乱数を出し、
n回だけ繰り返してそれがどの範囲かの番号を返す。
その後それぞれの処理へ。
要約すると、、、
t(n)にそれぞれの当たり確率を適当な整数で示せば、その内のどれに当たるかを返してくれる関数。
分岐の確率を手書きしなくて済むことと、合計100にしなくても良くなった瞬間でした。
301
2018/05/31(木) 09:28:37.23ID:qD6WAQaC2018/05/31(木) 12:10:06.08ID:IITj/Hiu
地面の細かい凸凹をどうデータ化するかが胆かと思う。
/|型の地形と|\型の地形が並んでる場合、両方とも「非破壊地形」にしちゃうと、凸凹に沿わずに真横に飛んでいるように見えちゃいそう。
なお俺の場合は、
1.右下が空いている→右下に移動
2.else右が空いている→右に移動
3.else右上が空いている→右上に移動
4.else爆発
と書きたい模様
(そして坂道を延々登っていくミサイル)
/|型の地形と|\型の地形が並んでる場合、両方とも「非破壊地形」にしちゃうと、凸凹に沿わずに真横に飛んでいるように見えちゃいそう。
なお俺の場合は、
1.右下が空いている→右下に移動
2.else右が空いている→右に移動
3.else右上が空いている→右上に移動
4.else爆発
と書きたい模様
(そして坂道を延々登っていくミサイル)
2018/05/31(木) 15:37:36.49ID:d58xUOV7
モンハンワールドで首長系モンスを実装出来ないのは、ダウン時に段差に首や頭がめり込むからという間抜けな理由なのですが、
不可能なのですか?
UR4&HAVOK
不可能なのですか?
UR4&HAVOK
2018/05/31(木) 18:20:16.72ID:f6lDwIJE
ネットスライム君、こんなところに居ないで自スレを伸ばしゲームを完成させて早くデバッグさせなさい。先生はカンカンに怒って居ます。
2018/05/31(木) 21:24:38.84ID:afJ9Cg6n
>>29
ごめん、言葉だけだとよくわからん。
もし29に書いてあるようなことを俺がやるとすると、こんな感じかなぁ。。。
(C#失礼)
static T SelectByRandom<T>(Dictionary<T, int> dic) {
//荷重合計までの乱数を発生
int n = MyRandom(dic.Sum(x => x.Value));
//乱数に応じたオブジェクト選択
foreach(var kv in dic) {
if ((n -= kv.Value) < 0) {
//選択
return kv.Key;
}
}
throw new Exception();//エラー
}
実際はDictionary使わないし、関数化もしないけど、とりあえずイメージで。
ループ回して乱数値に応じた選択をするのが、俺的に定番。
コンパイラ通してないのでエラーでるかもw
呼び出し方はこんな感じ
//準備
var weightDic = new Dictionary<MyClass, int>();
weightDic[objA] = 30;//30の確率でobjAを選択
weightDic[objB] = 90;//90の確率でobjBを選択
weightDic[objC] = 40;//40の確率でobjCを選択
//選択そして実行
var selectedObject = SelectByRandom<MyClass>(weightDic);
ごめん、言葉だけだとよくわからん。
もし29に書いてあるようなことを俺がやるとすると、こんな感じかなぁ。。。
(C#失礼)
static T SelectByRandom<T>(Dictionary<T, int> dic) {
//荷重合計までの乱数を発生
int n = MyRandom(dic.Sum(x => x.Value));
//乱数に応じたオブジェクト選択
foreach(var kv in dic) {
if ((n -= kv.Value) < 0) {
//選択
return kv.Key;
}
}
throw new Exception();//エラー
}
実際はDictionary使わないし、関数化もしないけど、とりあえずイメージで。
ループ回して乱数値に応じた選択をするのが、俺的に定番。
コンパイラ通してないのでエラーでるかもw
呼び出し方はこんな感じ
//準備
var weightDic = new Dictionary<MyClass, int>();
weightDic[objA] = 30;//30の確率でobjAを選択
weightDic[objB] = 90;//90の確率でobjBを選択
weightDic[objC] = 40;//40の確率でobjCを選択
//選択そして実行
var selectedObject = SelectByRandom<MyClass>(weightDic);
2018/06/01(金) 07:45:20.95ID:2GLaryXx
ここ写経スレ?
36ダーク王鍬大使 ◆SoVpkB15jY
2018/06/01(金) 10:20:16.59ID:dKo9snWk そうでふよ(^^
2018/06/01(金) 11:40:53.50ID:Pq7J7Prf
浄土真宗羅列すまん。
コード禁止は知ってたが、言葉で説明する自信がなかった。
親子丼食べて落ち着くよ
コード禁止は知ってたが、言葉で説明する自信がなかった。
親子丼食べて落ち着くよ
3829
2018/06/01(金) 16:13:07.09ID:0NO1muzn えー、すいません。
>>29は、
えーと、@分岐させたいケースごとに適当な数をセットし、Aその合計でそれぞれ割ると、それぞれの確率、重み?になるので、その確率を順に足すことで、0.0〜1.0に収まる範囲に分岐の確率を設定できるので、そこに乱数値を与えて分岐のIDを返す。
@だけ渡せば良く、A以降を関数化したもの、です。
前述したように、分岐数も自由だし、分岐に用いる割合の合計を100とか1.0にしなくてもよい点が、自分ではなかなか閃いたなあ、というもの、でした。
m(_ _)m
>>29は、
えーと、@分岐させたいケースごとに適当な数をセットし、Aその合計でそれぞれ割ると、それぞれの確率、重み?になるので、その確率を順に足すことで、0.0〜1.0に収まる範囲に分岐の確率を設定できるので、そこに乱数値を与えて分岐のIDを返す。
@だけ渡せば良く、A以降を関数化したもの、です。
前述したように、分岐数も自由だし、分岐に用いる割合の合計を100とか1.0にしなくてもよい点が、自分ではなかなか閃いたなあ、というもの、でした。
m(_ _)m
3929
2018/06/01(金) 16:22:47.28ID:0NO1muzn >>38のメリットは、関数化によるものは当然ですが、@を変更するだけで、分岐を増やしたりそれぞれの確率を変えたり出来る修正の簡略性でしょうか。
関数の中では、分岐IDを返すのはforとかdo loopになってますが、
普通にselectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間が減るかと。
関数の中では、分岐IDを返すのはforとかdo loopになってますが、
普通にselectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間が減るかと。
2018/06/01(金) 21:36:46.13ID:zTDrksgY
なるほど!・・・だいたい34で合ってたな!(強引)
>selectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間
これはまったくその通り。
複数のモノからウェイトに応じて1つを選択する処理って、基本動的だから、ハードコーディングできないしね。
自分の場合は、クセで、なるべく整数で扱うように組んでしまうw
>selectを使う場合の分岐を増やしたり確率を変更したりする時より修正の手間
これはまったくその通り。
複数のモノからウェイトに応じて1つを選択する処理って、基本動的だから、ハードコーディングできないしね。
自分の場合は、クセで、なるべく整数で扱うように組んでしまうw
2018/06/02(土) 08:14:34.42ID:v2De4DA4
グラディウス4の1面のボスの変形ってどうやってるんだろ?
頂点ID単位で変形前後のメッシュモデルを関連付けてるんだろうか
キャラ変形は昔からテーマみたいで、色んなタイトルが導入してるけど、作り込むのが大変そうな割に今一つインパクトに欠けるんだよな
頂点ID単位で変形前後のメッシュモデルを関連付けてるんだろうか
キャラ変形は昔からテーマみたいで、色んなタイトルが導入してるけど、作り込むのが大変そうな割に今一つインパクトに欠けるんだよな
2018/06/03(日) 20:50:11.51ID:cxQibUuc
2018/06/04(月) 16:31:01.07ID:EEJNpDFt
マウスジェスチャー使ってみたいな
2018/06/04(月) 20:13:06.13ID:8xsfA6rj
>>42
モーフィングの範疇に入るんですかね。そのキーワードからは、頭部メッシュの変形例が思い浮かぶ
グラ4の1ボスの最初の形態である3つ首竜は、各首がランダムに動いており、変形前後のメッシュ形状が一様ではないように見えるが、
あらかじめ中間メッシュを準備しておいて使ってるのかな?
いずれにせよこの演出は、DQ4のデスピサロほどには、プレイヤーの印象に残らなった気がする
モーフィングの範疇に入るんですかね。そのキーワードからは、頭部メッシュの変形例が思い浮かぶ
グラ4の1ボスの最初の形態である3つ首竜は、各首がランダムに動いており、変形前後のメッシュ形状が一様ではないように見えるが、
あらかじめ中間メッシュを準備しておいて使ってるのかな?
いずれにせよこの演出は、DQ4のデスピサロほどには、プレイヤーの印象に残らなった気がする
2018/06/04(月) 20:57:21.77ID:9Q3y7VLu
ドラクエってwwwww
2018/06/04(月) 22:03:26.23ID:VMODjZSK
2018/06/04(月) 22:54:57.18ID:q8Why9BM
オレは両辺にaがあるのが気持ち悪い
481
2018/06/05(火) 08:09:45.07ID:d+YvGmuW2018/06/05(火) 23:16:47.68ID:SXh27SaO
質問です
ファミコンのゴルフゲーム(マリオUSコース)などの
3D的な画面ってどうやって処理してるのでしょうか?
ファミコンのゴルフゲーム(マリオUSコース)などの
3D的な画面ってどうやって処理してるのでしょうか?
2018/06/10(日) 14:53:10.30ID:e9Y5gB6k
アラド戦記や天華百円?のような
高さの概念もあるベルトスクロールってどう実現したらいいのでしょう、なかなかノウハウが見当たりません
単純に斜めから見下ろしてる3Dゲームみたいなものなのでしょうか?
高さの概念もあるベルトスクロールってどう実現したらいいのでしょう、なかなかノウハウが見当たりません
単純に斜めから見下ろしてる3Dゲームみたいなものなのでしょうか?
2018/06/10(日) 19:30:49.96ID:2dOgpg9v
あぁもうスレ主あきちゃったかな
2018/06/10(日) 20:26:48.18ID:e9Y5gB6k
このスレはだめそうね
2018/06/10(日) 20:40:28.38ID:V+n/Ok0R
>>51
思い付きで立てたスレなんてこんなもの
思い付きで立てたスレなんてこんなもの
2018/06/11(月) 01:23:02.34ID:A7oKBA09
難しい質問に答えられる人がいるはずないもんな
2018/06/11(月) 13:49:53.82ID:oKxCgL/T
>>50
その分野の経験ないけど、
座標を3Dでもたせて3Dで当たり判定すりゃいいだけだろ
繰り出したパンチ(=プレイヤー攻撃)付近の当たり判定となっている2Dの矩形(地面範囲)が、敵の当たり判定2D矩形(地面範囲)と重なるかどうかで判定してたのを、
パンチ付近の3Dの直方体が、敵の当たり判定の3D直方体と重なる部分があるかどうかでやりゃいいだけなんじゃね
直方体じゃなくて、球面判定というか、3Dの距離で判定してもいいだろうが
その分野の経験ないけど、
座標を3Dでもたせて3Dで当たり判定すりゃいいだけだろ
繰り出したパンチ(=プレイヤー攻撃)付近の当たり判定となっている2Dの矩形(地面範囲)が、敵の当たり判定2D矩形(地面範囲)と重なるかどうかで判定してたのを、
パンチ付近の3Dの直方体が、敵の当たり判定の3D直方体と重なる部分があるかどうかでやりゃいいだけなんじゃね
直方体じゃなくて、球面判定というか、3Dの距離で判定してもいいだろうが
2018/06/15(金) 04:44:27.73ID:JTGrmWDc
グラデュウスの話が出てたんで、
オプションを実装する場合の考え方を教えてください。
自機が止まると自機と重なるオプションと、
自機が止まると、その場で停止するオプションと。
オプションを実装する場合の考え方を教えてください。
自機が止まると自機と重なるオプションと、
自機が止まると、その場で停止するオプションと。
2018/06/15(金) 08:44:45.17ID:2u95J2FD
>>56
前者は、常に、あるいは自機と自分の位置が一定以上離れている場合、自機との座標に自分(オプション)の位置を近づけていく。(ただし動いている時は一定の距離を保つ必要があるので、後述)
後者は、自機が止まっている時、上記処理を行わない。
自機を動かしている時のオプションの動きは、、、
あれは、前のオプションに追従するような感じだよね。
動かしている時のみ、前のオプションの座標に自分を近づける、で良いのかな。それだと、後ろがどんどんショートカットしてきそうだけど、それでいいのかな?
以上です。
前者は、常に、あるいは自機と自分の位置が一定以上離れている場合、自機との座標に自分(オプション)の位置を近づけていく。(ただし動いている時は一定の距離を保つ必要があるので、後述)
後者は、自機が止まっている時、上記処理を行わない。
自機を動かしている時のオプションの動きは、、、
あれは、前のオプションに追従するような感じだよね。
動かしている時のみ、前のオプションの座標に自分を近づける、で良いのかな。それだと、後ろがどんどんショートカットしてきそうだけど、それでいいのかな?
以上です。
2018/06/15(金) 14:15:08.08ID:quv25Q7S
各フレームの自機の位置を配列に記憶。
1番オプションは(例えば)10フレーム前の座標を設定、2番オプションは20フレーム前、3番オプションは(略)
自機が停止している状態で、位置記憶とオプション座標更新をすれば、重なる系のオプションになるし、
自機が停止している状態で、位置記憶とオプション座標更新をしないなら、重ならない系のオプションになる。
1番オプションは(例えば)10フレーム前の座標を設定、2番オプションは20フレーム前、3番オプションは(略)
自機が停止している状態で、位置記憶とオプション座標更新をすれば、重なる系のオプションになるし、
自機が停止している状態で、位置記憶とオプション座標更新をしないなら、重ならない系のオプションになる。
2018/06/15(金) 20:05:44.71ID:PQDvx7FC
ファミコンなら飛び出せ大作戦の床どうやってんだ?
左右の動きはラスターとして、奥から手前ってあれ市松模様にするのは一定の幅でガバッとずらしてるのはわかるけど。
よくあるスコア表示残して縦スクロールするあれやってんのか?
左右の動きはラスターとして、奥から手前ってあれ市松模様にするのは一定の幅でガバッとずらしてるのはわかるけど。
よくあるスコア表示残して縦スクロールするあれやってんのか?
2018/06/20(水) 15:47:11.60ID:ZrW2wcFn
ポータルのポータルってどうやってるの?
向こう側見えるし、もの持ってこれるし、中途半端に入れるし
向こう側見えるし、もの持ってこれるし、中途半端に入れるし
2018/06/22(金) 10:00:16.03ID:ANGPpuI8
つーかここ、例のスレとは大違いで、答えても何の礼も無いよなw
>>60
レンダリングに関しては:
カメラ視点を複数用意して、穴の向こうの視野を一旦テクスチャにレンダリングして、テクスチャを穴のこちら側の壁に貼り付けてるんだろう
カメラ視点は3つくらいあるのかな(1人称視点、穴の向こう側の視野の視点、穴の向こう側に開いている穴から見える視野の視点)
移動に関しては:
ある境界面を境に位置をワープさせてるんじゃないか。パックマンのワープトンネルみたいなもんだろ
>>60
レンダリングに関しては:
カメラ視点を複数用意して、穴の向こうの視野を一旦テクスチャにレンダリングして、テクスチャを穴のこちら側の壁に貼り付けてるんだろう
カメラ視点は3つくらいあるのかな(1人称視点、穴の向こう側の視野の視点、穴の向こう側に開いている穴から見える視野の視点)
移動に関しては:
ある境界面を境に位置をワープさせてるんじゃないか。パックマンのワープトンネルみたいなもんだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★3 [夜のけいちゃん★]
- 男女2人死亡の赤坂・個室サウナ火災、非常ボタン押された形跡…従業員は煙感知の報知機で気づく [蚤の市★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★7 [nita★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 ★4 [蚤の市★]
- 植田総裁「中立金利」😡利上げするの?しないの?どっち付かずのアイウォンチューで市場を揺さぶる [993451824]
- 【高市悲報】「デマ発信」自民党の国光あやの外務副大臣、アカウント消して逃亡! [115996789]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ184
- 【悲報】三浦瑠麗「市民が当事者意識を持つためにも徴兵制は必要🤩」 [616817505]
- サウナ火災焼死事件、死亡した夫婦は非常ボタンを押すも扉は開かず蒸し焼きに [963243619]
- クイチがク クンニジュウハチ
