1read 100read
2013年17ゲ製作技術33: 【3Dゲームエンジン】Unity質問スレッド5 (771) TOP カテ一覧 スレ一覧 2ch元 削除依頼
ロックマンワールド5をFC風にリメイク Part1 (215)
人工知能or人工無脳作ろうぜ (933)
ウルファールのウディタ講座 (706)
おまいらRPGつくってみないか (196)
Action, Shootingのが超簡単なフリーのklik play (154)
ゴスロリのゲームつくろうよ (257)

【3Dゲームエンジン】Unity質問スレッド5


1 :2013/06/25 〜 最終レス :2013/09/25
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
http://toro.2ch.net/test/read.cgi/gamedev/1362821620/
■本スレ
3Dゲームエンジン】Unity総合スレッド19
http://toro.2ch.net/test/read.cgi/gamedev/1368814728/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
 http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

2 :
Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応←mecanim対応はこれだけ。
http://www.amazon.co.jp/gp/product/4798126195/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4798126195&linkCode=as2&tag=ddagaegaega58-22
Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~←ちょい古い
http://www.amazon.co.jp/gp/product/4797365331/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4797365331&linkCode=as2&tag=ddagaegaega58-22
Unityではじめるゲームづくり←ちょい古い
http://images.amazon.com/images/G/01/richmedia/images/cover.gif
http://www.amazon.co.jp/gp/product/4797367725/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4797367725&linkCode=as2&tag=ddagaegaega58-22
Unityライブラリ辞典 ランタイム編←英語が読めない奴は必須な。
http://www.amazon.co.jp/gp/product/4877832858/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4877832858&linkCode=as2&tag=ddagaegaega58-22
プログラミングC# 第6版←やさしいC#の方がいいかも。
http://www.amazon.co.jp/gp/product/4873115175/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4873115175&linkCode=as2&tag=ddagaegaega58-22

3 :
UniqueUnityUsers
1、Hiroki Omae FF14、Dota系、タワーディフェンスなど様々なゲームを製作 Game Jam主催者
https://twitter.com/pigeon6
2、GameP-HiRo 「じんどろ」 http://www.youtube.com/watch?v=xjSyu88GSZY  お絵かきマルチプレーRTS
https://twitter.com/HiRoGameP
3、Unity仙人  海外のゲーム製作に携わる 海外ゲーム開発者
https://twitter.com/lucifuges
4、TreeBoa じんどろプロゲーマー審査機構JPO
https://twitter.com/treeboa2
http://www.youtube.com/watch?v=C3OFrAFXfPM&feature=plcp

4 :
雑談はこちらで
3Dゲームエンジン】Unity総合スレッド19
http://toro.2ch.net/test/read.cgi/gamedev/1368814728/

5 :
Blender 初心者質問スレッド Part16
http://toro.2ch.net/test/read.cgi/cg/1371632972/
C#, C♯, C#相談室 Part79
http://toro.2ch.net/test/read.cgi/tech/1363632378/

6 :
unityは素材をアセットストアで売り買いできます。
日本でも可能です。
516 名前:名前は開発中のものです。 [sage] :2013/06/21(金) 10:51:57.05 ID:/5nnf9mm
いつ出来ないと錯覚していた
http://masa795.hatenablog.jp/entry/2013/05/03/091223
ここにまとまってる感じ。
15ドルぐらいでキャラ+8アニメーションって感じなら、
だいたい買うよ俺。

7 :
Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応←mecanim対応はこれだけ。
http://www.amazon.co.jp/gp/product/4798126195/
Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~←ちょい古い
http://www.amazon.co.jp/gp/product/4797365331/
Unityではじめるゲームづくり←ちょい古い
http://images.amazon.com/images/G/01/richmedia/images/cover.gif
http://www.amazon.co.jp/gp/product/4797367725/
Unityライブラリ辞典 ランタイム編←英語が読めない奴は必須な。
http://www.amazon.co.jp/gp/product/4877832858/
プログラミングC# 第6版←やさしいC#の方がいいかも。
http://www.amazon.co.jp/gp/product/4873115175/
アフィ外し

8 :
>>ID:77qwp3qD
前スレでスレを立てろと差別的な発言を繰り返して喚き立てるから
なぜそんなに必死なのかと思ってたが
アフィを張るためかよw

9 :
このアセットストアの
https://www.assetstore.unity3d.com/#/content/2908
これでインポートしたモデルにボーンとか設定して
Mixamoでアニメーションさせれるのかな?

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

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

12 :
なるほど、アフィを貼って、そのアフィで買った初心者と見せかけ適当な質問をして
そのアフィリンクはみんな買ってる安心なところですよと宣伝をするわけですね。
勉強になります。

13 :
嫌儲民「アフィイイイイイ!ステマアアア!」
でもスレ一覧は広告スレだらけ。
あいつらアホだよ。

14 :
>>11
やっぱり用途そのものが違いますかー。
ありがとうございます。

15 :
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
http://www.gamer.ne.jp/news/201305260002/
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
http://www.gamer.ne.jp/news/201305260002/
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
http://www.gamer.ne.jp/news/201305260002/
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
http://www.gamer.ne.jp/news/201305260002/
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
http://www.gamer.ne.jp/news/201305260002/
元2ちゃんねる副管理人の「切込隊長」 山本一郎氏、大前ひろき氏らがUnityによるゲーム開発の功罪を語った「黒川塾(九)」レポート
http://www.gamer.ne.jp/news/201305260002/

16 :
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?
4gamerのUnity記事見て喜んでるのはカモなんでしょうか?
Unityの支配者はオオマエヒロキ、山本一郎、宮川って本当ですか?
残りはカモってことですか?

17 :
NGWord指定が捗るな

18 :
・ゲーム系スレで「俺が作ればもっと面白いのが出来る」と豪語 
↓ 
・「じゃあUnityで作ってみれば?」と薦められる 
↓ 
・使い方が理解できない 
↓ 
・「俺が悪いんじゃなくてUnityが悪いんだ」とファビョる 
これもテンプレ入れとけ。

19 :
unityfreeなんですけどオススメのシェーダーとかアセット教えてください。

20 :
前スレ>>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 :
↑上げてしまってすみません。

22 :
何度もすみません;w;

23 :
>>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 :
Camera.mainに入ってくるカメラの条件って何?名前?

25 :
>>24
ほいおー
http://docs.unity3d.com/Documentation/ScriptReference/Camera-main.html
MainCamera タグ持ってる中からひとつ。
複数あった場合はどれが持ってこられるかは保障されない。

26 :
サンクス
タグとは落とし穴だったなw

27 :
スポットライト使うとDrawCallが一気に増えるのってどうしようもないの?
光があたるオブジェクトが多いほど、一気に増える。
これじゃ、スマホ向けにはディレクションライトしか使えない・・・。

28 :
>>27
スポットライトをライトマップオンリーにすれば良いのでは

29 :
>>27
LightProbe(Proのみ)で解決

30 :
>>28
動くオブジェクトに当てたいから無理・・・だよな?

31 :
pro版機能は一個づつ小売にすればいいのに

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

33 :
だってアセットは小売してるじゃん

34 :
ホントだな。
その方が売り上げ伸びそうだ。

35 :
まぁ、金になるところだけ熱心に開発して土台が疎かになる恐れはあるけど
てか今でも十分疎かかw

36 :
他のソフトでは機能限定でいくつもバージョンあるからな。
unityもそろそろそういう売り方してもいいとは思うが。
経営陣は先にクラウド導入したいだろうな。

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

38 :
>>36
サーバ側にデータ転送して作業ってのは嫌だなぁ

39 :
ios向けのアクションものでオンライン対戦を実装したいんですが、ラグ回避の為に近くのPing値が高い相手とのみ自動マッチング としたい場合どの関数を使えば良いのでしょうか?
またはオススメのアセットがあれば教えて下さい

40 :
>>39
ん?どの関数使えばいいかって、それってそういう話なのか

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

42 :
ゲームのロジックより全然簡単だからないんじゃない?

43 :
>>41
ありがとうございます。
C# ICMPでググってみます

44 :
すみません、collider同士はぶつからないのでしょうか?
調べてみたんですがcovenxみたいなのチェックしても全くぶつかりません、すり抜けます。
何か方法はありますか?

45 :
rigidbody付いてる?

46 :
>>44
http://code.google.com/p/vga-unity/wiki/GP10UnityCourse08
この表によるとcollider同士の当たり判定は発生しないみたいだな

47 :
エディタのゲーム画面だけなんだか縦長になってしまったんですがどんな原因が考えられるでしょうか?

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

49 :
WWWを使えば、Windows上の保存場所を指定して画像を読み込ませることはできたんですが
音楽や動画をWindows上から読み込ませる方法はあるのでしょうか?

50 :
iTweenとiTweenPathのアセットでキャラクターをMoveさせてるんですが、UnityEditor上のPlayだと正常に動くんですが、あるキャラクターだけiOS実機で動かすとiTween通りの動きになりません。
原因わかる方いらっしゃいますか?

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

52 :
走りながら攻撃するアニメーションを作りたいんですが
走るアニメーションの下半身と攻撃するアニメーションの上半身混ぜるってできないですか?unityで

53 :
できるよ

54 :
上半身のモデルと下半身のモデルを分けてインポートして
上半身は攻撃のアニメーション、下半身は走るアニメーションをそれぞれ実行
でいいんじゃね?

55 :
>>54
戦車とかロボとか、人間でも境目が隠れてるか良く分からない距離ならそれでもいいよな
そこそこアップにもなる全身タイツの人間や動物だと見た目エラい事になるが

56 :
>>52
Mecanimのチュートリアルビデオにそんなのがあったぞ
公式からたどれるチュートリアルみてみ

57 :
ontrigger()だけは絶対に許さん

58 :
アニメーションのblendってあったよね。たしか。

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

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

60 :
59です。
補足として、PDFは、
ttp://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/3DPlatformTutorial_jp.pdf です。
このPDFの12ページの時点で止まってます。
13ページにあるような、背景が表示できません。
ググってもよくわからなかったので、質問しました。

61 :
>>59
とりあえずやってみて普通にあるので原因は2種類。
ちゃんとシーン開いた?
そうじゃなかったらちゃんとカメラを動かしてあたりを見回した?
チュートリアルもいいけど、
http://japan.unity3d.com/developer/document/tutorial/basic/
を見とくのもたぶん大事。取り扱い説明書的なもんだから。
特にシーンビューのナビゲーションってところを見ながら、
シーンビューをどうやって扱うかを理解することも大事。
背景は(-120,0,0)を中心としてる。チュートリアルの一環だと思って頑張れ。
でも、正直Unityの黄色本あたりで勉強したほうが万倍ためになると思います。

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

63 :
>>61 >>62
ありがとうございます。
もう、一度やり直してできました。
すみません、単純ミスでした。
マニュアルの「Scene->TheGame Sceneを見て下さい」という記述を、
”クリックする”という意味で捉えていませんでした。
(Projectパネルのテクスチャのフォルダを確認?してました。)
ほんとうに、ショボいミスですみません。
61さんに教えていただいたリンクなど、一からやり直してきます。
ありがとうございました。

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

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

66 :
初歩的なら簡単だろ

67 :
>>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 :
>>67
質問的にstatic関数では?
普通にTestBから
TestA.○○
でおk。

69 :
インスタンスメンバに用があるのかstaticでいいのかって、
大分意味合い変わってくると思うが。
つまり、やりたい事次第だと

70 :
static については、gamesonytablet氏が翻訳してる記事を読んでおけば間違いないと思う
http://gamesonytablet.blogspot.jp/2013/01/unitystatic_8.html

71 :
>>70
なんか特別な話かと思ったらただのC#の
言語レベルの入門記事だった

72 :
>>71
まあ、Unity3dで初めてC#(引いてはOOP)に触る人もいるだろうし……と思って

73 :
>>70
機械翻訳読み辛いな・・・

74 :
>>70
>Unityメモリ管理の基礎を積み重ねていこうぜ!
ないわー

75 :
まぁまぁ、一応そこのおっさん公式マニュアル翻訳してる人だし、
いろいろと多岐に渡って翻訳してくれてるいい人なんだ。
その、なんていうか独特のノリは()暖かい視線で見守っていこうぜ!

76 :
あぁだから公式日本語マニュアル糞なのか

77 :
理解深まってもなんだかんだで二年くらい費やすよなw
俺は諸般の事情で3年くらい掛かったけど・・・

78 :
>77
なににそんなかかるの?

79 :
>>78
ノベル

80 :
はじめまして。
今Unityでリバーシを作っています。
スクリプト言語はJavaScriptを使っています。
(C#はどちらかとういうと好きではありません・・・)
黒のターンではうまくいくのに白のターンでうまくいかないので質問させてください。
文章を作るのが苦手なために変な文章だったらすいません。
マウス操作でコマを操作し、マウスクリックで盤上にコマを配置してスクリプトでおけるかどうかを判断させています。
置くことができる(何かしらめくれる)ときは、めくる動作がアニメーションに見えるにスクリプトで回転させています。
初期位置からどういう風においても黒は問題なく白をめくって白のターンへ行くのですが、その次白のターンで黒をめくっている途中で動きが止まって黒のターンになってしまっています。
スクリプトで次のターンへ行く前にコンソールに"next turn"と出力させるようにしているのですが、黒のターンが終わる時は出力されても白のターンが途中で止まった時にはそれが出ていません。
"next turn"を出してからターンを次へ送るための関数を呼び出すようにしているので、"next turn"が出ていないのなら白のターンから次のターンへ行っていないと思うのですが・・・
MonoDevelopのDebugでUnityを起動してデバッグをしてみましたが、ViewでDebugを選んでWatchに変数や条件文などを書いてみるとなぜか"Unknown Identifier"と言われてしまい、変数の中身が見られません。
Localのthisの中にあった変数名をWatchに書いてみても同じメッセージが出ます。
現在作成途中のものを以下にアップしてみました。
http://gmdev.xrea.jp/
[945.zip] 白のターンがうまくいかない作りかけリバーシ 0.22MB 2013-07-08 reversi.zip
黒と白はturnの番号が違うだけでめくる部分の基本的なことは同じようにさせているので、白(turn==0)だけなぜうまくいかないのか・・・
こんな長文ですいません。
どなたかよろしくお願いします。

81 :
はじめまして(^_^)

82 :
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 :
>>80
JSはデバッグしづらいから今のうちにやめておいたほうが
将来得するよ。
で、処理が途中で止まる場合、カウンタが初期化されてないとか
ループ中にエラーで強制終了されてるとかその辺じゃないの?
Watch出来ない変数はかたっぱしからログに出すか、publicにして
エディタから見ればいいのでは?Monoもバグ多いし

84 :
>>80
  ○●
  ●○
  ↓
●●● 黒1手目
  ●○
  ↓
●●● 白1手目(△)
△●○ 
この白1手目の局面で、下記、正解図のように
正しい駒を裏返していない理由を調べたほうが良さげ・・
●●● 白1手後、正解図
○○○ 
●●△ ←失敗図
○●○ 

85 :
80です。
そもそもこのリバーシは以前HTML5+JavaScriptで作ったものをUnityに移植させてみようと思ったものです。
SetIntervalで作っていたアニメーション部分をWhileとyieldなどで再現させてみました。
>で、処理が途中で止まる場合、カウンタが初期化されてないとか
ループ中にエラーで強制終了されてるとかその辺じゃないの?
While(true)という無限ループを使っているので、カウンタが初期化されていないという落ちはありません。
ループ中にエラーで強制終了されてるのでは?という話ですが、デバッグで動きを追ってみると思ってもいないところで条件に引っかかってループを抜け出しているみたいでした・・・
そもそもデバッグ前に変数の値などをコンソール出力させていましたが、それでなかなか解決しなかったのでデバッグに頼ろうって思ってました。
C言語やC++などは好きですが、C#は教わったことはあるもののそのときあまり好きになりませんでした。
あまり自分が興味持たないような内容ばかりで・・・
それ以来全く触ってないので、書き方もほとんど覚えていません・・・w
反対にJavaScriptは自分であれこれやってみたくなるくらい面白いと思えました。

86 :
スレに自分のゲームにおいて発生するバグの相談をして問題が解決した事がない。
エスパーで解決するレベルなら自分で解決しているものだ。

87 :
ここは解決するスレじゃなくて質問スレだから
解決しなくてもいいんだよ。質問したら終わりwwwww
てくらいで考えとけ。
もし似たようなとこではまってた人がいたら
ヒントくらいもらえるかもしれない、というダメもとで書け。
もっとまじめに対応してくれというならやってみたくなるような書き方と
全プロジェクトうpしろ

88 :
>>82
Network.Instantiate したプレイヤーキャラが、 LoginSceneに生成されてしまってる。
http://docs-jp.unity3d.com/Documentation/Components/net-NetworkLevelLoad.html

89 :
>>88
補足
ホストへ接続した直後、ホストからクライアントへ「Network.Instantiate()したよ〜^^」という
Messageが到着し、クライアント側のQueueに溜まる。
Network.isMessageQueueRunning がtrueの場合、クライアントは、即座にそれを取り出して実行する。
falseの場合は、取り出さずに保留しておく。破棄されない。
Application.LoadLevel()は別スレッドで走るから、ホストへ接続した直後にApplication.LoadLevel()しても
BattleSceneへ移動する前に「Network.Instantiate()したよ〜^^」というMessageが届いてしまい、
結果、LoginSceneにプレイヤーキャラが生成されてしまうこととなる。

90 :
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 :
>>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 :
>>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 :
はじめまして。
Unityを使って紙芝居のようなアプリを作りたいのですが、objectの当たり判定がうまく設定できず困っています。
やりたいことは、
1.背景画像(Plane)を配置
2.背景画像の手前に人形の画像(Plane、テクスチャは透過PNG)を配置
3.背景画像をクリックすると人形が動く
4.人形の画像をクリックすると音声が流れる
5.人形の画像の透明部分(見た目上は背景画像が表示されている)をクリックした際には背景画像がクリックされたものとみなす
なのですが、5の実装方法がわからずに困っています。
objectにPlaneを使用しているのがそもそも間違いなのでしょうか...
説明下手ですみません。
どうかお知恵を貸してください。

94 :
>>93
透過ではない部分なら反応するのか?

95 :
---背景画像----
---人形--------
      ダミー---
三層構造で頑張るか・・。

96 :
80です。
>>84
そうなる原因は、スクリプトの2次元配列に覚えさせていたゲームオブジェクトの位置とゲーム画面の盤面の位置とが違っていたからでした。
どうして白のターンで黒をめくるときにどこまで行っているかと言うと、回転を制御する変数がなぜか途中までしか変化していませんでした。
本来なら白のターンなら1から0まで0.2づつ減らすようにしていて、
Unityの計算の誤差を考えて0以下になったらそのコマの回転を止めて次の動作―めくれるものがあればめくる、そうでなければ次のターンへ行くようにしているのですが、
なぜか途中の0.6までしか変化していません。
そのあと0より大きいにもかかわらず次の動作―今回は1つしかめくれないので次のターンへ行くようになっています。
コンソールに座標となる変数の値を出力させていて、めくるべきコマの座標やどこまでめくるのかに間違いは見られません。
座標を直したものに実行ファイルをつけてアップしなおしました。
[946.zip] 作りかけリバーシ 座標改良版 実行ファイル(exe)付き 7.15MB 2013-07-08 reversi.zip
http://gmdev.xrea.jp/
前回のもそうでしたが、Unityファイル(reversi_PvP.unity)はAssets\Sceneにあります。

97 :
>>93
Texture2D.GetPixel() は、テクスチャの特定のドットのColor構造体を返す
Color構造体にはAlphaも入ってる

98 :
Color構造体はRGBAを0〜1で扱っているから注意
http://docs.unity3d.com/Documentation/ScriptReference/Texture2D.html

99 :
>>93
解決方法はたくさん思いつくけど、なんでおまえのような怠け者にタダで教えてやらなけりゃならないの?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
お、俺って天才!って思った瞬間 (160)
MMORPGをHSPで作りたいな Rev.2 (308)
【初心者】ステフと一緒にゲーム製作part10【歓迎】 (840)
そろそろ本格的にMMORPGつくってみようぜ! (332)
☆ベルトアクション作成 Beats of rageスレッド☆ (877)
【3Dゲームエンジン】Unity総合スレッド20 (250)
--log9.info------------------
【FC】クインティを懐かしむスレ (435)
おっさんがファミコンを楽しむスレ (660)
ポートピア連続殺人事件 (424)
2010年にもなってなぜレトロゲーをやるのか? (296)
がんばれゴエモン〜ゆき姫救出絵巻〜 (668)
ファイナルファンタジーUSAミスティッククエスト (483)
マイクタイソンパンチアウト (218)
魔法の少女シルキーリップ (389)
テレビとスーファミが合体してるテレビ (243)
半熟英雄〜嗚呼、世界よ半熟なれ〜 (136)
さくまあきらに新桃太郎伝説のリメイクを (648)
【MD】バハムート戦記を語るスレ3【氷結】 (265)
今スーファミ買うのは? (186)
【黄ばみ】ファミコンのクリーニング【手垢】 (378)
キャプテン翼(T〜X)で最強シュートは? (972)
【舞】負けるな!魔剣道【光】 (137)
--log55.com------------------
★2ch.scは何故失敗したのか
★クロール批判要望スレ
★削ジェンヌに文句ある人集合
★迷惑行為報告担当 - 小さな親切募集中 2
★2ch.scへの要望スレ Part3
★かっこう観測所
★スレ立て人キャップ
★2ch.scニュース系板観測所