X



【ゲームプログラミング】お前らがもしゲームを作るとして
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:52:38.699ID:vt3r32Qn0
普段はプレイヤーの周囲をぐるぐる回るだけだがたまにプレイヤーによって攻撃するスクリプト作るならどうする?
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:53:43.641ID:vt3r32Qn0
攻撃イベントの終わりにAttackTimeを作って
AttackTimeが0になったら近寄るとかするの?
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:54:07.971ID:GnDRqsXb0
敵なのかオプション的ななにかなのか
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:54:29.341ID:vt3r32Qn0
>>3
敵キャラのAI作ってる
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:55:37.677ID:mfCUfKdk0
敵のことか
たまになんだからランダムで攻撃に入るんじゃないの
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:56:00.146ID:MtgTLiB+0
プレイヤーのキー入力が一方向のまま一定時間が流れたなら
プレイヤーはスクリプトを舐めて放置してる証拠だし、そこで攻撃する
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:56:03.557ID:vt3r32Qn0
ちなみに
if(AttackTime<=0)
{攻撃する処理}
else
{周囲を回る}
とかにした場合ずっと攻撃してる
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:56:56.129ID:vt3r32Qn0
>>6
どう実装すんの?
Rx?
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:57:34.870ID:vt3r32Qn0
ちなみに使ってるのはUnityのNavmeshです
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 16:57:46.250ID:GnDRqsXb0
「寄って」か
乱数か何かを引き金にグルグルか攻撃か分岐させる
0011以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:00:39.204ID:6knuFwZe0
基本的なAIはパターンの繰り返し
パターン選別はランダムが簡単

NavmeshはAIじゃなくて経路探索アルゴリズムじゃね
AIの中の移動の所に組み込む
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:03:54.750ID:vt3r32Qn0
今こんな感じ
メイン処理
~MainClass~
else if(distance<3)←敵キャラとプレイヤーが3m以下なら
{
_attackTime = _enemyAttack.CheckAttackTime();←AttackClassのattackTimeを参照
if(_attackTime<=0 )
{
_agent.destination = _playerPosition;←プレイヤーに近づいて攻撃(攻撃はコライダー使ってる)
}
else
{
_agent.destination = _enemyMove.PlayerRound(_playerPosition, _position);←ぐるぐる回る処理
}
}
~AttackClass~
public float CheckAttackTime()←メインのCheckAttackTime関数が呼び出されるたびAttackTimeを減算してる
{
attackTime -= 1;
return attackTime;
}
public void OnAttackFinished()←攻撃が終わったらランダムなAttackTimeを再度追加する
{
attackTime = Random.Range(10, maxAttackTime);
attackCollider.enabled = false;
StartCoroutine(CooldownCorutine());
}
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:05:32.556ID:vt3r32Qn0
>>11
移動系のみNavMeshだな
敵キャラにコライダーつけてそれがプレイヤーに触れたら攻撃って感じなんだがプレイヤーに寄る必要がある。
そのときランダムに近づいてほしい。
0014以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:07:59.527ID:3U/0Mq9r0
マリオみたいなただのアクションなら普通に三角関数+距離で絶対位置移動でやるだけ
移動量が重要な場合はチェックポイントを振ってちゃんとつくるしかなし
0015以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:10:29.267ID:vt3r32Qn0
>>14
モンハンみたいな感じ
NaviMesh使ってる
近寄るのもプレイヤーの現在地を目的の場所として自動で動いてくれる
ただ、攻撃した後Runaround状態にならずずっと攻撃してる
0016以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:11:05.277ID:3U/0Mq9r0
Attackクラスって気持ち悪すぎだろw
何その設計
0017以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:11:19.810ID:6knuFwZe0
>>13
何に詰まってるんだ?
単純に一つのループに全部書くのが面倒とか?
確かに基本的なAIは待機モードや索敵モード、攻撃モードと切り替えるのが楽で基本だけど
0018以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:12:45.867ID:vt3r32Qn0
>>16
じゃあどうすんの?
0019以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:14:09.711ID:vt3r32Qn0
>>17
Attack状態からRunaround状態にならない
Elseじゃだめなのか?
0020以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:14:27.077ID:W4Lf2HaM0
え?日本語が意味わかんないの俺だけ?wwww
>>1に描いている意味が分からなwww
0021以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:14:47.713ID:/WncPLRdM
attackクラスありでしょ
0022以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:15:30.209ID:U3YzuvVo0
攻撃した後どうやってOnAttackFinished()呼んでるの?
0023以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:16:38.169ID:vt3r32Qn0
すまん
なぜかできたわ
0024以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:18:33.075ID:/WncPLRdM
たまにうんこするようにしようぜ
0025以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:19:38.326ID:6knuFwZe0
単純なミスで常に3M以内の処理がされてただけとかそんなんかな
0026以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:19:50.697ID:vt3r32Qn0
>>22
アニメーションクリップに直接StartイベントとFinishedイベントをつけてる
汎用性ないけどコライダーのオンオフ作業とかこっちの方が簡単だと思う
https://i.imgur.com/rFsZZ13.png
0027以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:20:58.181ID:vt3r32Qn0
>>25
スクリプトの方でデフォルト値100にしてたけどエディターのインスペクターで5が入力されてて5フレーム毎とかで近寄る処理が実行されてたみたい
0028以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:21:58.233ID:3U/0Mq9r0
毎フレームデスティネーションいじるのすげええぐいことになってそう
移動の分解能がどのくらいか知らないけど円じゃなくて8箇所で十分だろ
0029以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:29:27.017ID:vt3r32Qn0
>>28
なるほど一理ある
ただ結局NaviMeshってUpdateで処理するしプレイヤーが移動した時のこと考えるとあんまり変わらないような気がするなぁ
0030以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:42:24.955ID:NhM0igKPa
         ________
       / _ .:::::::::::::::.  _ \
      // °ヽ_ヽv /:/ °ヽ \
     ./    ̄ ̄ ´ 人 `  ̄ ̄    ヽ
     l::.       /oヽ、        |
     |:::.      // ハヽヽ        |
     |:::::::.    (( / ヽ))       |
     |::::::::.     ヽヽ/ i        .|
     ヽ::::::.____ヽ( (_______ノ
      _____/   ̄   。   `――ヽ___
     .〈                            \
      \    ゜○ 。      ゜ ○    ゜__,,ノ
          ̄\________/ ̄ ̄ ̄

  ./''7___/(_) )  /'''7 /'''7 /__7 ./''7/''7''7  / ̄/ /'''7
 / .___/.'ー"  /__/ /  /  /__7 / ./ ー'ー'    ̄  / ./
/ /___..     ___ノ /  ___.ノ /      ____.ノ ./
i___/    /____,./  /____,../      /______./

ピリジン (pyridine) −膣分泌液の主な成分
・極めて不快な悪臭を放つ液体
・消防法による危険物に指定されており一定量以上の貯蔵には消防署への届出が必要
・皮膚と接触するとメラニン細胞を活性化し黒く色素沈着を残す
・吸入すると有害(気体、蒸気、ミスト)
・発がんのおそれの疑い
・生殖能又は胎児への悪影響のおそれの疑い
・経口摂取すると眠気又はめまいのおそれ
・長期にわたる、又は反復ばく露による臓器の障害
・水生生物に非常に強い毒性
0031以下、5ちゃんねるからVIPがお送りします
垢版 |
2023/03/04(土) 17:54:47.165ID:/tUHWMoSa
ガイジウム発見!
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況