UnityでMMO作りたいけどどうする!?(^^ [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/07/16(日) 15:50:08.98ID:wWznjvX2
サーバー代とかはあとで考えまひょう(^^
今はちまちま作りまふ(^^
2017/07/16(日) 15:53:05.66ID:wWznjvX2
僕にできるもの(^^
3Dモデリング
ちょっとのC#
Unityを少々
Unity3Dでは何の役にも立たないドット絵技術
イラスト
さてさてここからどうしまひょうか?(^^
今のところNavmeshAgentでマウスクリックで移動と右クリックで画面回転までできてまふ(^^
僕は本気で作りたいので(^^
ボッキング!(^^
2017/07/16(日) 16:26:51.94ID:0nB2ZewC
まず、具体的にどんなシステムと規模感のものを作りたいのか、簡潔に書きたまえ
くだらん設定だのストーリーだの書いたら粗ちんへし折る
2017/07/16(日) 17:25:59.06ID:e7vF+DU4
アセットを買えばいいと思いますよ
5名無し@キムチ
垢版 |
2017/07/16(日) 18:15:22.49ID:nlNc/6v0
MMOって何ですか?
それはすでにあるものですか、それとも貴方が初めて考案してものですか?
それならわかりますが、すでにあるものをつくりたいというのならば、不可解ですね。
2017/07/16(日) 18:52:24.01ID:wWznjvX2
作りたいものはもう配信終了したエターナルカオスというゲームに似せたものでふ(^^
初期も初期のMMOなのでひて(^^
これなら僕にも作れるんじゃないかと思いまひた(^^
と言ってもフィールドのモデリングとかは一人だととんでもない作業になりそうでふが(^^
あと思い出深いので再現してみたい所が多くありまふ(^^
2017/07/16(日) 19:26:12.96ID:0nB2ZewC
既存mmoの焼き直しとか
挫折一直線の超モチベ下がりやすいパターンだな笑
2017/07/16(日) 19:28:22.25ID:wWznjvX2
何年も前からずっと作ってみたかった夢なんでふ(^^
モチベは下がりまふぇんよ(^^
ボッキング!(^^
2017/07/16(日) 20:25:31.03ID:Zfy7kJD2
迷子にならない奴は人に道を聞かなくても勝手に到達する
その段階で終わってんだよ
2017/07/16(日) 20:29:43.03ID:uDcFP9Rx
何でまだ完成してないのか理解出来ん
2017/07/16(日) 20:50:41.10ID:GDPNdJor
エターナルファンタジーX
〜終わらない物語が、今始まらなかったけどどうする?〜
2017/07/16(日) 22:22:23.37ID:p++G5eqZ
ではとりあえずやるべき事リスト書き出してみれ
2017/07/16(日) 22:49:39.53ID:wWznjvX2
アイテムを拾う
敵を倒してアイテムを落とす
装備
装備によって見た目が変わる
経験値でレベ上げ
アイテム消費
HPMPなどなど・・・
とかやりたいことは山積みでふ(^^
2017/07/17(月) 01:31:42.20ID:nHqJZ8Q9
乞食が正体現し始めたな
2017/07/17(月) 01:46:43.51ID:9YERIW4A
元々現してる正体に今更気づくって遅すぎない貝?(^^
2017/07/17(月) 04:37:33.30ID:+OnxJd6v
アイテム、装備周りはインベントリの処理に骨が折れるので
バトル周りを実装する

まずは妄想上の敵への攻撃を実装したまえ
システムがさっぱりわからんが
攻撃ボタン押したら攻撃モーション実行
みたいなことをするだけでよい
2017/07/17(月) 04:55:25.06ID:9YERIW4A
ありがとうございまんこ(^^
Unityというよりプログラミングは初心者なものでよくわかりまふぇんが(^^
クリックで敵に接近して隣接した判定を得るにはどうすれば?(^^
攻撃そのものは敵の体力変数が0になるまで攻撃アニメーションと変数削りを繰り返すだけってわかるのでふが(^^
2017/07/17(月) 05:40:01.20ID:+OnxJd6v
まず隣接してるものとして実装したまえ
hp周りはまだてをつけなくてよい

隣接は距離が一定以内かどうか調べるだけだがそれもあとでよい
2017/07/17(月) 05:47:10.98ID:9YERIW4A
出来まひた(^^
お次はどうすれば?(^^
2017/07/17(月) 07:00:28.46ID:+OnxJd6v
仮の敵としてカカシ配置しれ

カカシのtagをenemyにして
クリックしたポイントのオブジェクトのタグがenemyなら
targetにそのオブジェクトを設定
距離が一定以下になったらagent.ResetPathで移動をとめる
2017/07/17(月) 07:01:45.00ID:+OnxJd6v
クリックした場所に敵がいるなら
その敵をGameObject targetとして保管しておいて
近くに移動したら止まる

を実装する
2017/07/17(月) 07:02:43.38ID:+OnxJd6v
とりあえず距離の調べ方

http://blog.livedoor.jp/bribser_dev/archives/4230746.html
2017/07/17(月) 07:06:18.88ID:+OnxJd6v
GameObject targetは敵でないものをクリックしたらぬるっときなさい

そこまでできたら
targetがぬるでなく、距離が一定以内ならさっき実装した攻撃モーションを延々実施
まで実装
2017/07/17(月) 07:09:56.27ID:+OnxJd6v
あとtargetが設定されたときは
debug.log("ボッキング!!!(^^");
て書いときなさい
気分の問題
これ大事
2017/07/17(月) 07:46:26.91ID:+OnxJd6v
さらにそこまでできたら
enemyにhpとダメージを受けてhp減らすメソッド、
playerに攻撃して与ダメージ算出するメソッド用意て


攻撃発生したら

target.damage( this.attack() );

みたいに使うんだぞ

んでカカシのhpが0になったらragdollだか、倒されモーションだかして
tagをenemyから除外すとけ
それから
その場に四角でいいから謎のアイテムポップさせてモンスターは適当にけす
アイテムクリックしたらアイテム消す

ここまでやったらだいたい完成だろ
ボッキング(^^ !!
26名無し@キムチ
垢版 |
2017/07/17(月) 09:59:28.42ID:xg7soj0w
ほう、きみたちはゲームをつくっているのか?
だったらゲームの作り方の教科書を読んで、その通りにつくりなさい。
どうせオリジナリティなんてないんだから、そのほうがいい!!
2017/07/17(月) 10:02:55.31ID:f4888I36
うっせえおまえはヒザごんごんでもアップデートしてろ!!
ボッキング!!(^^
2017/07/17(月) 15:55:14.35ID:9YERIW4A
ごめんなふぁい(^^
寝てまひた(^^
色々アドバイスありがとうございまふ(^^
2017/07/17(月) 19:35:15.11ID:TRWJWifB
まだできんのか
よくわからんことがあるなら正直に言いたまえ
横柄な態度で補足しちやるよってに
2017/07/17(月) 20:02:04.30ID:9YERIW4A
ちょっと待ってくらふぁい(^^
情報が多すぎてちょっと理解が追い付かないのでひとつづつやっていきまふ(^^
2017/07/17(月) 20:05:16.76ID:9YERIW4A
クリックしたポイントのオブジェクトタグを取得する方法に手こずってるのでしばしおまちを(^^
ボッキング!(^^
2017/07/17(月) 20:21:50.58ID:9YERIW4A
タグ取得できるようになりまひた(^^
2017/07/17(月) 20:26:23.78ID:TRWJWifB
ちっと整理したる、たぐokか、一番むずいのタグのしゅとくだから
あと10秒ぐらいで全部作れや

@仮の敵を配置する、これは動かないので以降かかしくんと呼ぶ、四角でもなんでもよい
Aかかしくんに敵をあらわすタグenemyをつける
Bクリックされたのがかかしくんであるかどうか、phisics.raycastのパラメータでタグを 調べる
CついでにこのgameObject、つまりかかしくんをtargetという変数を用意して保存する
Dクリックしたのがenemyでないならtargetはnullをいれておく
E移動しつつtargetとの距離を調べ、一定距離になったらagent.Resetpathで停止させる

これで接敵っぽいことはできる
2017/07/17(月) 20:33:36.19ID:TRWJWifB
ボッキング(^^ てちゃんとログだしとけ、全然意味ないけど

こっから攻撃
F接敵しているなら攻撃アニメをばしばし再生する
Gかかしくんにhpと、ダメージを受けたときによばれるメソッドを用意する

ちょっとここで訂正とお詫びがございます
>>25

>攻撃発生したら

>target.damage( this.attack() );

>みたいに使うんだぞ

とか書いてしまいましたが、これは誤りです。おまえのせいです。

正しくは、

Hボッキングに攻撃するメソッドを用意する、このメソッドはtargetのダメージメソッドを呼ぶ

です。おまえのせいで間違えました。ふざけんな
2017/07/17(月) 20:34:44.52ID:9YERIW4A
よくわかりまふぇんが(^^
Cのオブジェクトを保存するのはこうでいいでふか?(^^
string target = hit.collider.gameObject;
2017/07/17(月) 20:35:11.84ID:TRWJWifB
あれ、あってるか、よくわかんなくなっちゃてへぺろ

なんかうまいことやってくれw
2017/07/17(月) 20:36:14.20ID:TRWJWifB
ちげええ

なんでゲームオブジェクトだってわかってんのにstringにいれてんだ
ひっこぬくぞ
2017/07/17(月) 20:41:13.16ID:9YERIW4A
C#は素人なので難しいでふ(^^
もうちょっとググって調べてみまふね(^^
グーグル先生は偉大でふ(^^
ボッキング!(^^
2017/07/17(月) 20:47:18.01ID:TRWJWifB
ぐぐってなんぼがわかっただけでも大したもんだよ

続き

Ihp削って、0以下になったらenemyタグは消す、というかデフォのタグで上書きしとく

11の丸バージョンがねぇじゃんけ…
11:倒されたかかしくんを消す処理、めんどかったらとりあえずdestroyとかでもいい
ただし、これは本人に判断させる、ボッキングが判断したらダメ

以降は作りたいゲームの仕様がわからんのでとりあえずその場にアイテム出す処理
この先はやらなくてもいい

ちなみにかかしくんのdestroyの前にやっとかんと座標まわりがめんどいことになる

12:同じ場所にアイテムポップさせる
13:アイテムタグつけといてこれがクリックされたら消す処理(アイテムげっとした風)

以上、ゲーム完成、スレ削除依頼しとくわ、単発スレたててんじゃねーぞこら
2017/07/17(月) 20:58:27.26ID:TRWJWifB
11を補足

かかしくんのダメージメソッドの中で生死判定、つまりhpまだ残ってるかしらを調べる
死亡処理(destroyとか死亡アニメ再生とかアイテムポップとかタグ消しとかまぁ死亡時に必要なこと、あとから増えたりする)も
メソッドにしてまとめておく

0以下になってたらそのメソッドを、ああC#って関数っていうんだっけ?
まぁその死亡関数を呼ぶという形式にしておく
本人の判断と責任で後処理する、これオブジェクト恥垢の基本
2017/07/17(月) 21:03:31.38ID:9YERIW4A
色々とありがとうございまふ(^^
分からない所はググりながらまったり作っていきたいと思いまふ(^^
ボッキング!(^^
42名前は開発中のものです。
垢版 |
2017/07/17(月) 21:11:26.21ID:TRWJWifB
しゃあないなあ
>>35はぐぐりようないだろうから答えな

player(ボッキング)の変数として上の方にGameObject target;

raycast使ってタグ調べたついでにそれがかかしくんなら
target = hit;
そうでなければ
target = null;
2017/07/17(月) 21:12:21.70ID:TRWJWifB
ああ、あげちまった><

しかもまちがえた
target = hit.collider.gameObject;
2017/07/18(火) 05:20:41.75ID:LFAHK9mb
質問がありまふ(^^
主人公とモンスターの距離を測るところなんでふが(^^
複数のモンスターとの距離を測りたい場合はどうすればよいのでひょうか?(^^
2017/07/18(火) 06:36:53.14ID:iiR7lCMv
複数を同時にターゲットすることがありえるわけ?
中間地点に向かうのか?
2017/07/18(火) 06:44:20.69ID:iiR7lCMv
aoeのこと言ってるなら中心座標だろうけど
ちょっと言ってる意味がわからん
2017/07/18(火) 12:45:12.67ID:CZ0VnC0S
>>44
GameObject.FindGameObjectsWithTag("タグ名") で配列で全部の敵オブジェクト取って
アレコレすればいいよ
2017/07/18(火) 13:50:41.80ID:tBTR5Ytb
>>47
そんなことやったら
フィールド上のタグもってる全てが無差別にヒットすんじゃねーか

そもそもそういうこと言ってるわけじゃないだろ
2017/07/18(火) 17:38:02.40ID:v2/ZooZ+
>>47
手法としては間違ってないがMMOだと真っ正直にやると負荷がやばいぞと
フィールドをグリッドで切ってプレイヤーの存在するグリッドと隣接するグリッドしか見ないとかなんらか負荷軽減策を仕込んでおかないと厳しいと思う
2017/07/18(火) 18:44:02.69ID:CZ0VnC0S
>>48
>>49
複数と全部を勘違いしただけよ
2017/07/19(水) 11:31:12.34ID:icXe78JA
体調崩して寝込んでまひた(^^
MMOってモンスターは無数にいるじゃないでふか(^^
そしたらターゲットはどうするのかなぁ・・・って(^^
2017/07/19(水) 12:40:31.78ID:E5XRNLdn
だから
Aを攻撃してる途中で
気が変わってBに向かう、=ターゲットを切り替える、はあり得ても
違う場所にいるAとBの両方向に同時に向かう状況は
ありえないだろ

今の実装でもターゲットは切り替えられる、
さっさと作らねえとちょん切るぞ
2017/07/19(水) 12:44:44.35ID:E5XRNLdn
わかんねえとこがあったら
サクッと聞け
速やかに聞け
2017/07/19(水) 12:46:02.78ID:icXe78JA
ああ、同時に複数タげるのは必要ないのでふか(^^
ごめんなふぁい(^^
理解してまふぇんでひた(^^
2017/07/19(水) 12:51:24.62ID:icXe78JA
Dまでは出来てまふ(^^
今日中にIくらいまでは作りたいでふ(^^
2017/07/19(水) 12:55:22.19ID:E5XRNLdn
すまんけど
今特殊記号よめないの
何番までできたって?
2017/07/19(水) 12:56:00.49ID:E5XRNLdn
んで何番までつくるって?
2017/07/19(水) 13:03:59.41ID:icXe78JA
10まで作りたいでふ(^^
ゲームオブジェクトをintに変換できなくて困ってまふ(^^
どうすればよいでひょうか?(^^
2017/07/19(水) 13:06:02.18ID:icXe78JA
すまぬ自己解決(^^
2017/07/19(水) 14:03:48.53ID:CQIhy6fv
ほう、10まで?

ヒントをやろう
アニメーションイベントで関数よびたまえ
2017/07/19(水) 15:51:59.44ID:icXe78JA
モンスターをクリックで接近+攻撃モーション実装まで出来まひた(^^
次はhp削るのが必要でふ(^^
ここら辺はググれば口座がいくらでも出てくるから何とかなりそうでふ(^^
ボッキング!(^^
2017/07/19(水) 16:27:08.48ID:CQIhy6fv
いい感じじゃん
ちんぽこのくせに生意気だな
2017/07/19(水) 21:39:25.34ID:e9BZpgtW
おいちんポコ野郎
調子はどうだ
11まで実装したらひと段落だから頑張れ

12と13はとりあえずやんなくてもいいぞ
11までできるやつならおさらいだから余裕だとは思うが
アイテム周りは仕様がわからんしアイテム管理はどのみち先の話だ
2017/07/19(水) 21:42:13.10ID:icXe78JA
ごめんなふぁい(^^
ゲームプレイして休憩してまひた(^^
明日は早いのでそろそろ寝まふ(^^
明日頑張って11まで作りたいでふ(^^
ボッキング!(^^
2017/07/19(水) 22:09:19.18ID:e9BZpgtW
ズコー
2017/07/20(木) 19:18:37.58ID:7Qqq0nrA
ミジンコのくせに生意気だぞ!
その調子で頑張れ
2017/07/20(木) 21:09:52.32ID:rjOzlrNF
進捗どうですか?
2017/07/20(木) 22:18:17.33ID:FIjVou3O
まだ妄想段階
ゲームが忙しくてそれどころじゃない
2017/07/20(木) 22:47:08.60ID:Ncspr4+p
いいから手を動かせ!
サボるな、ボケ!
2017/07/20(木) 23:30:19.28ID:sjuMIWgD
まさかの実質2日で挫折か
ちょっとこれはひどい、ゲ板史上最速か?
>>8とかまるでデタラメか粗ちんめ
2017/07/21(金) 03:26:42.76ID:3CeMWW3S
すまぬ、映画見に行ったりで忙しかったでふ(^^
2017/07/22(土) 00:24:06.36ID:aqD0VGC6
>>70
公式記録では26時間で挫折ってのがある
2017/07/22(土) 15:09:29.97ID:18nRhuAR
なにがボッキングだよ萎え萎えじゃねぇか
2017/07/23(日) 13:06:24.95ID:dSasX4LR
ごめんなふぁい(^^
急にPCが壊れてゲーム制作どころじゃなくなってまひた(^^
ご迷惑をおかけしまんこ(^^
でもpcがCore i3からCore i7 7700にグレードアップしまひた(^^
ボッキング!(^^
2017/07/23(日) 13:21:14.39ID:VOnL7L1t
超特急でしあげろ
2017/07/23(日) 13:42:30.70ID:HzdXiIAn
・リアルが忙しい→(使用済)
・PC壊れた   →(使用済)
・病気で中断  →(未使用)
2017/07/23(日) 15:32:27.21ID:dSasX4LR
今HPの実装で躓いてまふ(^^
HPは変数設定すればいいのでふが(^^
攻撃をどうするかで困ってまふ(^^
78名前は開発中のものです。
垢版 |
2017/07/23(日) 16:40:14.28ID:VOnL7L1t
>>60
2017/07/23(日) 16:41:08.32ID:VOnL7L1t
あげちゃった悪い悪い(’’ ぽっきんくー
攻撃関数を攻撃してるどっかのタイミングで呼ぶ
2017/07/23(日) 18:59:13.35ID:dSasX4LR
関数っていうとメソッドでふか?(^^
僕はメソッド使ったことないほどの初心者なので未知のエリア♂(^^
頑張りまふ(^^
2017/07/23(日) 19:25:10.93ID:VOnL7L1t
え、嘘つけ・・・
関数使ってるだろ・・・

まぁいいやちょっとサービス

1.かかしくんのスクリプトに
public void damaged(int damage){
 かかしくんのhpをdamage分減らす処理
}
を用意する

2.プレイヤーのスクリプトに
void attack(){
 target(かかしくん)のdamaged(適当な数字)関数を実行する処理
}
を用意する


3.プレイヤー攻撃アニメーションクリップのeventsの適当な位置で
attackを呼び出す

もろ答えみたいなもんだからなんとかなるだろ
2017/07/23(日) 19:43:35.76ID:dSasX4LR
public class MMOモンスターへ攻撃 : MonoBehaviour {
static public float 攻撃素手 = 1;
private モンスターHP モンスターのHP;

void attack()
{
モンスターのHP = GetComponent<モンスターHP>();
}
}
ここまでは何とか出来まひた(^^
でもメソッド関連は初心者なのでもうちょっとヒントをくらふぁい(^^
2017/07/23(日) 19:45:12.97ID:dSasX4LR
よく見たらかかしくんのメソッド呼び出せてない?(^^
ちょっと頭冷やしまひょう(^^
2017/07/23(日) 19:46:53.91ID:VOnL7L1t
とりあえずプレイヤーのattackの中で
>モンスターのHP = GetComponent<モンスターHP>();
これやっちゃだめ

文法的にはできるが反則
かかしくんのhpを直接さわっていいのは
かかしくんだけ

>>81のようにしなさい
2017/07/23(日) 19:50:51.47ID:VOnL7L1t
あとhpは
int hp = 10;
とかint型数値に

素手も同じ
floatにする意味があまり感じられないのでとりあえずintで

って世話焼けるなww
ちゃんとC#勉強しとけっつーのw
2017/07/23(日) 20:02:02.84ID:dSasX4LR
かかしくんのhpをdamage分減らす処理

モンスターのHP = モンスターのHP - MMOモンスターへ攻撃.攻撃素手;
こうでよろしいでふか?(^^
C#はまだまだ勉強途中なのでひて(^^
一歩進んだところをやれば勉強になるんじゃないかとMMOを作り始めまひた(^^
ついでに言うとMMOを作るのは僕の夢でひた(^^
オンライン実装できなくてもMMO風のゲームが作れれば僕はうれしいでふ(^^
2017/07/23(日) 20:05:16.94ID:VOnL7L1t
2.プレイヤーのスクリプトに
void attack(){
 target.damaged(攻撃素手);
}

これ

damaged関数はpublicだぞ

mmo風ね、根性みせろや
2017/07/23(日) 20:16:44.05ID:dSasX4LR
なかなか手こずりまふ(^^
>>87を入れてみるとtargetがエラーの原因になりまふ(^^
ゲームオブジェクト名、スクリプト名に置換してみてもダメでふひ(^^
困りまひたね(^^
もうちょっとC#本の関数関連の所を読んでみまふ(^^
2017/07/23(日) 20:17:40.10ID:VOnL7L1t
あ、悪い

target.GetComponent<enemy>().damaged(攻撃素手);

こうだな

うーん、なんか気持ち悪いな
2017/07/23(日) 20:20:24.75ID:VOnL7L1t
enemyってのはかかしくんのスクリプト名な

かかしくんスクリプトのdamagedメソッドを呼ぶ意味
2017/07/23(日) 20:26:34.88ID:dSasX4LR
やっぱりターゲットがエラーを吐いてしまいまふ(^^
チンコショボーンでふ(^^
http://i.imgur.com/WpbJuBc.png
2017/07/23(日) 20:36:20.24ID:VOnL7L1t
日本語はやめとけ日本語は、、、まぁいいけど、、、

ちょっとまてプレイヤーのスクリプトどこいった?
そんなかに付け加えるんだぞ、attackは
そのスクリプトんなかでtarget取得してるだろ
2017/07/23(日) 20:40:16.05ID:VOnL7L1t
というかその知識でよくここまで実装できたな・・・
ある意味スゴイ・・・
2017/07/23(日) 21:27:27.20ID:dSasX4LR
今度はこんなエラーが・・・(^^
http://i.imgur.com/KJ6W2i7.png
やっぱりMMOではなくもっと簡単なものから作るべきでひたか(^^
2017/07/23(日) 21:32:10.96ID:VOnL7L1t
プレイヤーのスクリプトはりつけてみれ
キャプ画像でもいい
2017/07/23(日) 21:33:20.91ID:+WKInL5K
targetが設定されてないからじゃね
public GameObject target;

あとtargetにモンスターを入れないといかんね
2017/07/23(日) 21:43:29.96ID:VOnL7L1t
エスパーするとtargetがstringのまま...?ってとこか
2017/07/23(日) 21:48:49.74ID:dSasX4LR
たぶん出来まひた(^^
モンスターをタゲるとちゃんとモンスター名(うんこ)が入るのでできてると思いまふ(^^
http://i.imgur.com/A6toAw5.png
2017/07/23(日) 21:56:34.21ID:VOnL7L1t
(゚o゚;;


かかしくんのdamage関数に
Debug.Log仕込んでhp削れてるか調べれ
2017/07/23(日) 22:16:23.06ID:dSasX4LR
ダメでひた(^^
試してみたところAttack関数が動いてないみたいでふ(^^
2017/07/23(日) 22:21:25.96ID:VOnL7L1t
アニメクリップから呼んでっか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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