【3Dゲームエンジン】Unity 7
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2011/12/20(火) 03:42:43.52ID:PZuN57ft公式サイト(英語)
ttp://unity3d.com/unity/
JavaScript、C#といった汎用言語を使用できるのが特徴です。
個人向けバージョンは商用含め完全に無償です
wiki
ttp://www24.atwiki.jp/unity2ch/
前スレ
【3Dゲームエンジン】Unity 6
http://toro.2ch.net/test/read.cgi/gamedev/1322167021/
0659名前は開発中のものです。
2012/01/15(日) 21:46:21.54ID:JBYU6Zfx特徴的な言語仕様をみたしていない言語は勧められないな。
0660名前は開発中のものです。
2012/01/15(日) 22:21:58.12ID:U32zJK2tソート一発でできるのかと思ったら出来ないみたい、
UnityAnswersでも力技でやってるみたいでした
http://answers.unity3d.com/questions/63520/sort-two-arrays.html
0661名前は開発中のものです。
2012/01/15(日) 22:49:30.55ID:IYFS5veV敵の判別方法がないってところで悩んでるの?
0662名前は開発中のものです。
2012/01/15(日) 23:56:26.12ID:BXY4J/zy0663名前は開発中のものです。
2012/01/16(月) 01:29:13.89ID:K7iZN5yQプログラム始めたばっかなんで、違うかもしれないけど、こんなの考えてみた
var arrEnemy = GameObject.FindGameObjectsWithTag("Enemy");
var nearObj : GameObject;
var nearDist : float = 99999;
var distance : float;
for (i = 0; i < arrEnemy.length; i++) {
distance = Vector3.Distance(arrEnemy[i].transform.position, transform.position);
if (arrEnemy[i].transform.position[2] < 80 & distance < nearDist) {
nearObj = arrEnemy[i];
nearDist = distance;
}
}
if (nearObj == null) {
Debug.Log("範囲内に敵がいない");
return;
}
nearObj.transform.parent = this.transform;
nearObj.transform.localPosition = Vector3(-2, 0, 0);
0664名前は開発中のものです。
2012/01/16(月) 01:48:58.90ID:jlVs2BmE俺のアニメーションが糞なのか、お前わざと吹っ飛んでんの?って感じだわ
とりあえず、いい感じに吹っ飛んでいかない
0665名前は開発中のものです。
2012/01/16(月) 02:00:04.08ID:FVjGthcZ→ A:殴る => B:殴られる … Aの拳がBに当たるが、Bの体には重さがあるので、少し耐える
→ A:拳がぐっと、Bにめりこむ … Bはまだ動かない
→ A:拳が限界までめりこむ … 拳が "それ以上めり込まないので"、Bの体が押し出される
… Bの体には重みがあるので、水平に飛んだりはしない、むしろ 「突き飛ばされたように "転ぶ"」
のだから、倒れればいい。 で、その時ほんの少しだけ、水平方向に力が加わればいいから、
AddForceだけだと、この立体的な動きはきっと出来ない … みたいな感じか
0666名前は開発中のものです。
2012/01/16(月) 02:07:59.02ID:FVjGthcZ一定値を越えたらその越えた分について、そのベクトルへ移動を開始させるとかか
0667名前は開発中のものです。
2012/01/16(月) 02:21:24.95ID:jlVs2BmE無駄に吹っ飛ばさせようとしすぎてたのかもしれない
だが、実際”転ぶ”感じがどういう動きなのかよくわからない
ちょっと転んでくる
0668名前は開発中のものです。
2012/01/16(月) 06:03:00.18ID:sbCyswjtアプリ使用者のアカウントが何かを特定できる
IDみたいなものを知る方法ってありますか?
Android版は gmailを選択させるアプリを見かけるので
不可能ではなさそうなのですが、
iPhone版は聞かれたことが無いので、うーんて感じです。
0669名前は開発中のものです。
2012/01/16(月) 07:56:24.48ID:GvPdE7II>>660
>>663
アドバイス、ありがとうございます。
提供いただいた情報を元に、試行錯誤してみます。
0670名前は開発中のものです。
2012/01/16(月) 08:24:02.02ID:gXWX6JALそもそもiPhoneやAndroid使用者のアカウント、ってどの値の事?
あとgmail云々ってのは、単にこちらのアプリからはメーラの起動を指示してるだけでは?
そしてそこで選択されてるgmailのアカウントってのは、それはgmailアプリが管理してる物が起動時にロードされてると
0671名前は開発中のものです。
2012/01/16(月) 09:45:24.47ID:sbCyswjt返信ありがとうございます。
twitterをUnityから利用するときのように、
AndroidではMarketId、iphoneからはapple idあたりで、
ユーザーを一意に認識できる機能があるのかと勘違いしていました。
その手のAsset無いかなーと思って探していたのですが、
そんな簡単な話でもなさそうですね。
勉強不足ですみません!
0672名前は開発中のものです。
2012/01/16(月) 10:08:24.11ID:CWWIQIn/普通に考えて、第三者アプリがそれらを簡単に取得できちゃうと多分問題
0673名前は開発中のものです。
2012/01/16(月) 10:09:26.80ID:XNcUxmDgこれ移動しなの?
スクロール(移動)するならば
コリダーを利用して当ったもの(近いもの)からリストに追加していく
とかで簡単に済みそうだが
0674名前は開発中のものです。
2012/01/16(月) 10:37:10.74ID:G/p0LwOs距離でソートして終わりだろう
0675名前は開発中のものです。
2012/01/16(月) 12:49:50.23ID:CWWIQIn/0676名前は開発中のものです。
2012/01/16(月) 12:59:19.04ID:QMzL0M7W試しに黄本のチュートリアルゲーム(自分でカスタマイズしたやつ)を
書き出してみたけど、うまく書き出せなかった...orz
普通に作っていたらフラッシュ書き出しできないのかな?
0677名前は開発中のものです。
2012/01/16(月) 13:02:05.10ID:v5+nqIUPしかも3Dでゲーム性とかは2Dと進化してないから飽きられるのが速いんだよね。
0678名前は開発中のものです。
2012/01/16(月) 13:06:09.62ID:HlKmahxBもう作るのやめよーぜ。どうせ売れねーよ。
0679名前は開発中のものです。
2012/01/16(月) 13:19:16.53ID:G/p0LwOs0680名前は開発中のものです。
2012/01/16(月) 15:16:49.30ID:v5+nqIUP普通に造ってパブリッシュできなかったらそれはそれで大問題だからw
0681名前は開発中のものです。
2012/01/16(月) 17:23:22.45ID:G/p0LwOsキャラクターの歩く、飛ぶ、撃つとか、敵の攻撃パターンの作成
0682名前は開発中のものです。
2012/01/16(月) 17:35:41.26ID:HlKmahxB?u?I???d?d?U?¶?・?e?z?n?d?e??
↑
このように。
どうやったら直るのかな?
0683名前は開発中のものです。
2012/01/16(月) 17:50:52.08ID:jmsSAGuqバンナム本読め
>>682
フォント
0684名前は開発中のものです。
2012/01/16(月) 18:01:18.16ID:v5+nqIUP馬鹿だな・・・魯鈍っていうのが真っ先に思い浮かんだよ。
0685名前は開発中のものです。
2012/01/16(月) 18:15:54.39ID:t0IVH52doAuthつかえばいいじゃん
0686名前は開発中のものです。
2012/01/16(月) 20:28:54.63ID:NYmjkCsy初期設定ってどこでやるん?
0687名前は開発中のものです。
2012/01/16(月) 22:02:33.74ID:jlVs2BmE見た感じFPS作ってる人少なそうだ、さすが日本人
0688名前は開発中のものです。
2012/01/16(月) 22:06:01.57ID:G/p0LwOs0689名前は開発中のものです。
2012/01/16(月) 22:50:02.58ID:/Yx+E3tiぉおうす!
0690名前は開発中のものです。
2012/01/16(月) 22:58:59.47ID:IPsJ7oA90691名前は開発中のものです。
2012/01/16(月) 23:27:09.57ID:HlKmahxBFPSで喜んでるやつはサルだよ。
0692名前は開発中のものです。
2012/01/17(火) 00:30:39.90ID:aV/tSlErやる事なさそうだな。
0693名前は開発中のものです。
2012/01/17(火) 00:38:04.10ID:7ADCgmc/グラフィカルな表現部分はそうなんだけどね
実はゲームシステムはまだいじれる余地というか発展の余地あるきがするんだよね
RenegadeってFPSが対人戦の時敵を殺すと「ポヨン」って音が出るだけでものすげー楽しいとか
そういう細かい違いだけでも発想の転換で面白さがでちゃうって事は何か見逃してしまったものがあるような気がするんだ
とりあえず通信環境がだいぶよくなってMassiveな対人戦も可能になったし昔の低速回線の頃のラグを許容できればもっと大人数で乱戦とかさ
0694名前は開発中のものです。
2012/01/17(火) 01:12:57.19ID:t4w82ltl0695名前は開発中のものです。
2012/01/17(火) 03:36:13.94ID:cd1KE0RQ同じキャラが、プレイヤーにもAIにもなるようにしたいんだが、どうするのがベストなのだろうか?
今はPlayerControllerというクラスがあって、そこで全部やろうとしてるんだが、ゴチャゴチャしすぎている
とりあえず思いついたのは下の2つ
1.tagがPlayerだったら、PlayerControllerをDestroyして、AddComponentで作ったAIControllerを付ける。
キャラのステータス等は、仕方ないから一つずつ参照する
2.AIControllerというクラスでAIを動かす関数を作る。この関数に引数として、自身を渡す。
(Vector3.Lerp()みたいな感じ)。でもこれだと毎フレームその関数にアクセスしなきゃいけないから重くなるのでは?
結局やってることは同じなんだろうけど、何か他にいい方法とかあるのかな?
0696名前は開発中のものです。
2012/01/17(火) 03:39:22.25ID:kWaYQJD00697名前は開発中のものです。
2012/01/17(火) 04:57:48.62ID:e1VZnp/m0698名前は開発中のものです。
2012/01/17(火) 06:39:16.78ID:1C7riE7JGameObjectのインスタンス生成って
プレハブにしないとダメ?
0699名前は開発中のものです。
2012/01/17(火) 07:41:10.16ID:OpEWguneコントローラーIFを作って、
AIからもプレイヤーからもそのIFを使って操作するように作れば良い
0700名前は開発中のものです。
2012/01/17(火) 08:58:08.83ID:KnsQ2VQU死んだら物理演算がONになってラグドールになる奴の応用
0701名前は開発中のものです。
2012/01/17(火) 10:28:49.41ID:psH5CsUVそれと、テラインの面積って無制限に構築できるの?
0702名前は開発中のものです。
2012/01/17(火) 10:42:06.85ID:OpEWgune0703名前は開発中のものです。
2012/01/17(火) 10:55:36.26ID:QMeE2rpN0704名前は開発中のものです。
2012/01/17(火) 11:30:44.76ID:KnsQ2VQU調整しないと多少切り替えが早すぎて見えて欲しいものまで見えないけど
0705名前は開発中のものです。
2012/01/17(火) 11:41:59.88ID:oE1YU1jl現実の街なみを使ってゲームを作る。
東京メトロ千代田線「霞ヶ関」駅のルートを確保とか
0706名前は開発中のものです。
2012/01/17(火) 12:53:55.62ID:KnsQ2VQUチェーンソー持って女子高に潜入してJKの肉塊を量産するゲームとか
0707名前は開発中のものです。
2012/01/17(火) 12:59:10.32ID:t4w82ltl0708名前は開発中のものです。
2012/01/17(火) 13:01:22.71ID:Trei4Oc+ごめんなさい
ホント勘弁してください
そういうのは
0709名前は開発中のものです。
2012/01/17(火) 13:21:33.61ID:qnMLnE8d寝転がってskyrimしたいから
0710名前は開発中のものです。
2012/01/17(火) 13:53:53.28ID:rAKLcsR90711名前は開発中のものです。
2012/01/17(火) 14:25:37.40ID:OpEWgune0712名前は開発中のものです。
2012/01/17(火) 15:16:32.59ID:t4w82ltl0713名前は開発中のものです。
2012/01/17(火) 17:03:35.38ID:ZnzDmk7B正式ぱんてぃプロジェクトを立ち上げるんだ
0714名前は開発中のものです。
2012/01/17(火) 18:06:03.01ID:KnsQ2VQU撃つと服が脱げるFPS
0715名前は開発中のものです。
2012/01/17(火) 18:28:34.18ID:OpEWguneどうも上手くいきません。
Assetに収めているのでUnityの再生で動作はするのですが、
MonoDevelopでブレークを張ると、
UnityのAsset内にあるブレークポイントは正しくとまるんですが、
ステップ実行していきDLL側に入ろうとすると緑色になって内部に入っていけません。
上手くデバッグできている方いますか?
0716名前は開発中のものです。
2012/01/17(火) 20:15:44.56ID:2YdiowghGenerate CollidersをONにしてもスキンメッシュアニメーションが付いたモデルだとコライダーを作ってくれない気がする
こういう場合自分でBoxとかCupsule型のコライダーをセットするしかないの?
それともメッシュコライダーを自動で作る方法がある?
0717名前は開発中のものです。
2012/01/17(火) 22:25:50.43ID:t4w82ltl0718名前は開発中のものです。
2012/01/18(水) 00:05:57.03ID:YknLDbua今unity勉強してて分からないことあるので質問させてもらいます。
質問の内容
Prefabで大量生産したcube(クローン)の最大の高さを調べたい。
今現在Instantiateでcubeを複製して積み木のように積み上げていくゲームを作っています。
図で説明しますと
■←※この高さを調べたい
■■
■■■
■■■■
---------------------------
このような感じですね。
■はPrefabで大量生産したcubeです。
で このcubeの今現在cubeが生成されている中で最大の高さにあるcube Yを調べたいのですがうまくいきません。
誰かアドバイスお願いします
0719名前は開発中のものです。
2012/01/18(水) 00:24:35.01ID:gEc8yIzE2. 上の方から判定調べて一番最初に当たったcollisionのgameobjectを取得
0720名前は開発中のものです。
2012/01/18(水) 00:35:56.64ID:PCgexi41崩れたとき以外は一番最後に置いたのがもっとも高い可能性をもっているってことなら
崩れたときだけ全スキャンして、それ以外は置いた時にチェックして最高値をinstance自体から求めればよくない?
勘違いしてたらゴメンね
0722名前は開発中のものです。
2012/01/18(水) 00:40:30.41ID:A2PxLQTGそれは、つまり一つのクラスというか、一つのScriptでAIもPlayerも操作するということですか?
jsの名前こそ、PlayerControllerですが、多分今やってることと同じなんですが・・・
このスクリプトの長さが尋常じゃないんで、ちょっと整理したかったんです
>>700
同時に操作するかもしれないし、しないかもしれないです
0724名前は開発中のものです。
2012/01/18(水) 01:58:57.71ID:YknLDbuaすいません
>>719
>>720
さん やってみたんですがいまいち分かりませんでした
今現在のプログラム載せるので説明お願いします
ちなみに今現在のプログラムはクリックした位置にキューブを出現させ落とす作業です
--------------------------------------------
//プレハブ収納
var cube : Transform;
function Update () {
//クリックすると
if (Input.GetButtonDown ("Fire1")) {
//ワールド座標
var screenSpace = Camera.main.WorldToScreenPoint(transform.position);
//クリックした座標取得
var downPos:Vector3 = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z);
var curPosition:Vector3 = Camera.main.ScreenToWorldPoint(downPos);
//Debug.Log(curPosition); // 正しい座標が取れる
//マウス座標をプリセットに代入
transform.position = curPosition;
//複製
Instantiate(cube, transform.position, transform.rotation);
}
}
0725名前は開発中のものです。
2012/01/18(水) 02:41:03.21ID:x1uBG00Z同じタグの付いたオブジェをリスト化して、比較することができるよ、
663で同じような事やってるから見てみて
0726名前は開発中のものです。
2012/01/18(水) 08:54:24.10ID:juQpxdOh>今現在のプログラム載せるので説明お願いします
それ、クリックした位置にインスタンス生成するテンプレのような処理しか書かれてない
から、ここに貼る意味まったく無いと思うが。 あと、わからない時は、どこがわからないのか書くといいよ
今ぶっちゃけ、丸投げになってる
>>725 も言ってるが、>>663 が参考になるよなきっと
0727名前は開発中のものです。
2012/01/18(水) 09:10:54.99ID:0buvljqx1時間後に再質問て、せめて1週間くらい調べて考えろよww
丸投げと言われても仕方ない
0728名前は開発中のものです。
2012/01/18(水) 09:20:24.52ID:KkaV1aOv0729名前は開発中のものです。
2012/01/18(水) 09:29:00.79ID:OjFpVJId0730名前は開発中のものです。
2012/01/18(水) 09:33:44.79ID:OiVqvAa41. タグつけて回収する
2. Instanciateした戻り値のGameObjectを保存しておく
3. 親GameObjectの下にInstanciateして子GmaeObjectとして回収する
方法はいくらでもある
0731名前は開発中のものです。
2012/01/18(水) 09:37:10.06ID:OiVqvAa4対策としてはスクリプトが詰まったGameObjectの下に子GameObjectとして置く、
でいいのかな? いまいちUnityのセオリーがわからん
0732名前は開発中のものです。
2012/01/18(水) 09:53:38.89ID:2jOCt1+fぶちゃけこれから物凄い量の情報を掌握しないといけなくなるので逐一聞いていたのが馬鹿みたい
と思うよ。
0733名前は開発中のものです。
2012/01/18(水) 10:13:40.73ID:gEc8yIzEよくわからんがprefabにスクリプト貼り付ければいいんじゃね
0734名前は開発中のものです。
2012/01/18(水) 10:33:38.55ID:OiVqvAa40735名前は開発中のものです。
2012/01/18(水) 11:06:08.56ID:YknLDbuaやはりまだ自分未熟ですね・・・
回答してくださった方ありがとうございました!
0736名前は開発中のものです。
2012/01/18(水) 11:11:46.30ID:gEc8yIzE出来るよ
0737名前は開発中のものです。
2012/01/18(水) 11:22:50.99ID:OiVqvAa4スクリプトを追加できないのはインポートしたFBXモデル(なんて言うのあれ?)。
それをPrefab化すれば追加できる。けどやっぱりそれはメンドクサイので標準アセットのように、
CaracterController(スクリプトは基本ここ)
|- FBXモデル(モデルはここを差し替え)
|- Main Camera
|- Blob Shadow Projector
みたいな構成が個人的には良いと思う。
欠点はanimationとかが子階層にあるのでGetComponentInChildで回収しないといけないこと。
Unity触り始めたばかりでチラシの裏すまん
0738名前は開発中のものです。
2012/01/18(水) 11:37:21.49ID:A2PxLQTG俺、今は移動できる範囲だけTerain作ってんだけど、地平線とかないしリアル感皆無
0739名前は開発中のものです。
2012/01/18(水) 11:38:29.11ID:gEc8yIzEすると自分は試したことないけどこれとか参考になるんじゃない
http://unity3d.com/support/resources/example-projects/charactercustomization
或いはモデルのバージョンをアップさせたいだけならプロジェクトフォルダ内の同名ファイルを入れ替えるだけでOK
0740名前は開発中のものです。
2012/01/18(水) 11:57:26.76ID:OiVqvAa4そのチュートリアルはまだチェックしてませんでした
これから調べます。
たぶん>>737の方式で行く
Unity劇的に手間が減らせるけど突っ込んだことを考えだすと
玄関開けたら2分でゲームとまでは行かないね。
0741名前は開発中のものです。
2012/01/18(水) 12:30:09.55ID:auS4qUk4なかなか見つからないのだけど、弾幕とか海外だとあんまり需要ないのかな。
0742名前は開発中のものです。
2012/01/18(水) 15:45:11.47ID:OjFpVJId0743名前は開発中のものです。
2012/01/18(水) 17:15:20.29ID:986y06VIRenderSettingのSkyboxMaterial
0744名前は開発中のものです。
2012/01/18(水) 17:20:20.29ID:UDkUtOytあれ不思議だよね。なんでString限定なんだろう
文字列決め打ちでスクリプト書くわけにはいかないから
AlimationClipを保存して常にjumpClip.nameみたいな感じで使うマイルールにしている
0745名前は開発中のものです。
2012/01/18(水) 17:21:53.17ID:UDkUtOyt地平線が見えるゲームなんてねー
基本遠景は板ポリが立っているだけ
空はSkyboxだし
0746名前は開発中のものです。
2012/01/18(水) 18:01:13.79ID:OjFpVJId>>735
こういうことがよくあるよ。ちょっとしたことで数時間・・・・
0747名前は開発中のものです。
2012/01/18(水) 18:04:15.79ID:OjFpVJId>欧米人=生まれつき英語ができる
なんでだ。なぜそうなる。
0748名前は開発中のものです。
2012/01/18(水) 19:06:09.67ID:UDkUtOytシーンを一旦停止してコンフィグ画面に移行しようと思って数日使ったわ
でもあきらめずにゲームを作ってやる
0749名前は開発中のものです。
2012/01/18(水) 21:52:23.44ID:5RX6dknN結局どうなった?
シーン遷移
0750名前は開発中のものです。
2012/01/18(水) 22:03:22.43ID:OjFpVJId0751名前は開発中のものです。
2012/01/18(水) 22:17:02.08ID:O3KdN8pbお前は確実にイケメン
0752名前は開発中のものです。
2012/01/18(水) 22:30:00.91ID:UDkUtOyt別シーンとして開発したレベル(GUIのGameObject)をAdditiveLoadで追加
終わったらGUIのGameObjectを削除してscaleTime=1にして再開
これがセオリー。GUIは進行を止めても反応する。
こういう肝心なことを解説してくれよ > Unityではじめるゲームづくり
Save/Loadとかは.Netの機能をそのまま使う
だいたい調査は終わったので2月から本気出す
0753名前は開発中のものです。
2012/01/18(水) 23:55:35.41ID:fhKcG6L30754名前は開発中のものです。
2012/01/19(木) 02:32:34.85ID:Fi1kI6rw最初は熱いゲームだと思ってたが、こうマンネリ化してくると、熱も冷めてきた
今となっては、楽しくなるはずだった場面を思い出すことができない
0755名前は開発中のものです。
2012/01/19(木) 06:11:18.93ID:TdikwRaa0756名前は開発中のものです。
2012/01/19(木) 06:12:11.67ID:Fi1kI6rwクラス継承したら、親クラスのメンバーまでInspetorに表示されたよ!
ここまでやってくれるとは思ってなかった
0757名前は開発中のものです。
2012/01/19(木) 06:27:40.83ID:TdikwRaa0758名前は開発中のものです。
2012/01/19(木) 09:37:23.88ID:uXkl8hIP0759名前は開発中のものです。
2012/01/19(木) 10:28:39.73ID:Gd6xy/+ZTransformクラスのgetChildCount(), getChild(string), getChild(index)もしくは
foreach(Transform child in transform)。
すべてTransformクラスが帰ってくるのでGameObjectが欲しい時はさらにchild.gameObject
なぜかgetChild関数はドキュメントに記載されてないんですよね...なんでやねん
あとHierarchyビューで見るとGameObjectが階層構造を持っているのに、
スクリプトではTransformコンポーネントが持っているというのが意味不明。
このへん内部実装の不味さが透けて見えて面白い。。。。
■ このスレッドは過去ログ倉庫に格納されています