【3Dゲームエンジン】Unity質問スレッド5 at GAMEDEV
[2ch|▼Menu]
1:名前は開発中のものです。
13/06/25 03:51:44.47 vfI8rCSw
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド4
スレリンク(gamedev板)

■本スレ
3Dゲームエンジン】Unity総合スレッド19
スレリンク(gamedev板)

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
 URLリンク(www24.atwiki.jp)
●リンク
・Unity(日本公式サイト)
 URLリンク(unity3d.com)
・ユーザーガイド&リファレンス
 URLリンク(japan.unity3d.com)
・チュートリアル
 URLリンク(japan.unity3d.com)
・スクリプトリファレンス
 URLリンク(docs-jp.unity3d.com)
・FAQ
 URLリンク(answers.unity3d.com)
・MSDN
 URLリンク(msdn.microsoft.com)←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

2:名前は開発中のものです。
13/06/25 07:17:50.98 77qwp3qD
Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応←mecanim対応はこれだけ。
URLリンク(www.amazon.co.jp)

Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~←ちょい古い
URLリンク(www.amazon.co.jp)

Unityではじめるゲームづくり←ちょい古い
URLリンク(images.amazon.com)
URLリンク(www.amazon.co.jp)

Unityライブラリ辞典 ランタイム編←英語が読めない奴は必須な。
URLリンク(www.amazon.co.jp)

プログラミングC# 第6版←やさしいC#の方がいいかも。
URLリンク(www.amazon.co.jp)

3:名前は開発中のものです。
13/06/25 07:19:13.00 77qwp3qD
UniqueUnityUsers

1、Hiroki Omae FF14、Dota系、タワーディフェンスなど様々なゲームを製作 Game Jam主催者
URLリンク(twitter.com)
2、GameP-HiRo 「じんどろ」 URLリンク(www.youtube.com)  お絵かきマルチプレーRTS
URLリンク(twitter.com)
3、Unity仙人  海外のゲーム製作に携わる 海外ゲーム開発者
URLリンク(twitter.com)
4、TreeBoa じんどろプロゲーマー審査機構JPO
URLリンク(twitter.com)
URLリンク(www.youtube.com)

4:名前は開発中のものです。
13/06/25 07:21:20.70 77qwp3qD
雑談はこちらで

3Dゲームエンジン】Unity総合スレッド19
スレリンク(gamedev板)

5:名前は開発中のものです。
13/06/25 07:26:05.78 77qwp3qD
Blender 初心者質問スレッド Part16
スレリンク(cg板)

C#, C♯, C#相談室 Part79
スレリンク(tech板)

6:名前は開発中のものです。
13/06/25 07:31:03.05 77qwp3qD
unityは素材をアセットストアで売り買いできます。
日本でも可能です。

516 名前:名前は開発中のものです。 [sage] :2013/06/21(金) 10:51:57.05 ID:/5nnf9mm
いつ出来ないと錯覚していた
URLリンク(masa795.hatenablog.jp)
ここにまとまってる感じ。
15ドルぐらいでキャラ+8アニメーションって感じなら、
だいたい買うよ俺。

7:名前は開発中のものです。
13/06/25 08:14:49.77 2YalC9Bn
Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応←mecanim対応はこれだけ。
URLリンク(www.amazon.co.jp)

Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~←ちょい古い
URLリンク(www.amazon.co.jp)

Unityではじめるゲームづくり←ちょい古い
URLリンク(images.amazon.com)
URLリンク(www.amazon.co.jp)

Unityライブラリ辞典 ランタイム編←英語が読めない奴は必須な。
URLリンク(www.amazon.co.jp)

プログラミングC# 第6版←やさしいC#の方がいいかも。
URLリンク(www.amazon.co.jp)

アフィ外し

8:名前は開発中のものです。
13/06/25 09:46:16.77 8CutcGgU
>>ID:77qwp3qD
前スレでスレを立てろと差別的な発言を繰り返して喚き立てるから
なぜそんなに必死なのかと思ってたが
アフィを張るためかよw

9:名前は開発中のものです。
13/06/25 10:26:07.38 Ihj+k8Uh
このアセットストアの
URLリンク(www.assetstore.unity3d.com)
これでインポートしたモデルにボーンとか設定して
Mixamoでアニメーションさせれるのかな?

10:名前は開発中のものです。
13/06/25 10:59:11.92 3KMWLqgT
簡単な2Dアプリ作ろうと思って>>2の一番上を買っていじってみたら、いきなり3D指定で軽く挫折・・・
簡易ツール(カレンダーとか)程度を作る場合、どこから調べて行くのが良いのでしょうか?

11:名前は開発中のものです。
13/06/25 11:48:03.35 hoS9//qh
>>10
2Dアプリやツールは、Unityに向いてないんじゃないか。
3D向けの開発ツールだし。

できないことはないだろうけど、大掛かりな舞台装置の上でわざわざ紙芝居やる感じだな。
無料版だと起動のたびにUnityのロゴが表示されるし、スマホ向けだと電池消費量も多いし
カレンダーみたいな頻繁に起動するものには厳しいと思う。

12:名前は開発中のものです。
13/06/25 12:01:30.78 Ihj+k8Uh
なるほど、アフィを貼って、そのアフィで買った初心者と見せかけ適当な質問をして
そのアフィリンクはみんな買ってる安心なところですよと宣伝をするわけですね。

勉強になります。

13:名前は開発中のものです。
13/06/25 12:03:27.87 77qwp3qD
嫌儲民「アフィイイイイイ!ステマアアア!」

でもスレ一覧は広告スレだらけ。
あいつらアホだよ。

14:名前は開発中のものです。
13/06/25 13:10:51.50 3KMWLqgT
>>11
やっぱり用途そのものが違いますかー。
ありがとうございます。

15:名前は開発中のものです。
13/06/25 14:33:31.76 Ej+baJIh
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
URLリンク(www.gamer.ne.jp)
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
URLリンク(www.gamer.ne.jp)
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
URLリンク(www.gamer.ne.jp)
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
URLリンク(www.gamer.ne.jp)
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
URLリンク(www.gamer.ne.jp)
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
URLリンク(www.gamer.ne.jp)

16:名前は開発中のものです。
13/06/25 14:36:39.08 Ej+baJIh
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?

17:名前は開発中のものです。
13/06/25 19:32:55.51 Jn0Ct6ah
NGWord指定が捗るな

18:名前は開発中のものです。
13/06/25 19:59:23.40 oaGh6v56
・ゲーム系スレで「俺が作ればもっと面白いのが出来る」と豪語 
↓ 
・「じゃあUnityで作ってみれば?」と薦められる 
↓ 
・使い方が理解できない 
↓ 
・「俺が悪いんじゃなくてUnityが悪いんだ」とファビョる 

これもテンプレ入れとけ。

19:名前は開発中のものです。
13/06/26 02:27:26.83 JBeeloIZ
unityfreeなんですけどオススメのシェーダーとかアセット教えてください。

20:前スレ975
13/06/26 04:12:41.89 33cxwwDX
前スレ>>993
transform.parent=nullを記述したOnTriggerExit関数が呼び出されないんです。

PlayerオブジェクトとFloorオブジェクトがあります。
PlayerオブジェクトとFloorオブジェクトが衝突するとFloorのスクリプトの
OnTriggerStay関数が呼び出され、PlayerObject.transform.parent = transformでPlayerがFloorの子になるようにしました。
Stay関数は接触している間ずっと呼び続けられると思うのですが、PlayerがFloorの子になってから呼び出されません。
またPlayerがFloorから離れた際にOnTriggerExitにてPlayerObject.transform.parent = null;と記述しているのですが
これも呼び出されず、困っています。
親オブジェクトと子オブジェクトは衝突判定はできないのでしょうか?

21:20
13/06/26 04:14:04.43 33cxwwDX
↑上げてしまってすみません。

22:20
13/06/26 04:16:55.77 33cxwwDX
何度もすみません;w;

23:名前は開発中のものです。
13/06/26 07:41:29.01 IL03qIgV
>>20
相当意味不明。何かどうでもいいミスをしている可能性が高い。
・床との衝突判定はOnTriggerでやるべきでない。接触はOnCollision系
 →OnTriggerじゃないといけない理由は?
・OnTriggerを使用してるならisTrigger=trueなはず。その場合床とPlayerはすり抜ける。
 →Floorと接触して〜は不可能じゃないか?
  FloorとisTrigger用GameObjectを分けてる? なんのために?

・OnTriggerStayは親子関係になっても呼ばれる。1度しかよばれないわけが無い。
 →ほんとに一度? コンソールのcollapseをOnにしてるだけじゃない?
・OnTriggerEnterは1度しか呼ばれない。こっちを使ってないか?
 →親子関係の変更は1度でいいよね? 本当はこっちのはず。
・OnCollisionEnterでも1度しか呼ばれない。こっちでもおかしくない。
 →本来はこれを使うべき。
・OnTriggerExit,OnCollisionExitは親子関係でも普通に呼ばれる。
 →これが呼ばれない=まだStayしている、もしくはそもそも接触できていない。
  isTrigger用のGameObjectがあるなら、その範囲がおかしいんじゃないか?

なんか結構全般的におかしい。いろいろ書いたけど他に原因がある可能性は高そう

24:名前は開発中のものです。
13/06/26 14:21:20.01 fUzhdVNu
Camera.mainに入ってくるカメラの条件って何?名前?

25:名前は開発中のものです。
13/06/26 15:04:35.24 IL03qIgV
>>24
ほいおー
URLリンク(docs.unity3d.com)
MainCamera タグ持ってる中からひとつ。
複数あった場合はどれが持ってこられるかは保障されない。

26:名前は開発中のものです。
13/06/26 17:20:04.67 fUzhdVNu
サンクス
タグとは落とし穴だったなw

27:名前は開発中のものです。
13/06/26 17:54:39.61 6qvW7ENx
スポットライト使うとDrawCallが一気に増えるのってどうしようもないの?
光があたるオブジェクトが多いほど、一気に増える。
これじゃ、スマホ向けにはディレクションライトしか使えない・・・。

28:名前は開発中のものです。
13/06/26 18:06:07.93 fiRuzY7R
>>27
スポットライトをライトマップオンリーにすれば良いのでは

29:名前は開発中のものです。
13/06/26 18:09:17.11 /zNB3Fas
>>27
LightProbe(Proのみ)で解決

30:名前は開発中のものです。
13/06/26 18:16:39.20 6qvW7ENx
>>28
動くオブジェクトに当てたいから無理・・・だよな?

31:名前は開発中のものです。
13/06/26 18:39:34.25 4bEvBWkQ
pro版機能は一個づつ小売にすればいいのに

32:名前は開発中のものです。
13/06/26 18:56:04.42 h2+UR5Wi
>>31

上手い事言ったと思ったが、
アップデートの時とかベンダー側がメンドクサイよな

33:名前は開発中のものです。
13/06/26 19:10:01.67 4bEvBWkQ
だってアセットは小売してるじゃん

34:名前は開発中のものです。
13/06/26 19:21:16.66 JBeeloIZ
ホントだな。
その方が売り上げ伸びそうだ。

35:名前は開発中のものです。
13/06/26 19:29:14.51 4bEvBWkQ
まぁ、金になるところだけ熱心に開発して土台が疎かになる恐れはあるけど
てか今でも十分疎かかw

36:名前は開発中のものです。
13/06/26 19:34:42.50 JBeeloIZ
他のソフトでは機能限定でいくつもバージョンあるからな。
unityもそろそろそういう売り方してもいいとは思うが。
経営陣は先にクラウド導入したいだろうな。

37:名前は開発中のものです。
13/06/26 20:48:31.24 /49XhXp1
>>30
GLES2.0専用ならシェーダである程度のスポットライトは処理できるかもしらん。
ライトが動くのは基本的に鬼門なのはチープなグラフィック時代から変わらないので我慢するしか。

38:名前は開発中のものです。
13/06/26 21:47:53.84 sJ+3xnE1
>>36
サーバ側にデータ転送して作業ってのは嫌だなぁ

39:名前は開発中のものです。
13/06/27 06:54:37.53 ZoD+7PGn
ios向けのアクションものでオンライン対戦を実装したいんですが、ラグ回避の為に近くのPing値が高い相手とのみ自動マッチング としたい場合どの関数を使えば良いのでしょうか?

またはオススメのアセットがあれば教えて下さい

40:名前は開発中のものです。
13/06/27 09:05:57.29 iOYsZs0F
>>39
ん?どの関数使えばいいかって、それってそういう話なのか

41:名前は開発中のものです。
13/06/27 09:11:36.04 iOYsZs0F
途中で送信してしまった。
pingだったら、普通に考えると C# ICMP でググったらとか思うが、
俺だったらマッチング用のサーバ側に接続者の平均レスポンス時間とか記録しておいて、
それをクライアントで受けて判断、みたいな処理にするかも。

42:名前は開発中のものです。
13/06/27 10:01:18.12 W96c38vY
ゲームのロジックより全然簡単だからないんじゃない?

43:名前は開発中のものです。
13/06/27 15:26:45.81 ZoD+7PGn
>>41
ありがとうございます。

C# ICMPでググってみます

44:名前は開発中のものです。
13/06/27 18:14:45.10 i+Ry599W
すみません、collider同士はぶつからないのでしょうか?
調べてみたんですがcovenxみたいなのチェックしても全くぶつかりません、すり抜けます。
何か方法はありますか?

45:名前は開発中のものです。
13/06/27 20:03:31.87 LTyGmnFP
rigidbody付いてる?

46:名前は開発中のものです。
13/06/28 06:16:26.70 0666G2kx
>>44
URLリンク(code.google.com)
この表によるとcollider同士の当たり判定は発生しないみたいだな

47:名前は開発中のものです。
13/06/28 07:54:28.27 KZfHi7Ou
エディタのゲーム画面だけなんだか縦長になってしまったんですがどんな原因が考えられるでしょうか?

48:名前は開発中のものです。
13/06/28 13:30:08.50 5TFSWNRY
>>47
Gameタブの直下あたりにアスペクトレシオ変更のトグルがあるけど、そこクリックして縦長のになってない?
デフォルトだとFree Aspectになってるはずスマフォ向けのBuild設定とかだと各スマフォの代表的な比率で縦長になってると思う

49:名前は開発中のものです。
13/06/28 13:38:18.27 sJLUTiYr
WWWを使えば、Windows上の保存場所を指定して画像を読み込ませることはできたんですが
音楽や動画をWindows上から読み込ませる方法はあるのでしょうか?

50:名前は開発中のものです。
13/06/28 19:48:28.20 S3mjXImB
iTweenとiTweenPathのアセットでキャラクターをMoveさせてるんですが、UnityEditor上のPlayだと正常に動くんですが、あるキャラクターだけiOS実機で動かすとiTween通りの動きになりません。

原因わかる方いらっしゃいますか?

51:名前は開発中のものです。
13/06/28 23:54:35.68 5TFSWNRY
>>49
目的が見えないんでなんともいえないんだが、AssetBundleつかうのでは駄目なのか?
これはAudioClipからなにから好きな物を任意のサーバ、ファイルシステムから読み込める。
ただエンドユーザに任意のデータを読み込ませるのには使えない。

52:名前は開発中のものです。
13/06/29 03:38:57.77 A722NIxA
走りながら攻撃するアニメーションを作りたいんですが
走るアニメーションの下半身と攻撃するアニメーションの上半身混ぜるってできないですか?unityで

53:名前は開発中のものです。
13/06/29 04:41:52.73 rp4k0FdD
できるよ

54:名前は開発中のものです。
13/06/29 09:35:36.21 5Ubx5ixL
上半身のモデルと下半身のモデルを分けてインポートして
上半身は攻撃のアニメーション、下半身は走るアニメーションをそれぞれ実行
でいいんじゃね?

55:名前は開発中のものです。
13/06/29 10:03:14.67 ecZ3EAFj
>>54
戦車とかロボとか、人間でも境目が隠れてるか良く分からない距離ならそれでもいいよな
そこそこアップにもなる全身タイツの人間や動物だと見た目エラい事になるが

56:名前は開発中のものです。
13/06/29 11:41:00.23 ckDBwhPN
>>52
Mecanimのチュートリアルビデオにそんなのがあったぞ
公式からたどれるチュートリアルみてみ

57:名前は開発中のものです。
13/06/30 18:00:30.84 3EObUEe2
ontrigger()だけは絶対に許さん

58:名前は開発中のものです。
13/07/01 15:44:00.73 ntmGwho6
アニメーションのblendってあったよね。たしか。

59:名前は開発中のものです。
13/07/02 19:31:00.35 IN/I03Ij
初心者です。質問です。
Unity 4をダウンロードし、
ネット上に、PDFの翻訳があった、
3D Platformer Tutorialをやっています。
(このチュートリアルは、Unity 2用みたいですが、
他に理解できそうなチュートリアルが無かったので、このチュートリアルで勉強しようと思いました。)


プロジェクトをダウンロードし、
キャラクタLerpzをシーンビューに置いて、Playボタンを押したのですが、
PDFにあるような、背景がありません。(Lerpzだけがシーン上にあります。)

何がおかしいのでしょうか? よろしくお願いします。

60:名前は開発中のものです。
13/07/02 19:36:55.61 IN/I03Ij
59です。
補足として、PDFは、
URLリンク(ws.cis.sojo-u.ac.jp) です。
このPDFの12ページの時点で止まってます。
13ページにあるような、背景が表示できません。

ググってもよくわからなかったので、質問しました。

61:名前は開発中のものです。
13/07/02 20:42:34.72 QrQrvwDM
>>59
とりあえずやってみて普通にあるので原因は2種類。
ちゃんとシーン開いた?
そうじゃなかったらちゃんとカメラを動かしてあたりを見回した?
チュートリアルもいいけど、
URLリンク(japan.unity3d.com)
を見とくのもたぶん大事。取り扱い説明書的なもんだから。
特にシーンビューのナビゲーションってところを見ながら、
シーンビューをどうやって扱うかを理解することも大事。
背景は(-120,0,0)を中心としてる。チュートリアルの一環だと思って頑張れ。

でも、正直Unityの黄色本あたりで勉強したほうが万倍ためになると思います。

62:名前は開発中のものです。
13/07/02 20:49:37.91 KEvuwOG8
>>59
英会話、英文は駄目を前提にしても公式のビデオチュートリアルはまねっこするだけで理解が深まるからマシン二台(ウィンドウひらいてやると狭いから)使ってポーズボタンと併用でやってみそ

63:名前は開発中のものです。
13/07/02 21:26:31.90 IN/I03Ij
>>61 >>62
ありがとうございます。
もう、一度やり直してできました。

すみません、単純ミスでした。
マニュアルの「Scene->TheGame Sceneを見て下さい」という記述を、
”クリックする”という意味で捉えていませんでした。
(Projectパネルのテクスチャのフォルダを確認?してました。)

ほんとうに、ショボいミスですみません。
61さんに教えていただいたリンクなど、一からやり直してきます。

ありがとうございました。

64:名前は開発中のものです。
13/07/03 13:55:47.04 izHT7B7B
>>63

PC系のマニュアルで良くある事。
マニュアルと良いながら、結局分かってる奴を対象にしていたりするからね

65:名前は開発中のものです。
13/07/05 16:58:22.14 bC4LrvGo
すごく初歩的なことなんですが
例えばTestAというスクリプトの○○という関数を
TestBというスクリプトで呼び出すにはどう書けばいいのでしょうか?
言語はC#です。どちらのスクリプトもAssetsの中に入ってます

66:名前は開発中のものです。
13/07/05 17:07:08.16 D7cBYMwn
初歩的なら簡単だろ

67:名前は開発中のものです。
13/07/05 17:47:39.41 XTJkNQPQ
>>65
いろいろありすぎてめんどくさいぐらい方法があって、
そのせいでわかりづらい。実はそんな簡単じゃない。

GameObject gameObjectA に TestA というスクリプトくっつけてるとするね。
TestBがgameObjectAにアタッチされてない場合、だいたい以下の3つ

1.GetComponent
例)TestA testA = gameObjectA.GetComponent<TestA>();
testA.○○();
2.SendMessage
例)gameObjectA.SendMessage("○○");
3.staticにしちゃう
例)public class TestA:MonoBehaivior{
public static void ○○;
}
// in textB
TestA.○○

何度も使うならGetComponent,1度でいいならSendMessage,
よくよく理解してて、特性やバグのパターンを把握してるならstatic.素人にはおすすめできない。

どうやってgameObjectAを取得するのか、というと
Find()とかOnCollisionEnter()の引数とか、いろいろある。

まぁ、基本はFindしてGetComponentして使ってればいいんじゃないですかね。

68:名前は開発中のものです。
13/07/05 17:55:56.03 /6TVIRVM!
>>67
質問的にstatic関数では?

普通にTestBから
TestA.○○
でおk。

69:名前は開発中のものです。
13/07/05 19:21:02.32 Y41MaDA7
インスタンスメンバに用があるのかstaticでいいのかって、
大分意味合い変わってくると思うが。
つまり、やりたい事次第だと

70:名前は開発中のものです。
13/07/05 20:13:18.91 oToDaWPn
static については、gamesonytablet氏が翻訳してる記事を読んでおけば間違いないと思う
URLリンク(gamesonytablet.blogspot.jp)

71:名前は開発中のものです。
13/07/05 20:59:16.22 Y41MaDA7
>>70
なんか特別な話かと思ったらただのC#の
言語レベルの入門記事だった

72:名前は開発中のものです。
13/07/05 22:25:46.36 oToDaWPn
>>71
まあ、Unity3dで初めてC#(引いてはOOP)に触る人もいるだろうし……と思って

73:名前は開発中のものです。
13/07/06 08:23:50.84 MvkNwOic!
>>70
機械翻訳読み辛いな・・・

74:名前は開発中のものです。
13/07/06 08:56:23.46 /ZIbqHbZ
>>70
>Unityメモリ管理の基礎を積み重ねていこうぜ!
ないわー

75:名前は開発中のものです。
13/07/06 09:25:38.94 GmwLkeYx
まぁまぁ、一応そこのおっさん公式マニュアル翻訳してる人だし、
いろいろと多岐に渡って翻訳してくれてるいい人なんだ。
その、なんていうか独特のノリは()暖かい視線で見守っていこうぜ!

76:名前は開発中のものです。
13/07/06 11:43:29.92 fuFs1zZX
あぁだから公式日本語マニュアル糞なのか

77:名前は開発中のものです。
13/07/08 09:24:15.53 VqB3Y7Ez
理解深まってもなんだかんだで二年くらい費やすよなw
俺は諸般の事情で3年くらい掛かったけど・・・

78:名前は開発中のものです。
13/07/08 10:45:22.58 u+yMDmhn
>77
なににそんなかかるの?

79:名前は開発中のものです。
13/07/08 12:00:06.00 tfl2dK/2!
>>78
ノベル

80:名前は開発中のものです。
13/07/08 14:01:33.82 qf1XaXVI
はじめまして。
今Unityでリバーシを作っています。
スクリプト言語はJavaScriptを使っています。
(C#はどちらかとういうと好きではありません・・・)
黒のターンではうまくいくのに白のターンでうまくいかないので質問させてください。
文章を作るのが苦手なために変な文章だったらすいません。

マウス操作でコマを操作し、マウスクリックで盤上にコマを配置してスクリプトでおけるかどうかを判断させています。
置くことができる(何かしらめくれる)ときは、めくる動作がアニメーションに見えるにスクリプトで回転させています。
初期位置からどういう風においても黒は問題なく白をめくって白のターンへ行くのですが、その次白のターンで黒をめくっている途中で動きが止まって黒のターンになってしまっています。
スクリプトで次のターンへ行く前にコンソールに"next turn"と出力させるようにしているのですが、黒のターンが終わる時は出力されても白のターンが途中で止まった時にはそれが出ていません。
"next turn"を出してからターンを次へ送るための関数を呼び出すようにしているので、"next turn"が出ていないのなら白のターンから次のターンへ行っていないと思うのですが・・・

MonoDevelopのDebugでUnityを起動してデバッグをしてみましたが、ViewでDebugを選んでWatchに変数や条件文などを書いてみるとなぜか"Unknown Identifier"と言われてしまい、変数の中身が見られません。
Localのthisの中にあった変数名をWatchに書いてみても同じメッセージが出ます。

現在作成途中のものを以下にアップしてみました。
URLリンク(gmdev.xrea.jp)
[945.zip] 白のターンがうまくいかない作りかけリバーシ 0.22MB 2013-07-08 reversi.zip

黒と白はturnの番号が違うだけでめくる部分の基本的なことは同じようにさせているので、白(turn==0)だけなぜうまくいかないのか・・・

こんな長文ですいません。
どなたかよろしくお願いします。

81:名前は開発中のものです。
13/07/08 14:08:24.57 EL6md65E
はじめまして(^_^)

82:名前は開発中のものです。
13/07/08 14:26:44.24 Q2gIaxei
Unityを使って簡単なネットワーク対戦ゲームを作成しています。
InstantiateとSceneの遷移部分で上手く同期がとれないため
ご教示願いたいと思い、こちらに書き込ませて頂きました。

現在以下のようなSceneを製作しています。
1.LoginScene(サーバへの接続画面のみのシーン)
2.BattleScene(接続後、実際に戦うシーン)

ホストとなるユーザはLoginSceneでサーバを建て、
直後にApplication.LoadLevelでBattleSceneへ移行。
BattleSceneにてプレイヤーキャラをNetwork.Instantiateする。

クライアント側はLoginSceneでIP,Portを入力しサーバへ接続、
直後にApplication.LoadLevelでBattleSceneへ移行。
BattleSceneにてプレイヤーキャラをNetwork.Instantiateする。

という流れになっています。
ただこのような手法を取るとクライアント側にホスト側のキャラクタが生成されませんでした
1つのSceneに接続と対戦を合わせた場合は問題は起こらないため、
ホスト側のキャラのInstantiateがクライアントに伝わっていないのだと
考えていますが、良い解決策が思い浮かびません。

もしよろしければより良い方法、またはその方法を調べるためのキーワードを
教えて頂けないでしょうか?

83:名前は開発中のものです。
13/07/08 14:35:31.25 M3ds/1Fi
>>80
JSはデバッグしづらいから今のうちにやめておいたほうが
将来得するよ。
で、処理が途中で止まる場合、カウンタが初期化されてないとか
ループ中にエラーで強制終了されてるとかその辺じゃないの?

Watch出来ない変数はかたっぱしからログに出すか、publicにして
エディタから見ればいいのでは?Monoもバグ多いし

84:名前は開発中のものです。
13/07/08 14:42:32.06 opNLJ1Tz
>>80
  ○●
  ●○
  ↓
●●● 黒1手目
  ●○
  ↓
●●● 白1手目(△)
△●○ 

この白1手目の局面で、下記、正解図のように
正しい駒を裏返していない理由を調べたほうが良さげ・・

●●● 白1手後、正解図
○○○ 

●●△ ←失敗図
○●○ 

85:名前は開発中のものです。
13/07/08 14:49:08.79 qf1XaXVI
80です。
そもそもこのリバーシは以前HTML5+JavaScriptで作ったものをUnityに移植させてみようと思ったものです。
SetIntervalで作っていたアニメーション部分をWhileとyieldなどで再現させてみました。

>で、処理が途中で止まる場合、カウンタが初期化されてないとか
ループ中にエラーで強制終了されてるとかその辺じゃないの?
While(true)という無限ループを使っているので、カウンタが初期化されていないという落ちはありません。
ループ中にエラーで強制終了されてるのでは?という話ですが、デバッグで動きを追ってみると思ってもいないところで条件に引っかかってループを抜け出しているみたいでした・・・
そもそもデバッグ前に変数の値などをコンソール出力させていましたが、それでなかなか解決しなかったのでデバッグに頼ろうって思ってました。

C言語やC++などは好きですが、C#は教わったことはあるもののそのときあまり好きになりませんでした。
あまり自分が興味持たないような内容ばかりで・・・
それ以来全く触ってないので、書き方もほとんど覚えていません・・・w
反対にJavaScriptは自分であれこれやってみたくなるくらい面白いと思えました。

86:名前は開発中のものです。
13/07/08 14:54:24.29 u+yMDmhn
スレに自分のゲームにおいて発生するバグの相談をして問題が解決した事がない。
エスパーで解決するレベルなら自分で解決しているものだ。

87:名前は開発中のものです。
13/07/08 15:04:56.14 k2F5L4X2
ここは解決するスレじゃなくて質問スレだから
解決しなくてもいいんだよ。質問したら終わりwwwww

てくらいで考えとけ。
もし似たようなとこではまってた人がいたら
ヒントくらいもらえるかもしれない、というダメもとで書け。

もっとまじめに対応してくれというならやってみたくなるような書き方と
全プロジェクトうpしろ

88:名前は開発中のものです。
13/07/08 16:26:38.69 LKuAdA2S
>>82
Network.Instantiate したプレイヤーキャラが、 LoginSceneに生成されてしまってる。
URLリンク(docs-jp.unity3d.com)

89:名前は開発中のものです。
13/07/08 16:40:30.22 LKuAdA2S
>>88
補足
ホストへ接続した直後、ホストからクライアントへ「Network.Instantiate()したよ〜^^」という
Messageが到着し、クライアント側のQueueに溜まる。

Network.isMessageQueueRunning がtrueの場合、クライアントは、即座にそれを取り出して実行する。
falseの場合は、取り出さずに保留しておく。破棄されない。

Application.LoadLevel()は別スレッドで走るから、ホストへ接続した直後にApplication.LoadLevel()しても
BattleSceneへ移動する前に「Network.Instantiate()したよ〜^^」というMessageが届いてしまい、
結果、LoginSceneにプレイヤーキャラが生成されてしまうこととなる。

90:名前は開発中のものです。
13/07/08 19:03:58.04 Q2gIaxei
82です。
>>88
>>89
レスありがとうございます。
また、こちらのレスが遅くなってしまい、申し訳ないです。

>>Application.LoadLevel()は別スレッドで走るから、ホストへ接続した直後にApplication.LoadLevel()しても
>>BattleSceneへ移動する前に「Network.Instantiate()したよ〜^^」というMessageが届いてしまい、
>>結果、LoginSceneにプレイヤーキャラが生成されてしまうこととなる。

Message等あまり詳しくありませんが命令キューのようなものを備えているのですね。
LoginSceneで既に生成メソッドが呼ばれている、ということは気づきませんでした。

Network.isMessageQueueRunningについても
非常に有意義な情報を頂いてありがとうございます。
これらの情報を基に以下のような解決方法を考えてみました。

1.LoginSceneの段階でNetwork.isMessageQueueRunningの値をfalseに。
2.接続後、BattleSceneに移り変わった後にNetwork.isMessageQueueRunning=true。

上記のものを試してみます。
本当にありがとうございました。

91:88-89
13/07/08 20:27:37.65 h9ZVXHtq
>>90
それで合ってます。勿体ぶったような書き方になってしまってスマソ

// 以下チラ裏
ホストとSceneを同期する場合は、こんな感じで書けばおk
C#だとyield使いにくいから、こちらの方が良いかも

void OnServerInitialized() {
networkView.RPC("RpcChangeScene", RPCMode.AllBuffered, GameRule.sceneId); //GameRuleクラスは自作
}

[RPC]
void RpcChangeScene(int sceneId) {
if (Application.loadedLevel == sceneId) { return; }
Network.SetLevelPrefix(sceneId);
Network.isMessageQueueRunning = false;
Application.LoadLevel(sceneId);
}

void OnLevelWasLoaded() {
Network.isMessageQueueRunning = true;
}

92:名前は開発中のものです。
13/07/08 21:16:06.32 Q2gIaxei
>>91
82です。
先ほど私が書き込んだ方法で問題のほうは解決しました。
ありがとうございます。これで肝心のゲーム内容に移れそうです。

>>void OnServerInitialized() { 以下
RPCを用いてサーバー側がScene変更を制御する形なのですね。
そちらのほうが集中管理できそうなのでそちらも試してみます。
自分の場合、以下のような形で実現していました。
public void OnConnectedToServer()
{
Network.isMessageQueueRunning=false;
LoadNextStage();
}
private void LoadNextStage()
{
Application.LoadLevel("WaitNextStage");
}

最初、Network.Connect()直後にQueueを停止したのですが接続が完了しなかったため
上記のようなOnConnectedToServerで停止するアプローチに変更しました。

RPC周り、LevelPrefix等まだまだ見るところがたくさんありそうですね・・。
度々本当にありがとうございました。非常に参考になります。

93:名前は開発中のものです。
13/07/08 21:39:31.28 W+O2Yqce
はじめまして。
Unityを使って紙芝居のようなアプリを作りたいのですが、objectの当たり判定がうまく設定できず困っています。

やりたいことは、
1.背景画像(Plane)を配置
2.背景画像の手前に人形の画像(Plane、テクスチャは透過PNG)を配置
3.背景画像をクリックすると人形が動く
4.人形の画像をクリックすると音声が流れる
5.人形の画像の透明部分(見た目上は背景画像が表示されている)をクリックした際には背景画像がクリックされたものとみなす

なのですが、5の実装方法がわからずに困っています。
objectにPlaneを使用しているのがそもそも間違いなのでしょうか...

説明下手ですみません。
どうかお知恵を貸してください。

94:名前は開発中のものです。
13/07/08 22:35:22.56 vfE3F67r
>>93
透過ではない部分なら反応するのか?

95:名前は開発中のものです。
13/07/08 22:37:39.83 vfE3F67r
---背景画像----
---人形--------
      ダミー---

三層構造で頑張るか・・。

96:名前は開発中のものです。
13/07/08 22:47:35.85 Dllv7Vpq
80です。
>>84
そうなる原因は、スクリプトの2次元配列に覚えさせていたゲームオブジェクトの位置とゲーム画面の盤面の位置とが違っていたからでした。

どうして白のターンで黒をめくるときにどこまで行っているかと言うと、回転を制御する変数がなぜか途中までしか変化していませんでした。
本来なら白のターンなら1から0まで0.2づつ減らすようにしていて、
Unityの計算の誤差を考えて0以下になったらそのコマの回転を止めて次の動作―めくれるものがあればめくる、そうでなければ次のターンへ行くようにしているのですが、
なぜか途中の0.6までしか変化していません。
そのあと0より大きいにもかかわらず次の動作―今回は1つしかめくれないので次のターンへ行くようになっています。
コンソールに座標となる変数の値を出力させていて、めくるべきコマの座標やどこまでめくるのかに間違いは見られません。

座標を直したものに実行ファイルをつけてアップしなおしました。
[946.zip] 作りかけリバーシ 座標改良版 実行ファイル(exe)付き 7.15MB 2013-07-08 reversi.zip
URLリンク(gmdev.xrea.jp)
前回のもそうでしたが、Unityファイル(reversi_PvP.unity)はAssets\Sceneにあります。

97:名前は開発中のものです。
13/07/09 00:04:26.54 WHyCBKEt
>>93
Texture2D.GetPixel() は、テクスチャの特定のドットのColor構造体を返す
Color構造体にはAlphaも入ってる

98:名前は開発中のものです。
13/07/09 00:07:40.92 WHyCBKEt
Color構造体はRGBAを0〜1で扱っているから注意
URLリンク(docs.unity3d.com)

99:名前は開発中のものです。
13/07/09 01:57:04.11 wxLqqgEa
>>93
解決方法はたくさん思いつくけど、なんでおまえのような怠け者にタダで教えてやらなけりゃならないの?

100:名前は開発中のものです。
13/07/09 02:13:57.52 piIqrNfK
>>99
お前が出来無いのは判ったからもう書き込むな

101:名前は開発中のものです。
13/07/09 02:50:51.77 wxLqqgEa
>>100
まだまだ書き込むよ。

102:名前は開発中のものです。
13/07/09 05:47:36.40 aLrF49TP
Javascriptを使っています。
関数を呼び出す際、引数の型が数種類用意されている関数がありますが、
あれはどうすれば自作出来るのでしょうか?

floatを3つ使うかVector3を使うかを選べるような関数のことです。

103:名前は開発中のものです。
13/07/09 07:43:52.17 WHyCBKEt
>>102
オーバーロードでググれ
Unityのjavascriptで動くかは知らないけど、下のように書けば動くと思う

function Move(vec:Vector3){
//処理
}
function Move(x:Float, y:Float, z:Float) {
//処理
}

104:名前は開発中のものです。
13/07/09 08:31:37.79 NO9WJ/Zo
JavaScriptなんかやめちまえ!

105:名前は開発中のものです。
13/07/09 08:43:42.81 zSC3uj1Q
>>96
color 配列は、int 型なのに暗に、float 型を期待していないか?

if((turn==0 && color[r2,c2]<=0 || (turn==1 && color[r2,c2]>=1)){

if((turn==0 && n<=0.0f) || (turn==1 && n>1.0f)){

この行の書き換えでどうなるか試してみて欲しい。

106:名前は開発中のものです。
13/07/09 08:57:08.76 aLrF49TP
>>103
ありがとうございます、ただ単純に2つ書いてしまえば良いのですね。

107:名前は開発中のものです。
13/07/09 10:20:05.19 hP0cZcht
>>93
レイヤーもしくはタグの設定かな?
幾通りもあって具体的なコンテンツの概要によって様変わりしてくるから一概に言えないんだわ。
Unityはプロ用ツールなんでメチャ細かいんだよね。
で ここが肝なんだけど細かい割にプログラミングの自由度が無いのでメチャクチャ勉強しないといけない。

108:名前は開発中のものです。
13/07/09 10:29:10.51 ol0evQj0
>>93
単純にコライダをセットしてRayCastで当たり判定
つけたほうがシンプルな気がする

109:名前は開発中のものです。
13/07/09 10:53:59.98 NmJrzQPl
>>108
RayCastってポリゴン単位の交差判定じゃね
見かけ上の透過処理で透明に見えてるだけのピクセルとか判断出来ないんじゃね

110:名前は開発中のものです。
13/07/09 11:00:33.54 WHyCBKEt
>>93
すまん>>97は忘れてくれ
自前で計算する必要は一切無くて、これらを順番に使うだけでイケると思う
Camera.ScreenPointToRay()
Physics.Raycast()
RaycastHit.textureCoord
Texture2D.GetPixelBilinear()

111:名前は開発中のものです。
13/07/09 11:24:12.81 4ZWPcpqB
80です。
白のターンでめくるのがうまく行かないのは自己解決しました。
(>>105さんの書き込みはそのあとでみましたが、まさにその通りでした。)
0.2ずつ変化させていた値をintに入れて比較に使っていたことが原因でした。

一部抜粋

board[r2,c2].transform.eulerAngles.x=180*n;
color[r2,c2]=n; //colorはintで宣言していたために、0か1しか入らない
//中略
print("color:"+color[r2,c2]+" (turn==0 && color[r2,c2]<=turn):"+(turn==0 && color[r2,c2]<=turn));
//これを出してみてやっと気がつきました。
if((turn==0 && color[r2,c2]<=turn) || (turn==1 && color[r2,c2]>=turn)){
/*なので黒のターンでは小数をintに入れたときの扱いによって偶然うまく行ったが、
白のターンの時には意図しないところでこの条件に引っかかってしまっていたために
めくるのが途中で止まってしまった*/

以下で黒のターンだと白のターンへ行く前に"next turn"と出力されるのに白のターンでは出なかったのは、
コンソールでCollapseを押していたことが原因のようでした。

これで無事互いにめくることができました。
出来上がったものをアップしなおしておきます。
[948.zip] とりあえず互いにめくることができるようになったリバーシ 7.15MB 2013-07-09 reversi.zip
まだ互いのコマの数の表示やおける場所があるか判断して自動パスするのは実装していませんが、
一応遊べなくもないものです。
ありがとうございました。

112:名前は開発中のものです。
13/07/11 05:47:08.90 o+jBqQg3!
PC2台で通信して、A側PCはキャラクターの背後(TPS視点)カメラ、
B側PCはそのキャラがいるマップを上空から見れるカメラみたいに
プレイヤーごとに視点カメラを割り振ったりするにはどうすればいいんでしょう?

113:名前は開発中のものです。
13/07/11 07:38:18.56 SVK4zm1x
自分がAかBか判断するプログラム書いてカメラの位置を移動する

114:名前は開発中のものです。
13/07/11 19:43:47.51 TcqdQJFO
Proのライセンスは2台のPCで使えるからといって友人と割り勘で買ってとしてだ(ダメなの承知で)
それで作ったアプリをそれぞれ個人のAppIDでリリースしてたらライセンス違反バレる?

115:名前は開発中のものです。
13/07/11 19:54:55.71 MnA4N78X
どうやったらバレるの?

116:名前は開発中のものです。
13/07/11 19:58:07.30 AIu9AUAV
バレるかバレないかは問題ではない。
バレたときに家から何から全部失う覚悟があるのかどうか。

117:名前は開発中のものです。
13/07/12 01:43:10.69 v7tqpEfT
個人でPro+iOSPro買った俺に謝れ

118:名前は開発中のものです。
13/07/12 01:58:10.21 gm2/Ix5a
>>117
ごめん

>>115
たとえばだけど、プロジェクトのビルド時とか、まさかまさかのアプリ起動時に、
オンラインで認証チェックが走るんじゃないかとかそういう恐怖妄想をしてみた。

だってバレる仕組みがないんじゃOSクリーンインストール繰り返して試用で使い続けてリリースする人がいっぱいいそうだもの。

119:名前は開発中のものです。
13/07/12 02:56:57.82 eFTjZRCv
>>118
> OSクリーンインストール繰り返して試用で使い続けてリリース
試用期間って、OSじゃなくてアカウントに紐付けられてるんじゃなかったっけ
作り直せば良いと言えばそうだけど、Asset Storeで買った物は消えるな

120:名前は開発中のものです。
13/07/12 03:21:06.89 gm2/Ix5a
>>119
Unityのライセンス認証で使うメアドとiOS Developer Programのメアドが同じじゃなきゃいけないのでなければ、
Unityの方だけコロコロ変えることは可能ってことになるからバレる仕組みがないと無法地帯な希ガス。

121:名前は開発中のものです。
13/07/12 03:23:27.59 gm2/Ix5a
>>119
あ!AssetStoreをAppStoreと空目してた!

たしかに、Assetは使えなくなるかー。逆にいうとズルしてても制約はそれだけなんだろうか。

122:名前は開発中のものです。
13/07/12 03:47:36.45 U8kp+ej9
乞食視ね!

123:名前は開発中のものです。
13/07/12 08:01:14.66 CPcYi6xU
そういうのも含めたPro版の価格だろーよ

124:名前は開発中のものです。
13/07/12 10:38:43.29 exwSlWHu
3DSMAXでcubeにテクスチャを使わず色をつけたもの(名前とカラー→オブジェクトカラー)をFBXで吐き出して
Unityに読み込んだら全部シルバーになってしまったんだけど、色情報を維持する方法ってあるんですかね?
テクスチャだと面倒だし重くなるので簡単なものならMAXでつけた色を引き継ぎたいんだけど・・・

125:名前は開発中のものです。
13/07/12 11:28:07.88 qFWxcSxD
ライセンス料を払ってその利便性にみあう資金、利益がある層、
また、抜け穴をやりくりしてでも使いたい層、双方に対応できるってことだね。価格差別ってやつだ。

126:名前は開発中のものです。
13/07/12 12:41:47.71 gm2/Ix5a
>>122
ズルをするとはいっとらんさかい

127:名前は開発中のものです。
13/07/12 13:06:22.05 ONHYLHk3
だったら四の五の言わずに二本買えばいいんじゃね?
犯罪行為をしてもバレませんか? と質問しておいて犯罪をするとはいっとらんさかいと
言われても信用皆無だわな

128:名前は開発中のものです。
13/07/12 13:16:21.93 cg+FXtMH
契約違反であって犯罪ではないけどな

129:名前は開発中のものです。
13/07/12 14:21:42.06 CPcYi6xU
儲かったら買えばいいよ

130:名前は開発中のものです。
13/07/12 17:22:11.42 bMu8prF4
友人とお前がゲームを完成させてから悩めばいい事

131:名前は開発中のものです。
13/07/12 17:30:19.77 ONHYLHk3
著作権侵害は犯罪だろ、と言おうかと思ったが
>>130の指摘が正論すぎて言葉を失った
確かに完成させない限りは何ら問題にならない(実際には大いに問題だが)
この犯罪者予備軍達が犯罪者にならずに済むことを俺は祈るw
俺ごときが祈るまでもなく大丈夫だとは思うがw

132:名前は開発中のものです。
13/07/12 18:31:19.91 cg+FXtMH
何が著作権違反なんだ…
明らかに限られた範囲の私的複製なんだから、日本の法律上は問題ないだろ。
デンマーク法は知らないけど。

むしろ、UnityのEULAに「1ユーザー1ライセンスの原則」って明記してあるんだから、
完成させるまでもなく契約不履行で損害賠償を請求される可能性は十分あるけど。

133:名前は開発中のものです。
13/07/12 20:30:48.81 ONHYLHk3
ん? >>114は二人で使うって言ってるじゃない。私的複製の範囲を超えてる

134:名前は開発中のものです。
13/07/12 21:29:44.81 gm2/Ix5a
5万ドル儲かるまで残り半分の支払いは待ってくれ

135:名前は開発中のものです。
13/07/12 22:31:58.02 cg+FXtMH
>>133
2人だろうが3人だろうが、特定可能な人の間で使うなら私的複製。

136:名前は開発中のものです。
13/07/12 22:54:49.76 pIoGzvnf
Unityの勉強を始めたいと思っています
近々PCを買い換えるのですが、AMD A8のグラボ無しとかだと厳しいですか?
2Dのゲーム(RPG、SLG)を作りたいと思っているので、それほど高価なPCは必要ないと予想していますが、甘いですか?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4518日前に更新/102 KB
担当:undef