トップページgamedev
994コメント388KB

【3Dゲームエンジン】Unity 4 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/06/16(火) 01:35:14.74ID:VIGyPiQQ
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

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

■前スレ
【3Dゲームエンジン】Unity質問スレッド16
http://peace.2ch.net/test/read.cgi/gamedev/1425192691/

■本スレ
【3Dゲームエンジン】Unity総合スレッド26
http://peace.2ch.net/test/read.cgi/gamedev/1429375487/

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0288名前は開発中のものです。2015/07/08(水) 15:17:10.07ID:Pz5uXZTG
>>287
ありがとうございます
0289名前は開発中のものです。2015/07/09(木) 01:13:49.05ID:xvER447B
Physics.Raycastで取得したゲームオブジェクトから、
別のゲームオブジェクトのListに登録したゲームオブジェクトと比較して同一であるかどうか知りたいのですが、
rayが当たったゲームオブジェクトからGetComponent<>()でメンバやメソッドやらを取得するよりも効率的な方法はありますか?

rayが当たるゲームオブジェクトにListの要素数と同じ数の値を持たせてif文で比較と思ったのですが、
ヒットする度にGetComponentは非常に無駄な気がします。
0290名前は開発中のものです。2015/07/09(木) 01:42:15.44ID:ky12UGWc
>>289
ListでIndexOfを使うのとどっちが早いかって話なんだろうが数次第ではある
計測すればいくつ以下ならこっちの方が早いとかもある程度わかりそうだが
実際問題Unityの仕組み的にはゲッポするのが最適解に近いのは確かだろう

まぁんなこといってて漫然と
transform.position
とか使ってたら笑うけどなw
0291名前は開発中のものです。2015/07/09(木) 02:25:26.60ID:xvER447B
すいませんどちらかというとrayを飛ばして取得できる情報がtransform位なんで、
rayがヒットしたオブジェクトがどんな状態で何を設定したのか、
アタッチされたコンポーネントなりから状態を調べなきゃならないと思うんですが、
GetComponent以外で負荷が軽いゲームオブジェクトのユニークな情報を取得してListと比較出来るのかなって話です。
0292名前は開発中のものです。2015/07/09(木) 02:52:27.29ID:ky12UGWc
いや、transformは自動GetComponentだって話
それにRayCastHitInfoとるために内部で何度もGetComponentしてる
今更一回くらい増えたところで変わらんだろう

GetComponent以外でそれ以上に処理が軽いユニークな情報を取得する手段がありえるとしたらGetInstanceIDくらいか
でもどっちにしてもリストと比較しなきゃならんし結局のところIndexOfでやることになる。
0293名前は開発中のものです。2015/07/09(木) 07:27:41.81ID:ozO0w3od
頂点シェーダを触りたいのですが、Unityではサーフェイスシェーダ?というものしか触れないのでしょうか?
もしくは、サーフェイスシェーダで頂点シェーダもピクセルシェーダも兼ねてるとかですか?
プログラミング初心者なのでよくわかりません
0294名前は開発中のものです。2015/07/09(木) 08:51:34.05ID:ky12UGWc
全部書けるよ。
サーフェスシェーダはライティング関連を自動で書いてくれるので楽ってだけ
http://docs.unity3d.com/ja/current/Manual/SL-Reference.html
0295名前は開発中のものです。2015/07/09(木) 10:04:53.71ID:fxiHp6MA
>>289
一つはListじゃなくてDictionary使えばちょっと速くなる(リストを順に全部しらべるよりも速くアクセスできる)
GetComponentしないと目的のコンポーネント要素には触れないのでそこはGetComponentの回数を減らす努力をするしかない。
0296名前は開発中のものです。2015/07/09(木) 10:14:06.43ID:xvER447B
>>292
プロファイラ見ると1回GetComponentした瞬間に強めの負荷がかかってるように見えるので
短時間に何度もGetComponentしたら相当重くなると思うんですが、Unityの特性って事なんでしょうかね
敵機を大量に破壊するシューティングゲームだと相当フレームレート落ちそうな気がします
0297名前は開発中のものです。2015/07/09(木) 10:38:17.53ID:aGuzLR3s
敵を大量に破壊するシューティングにphysicsが必要か?
目的にあった実装を探すのもゲーム作りだと思うよ

あと、「大量に破壊」を同一フレームで行わないならfps低下はないんじゃないかなと
0298名前は開発中のものです。2015/07/09(木) 11:22:25.71ID:SFFiJwDu
プログラミング初心者で頂点シェーダ触んの…?
まあある意味シェーダは変にプログラマよりは初心者のほうが良いかもだけど
0299名前は開発中のものです。2015/07/09(木) 12:36:52.93ID:11larjl7
>>296

unity公式のチュートリアルのコード読めば
GetComponenを毎回呼ばないですむ方法を書いてるよ

意味が解らないのならC#を勉強すればいい
0300名前は開発中のものです。2015/07/09(木) 15:54:09.74ID:W6nY+58T
エディターの再生ボタンでゲーム停止したときに以下のエラーがたまに出るんだけど原因が特定できない
ゲームんの停止時や終了時に走らせるスクリプトは書いてないのになんだろう?

MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.

Your script should either check if it is null or you should not destroy the object.
UnityEngine.GameObject.SendMessage (System.String methodName) (at
0301名前は開発中のものです。2015/07/09(木) 16:33:03.98ID:W6nY+58T
>>300
これ解決出来てないけどエラーの再現はできた
Pointer EnterとPointer ExitのEvent Trigger持たせたオブジェクトに対し
右クリックしたあとでゲーム停止するとそのエラーが出る
なんで右クリック限定なんだろう・・・
0302名前は開発中のものです。2015/07/09(木) 16:33:10.43ID:SFFiJwDu
>>292
>いや、transformは自動GetComponentだって話
え、自分自信の座標とる
this.gameObject.transform と
this.gameObject.GetComponent<Transform>() が
同じコストってこと?
0303名前は開発中のものです。2015/07/09(木) 16:33:51.78ID:SFFiJwDu
レイキャストのときって話なのかな
0304名前は開発中のものです。2015/07/09(木) 18:44:34.41ID:ky12UGWc
>>296
1回のGetComponentにプロファイラに出るほどの負荷がかかるわけないじゃんw
1000個のオブジェクトが一回ずつとってるとかなら話別だが

>>302
基本的にはそう、だといわれている。実際のメモリの載り方とかが
どうなってるのかとかまではわからんが
http://www.slideshare.net/RyoheiTokimura/ss-35321624
これの25ページ目
http://qiita.com/crow_ver6/items/3dc6ba29062d397bbf60
とか、探せばいくらでもでてくる。
0305名前は開発中のものです。2015/07/09(木) 20:02:34.16ID:8n5hGdOE
>>304
すごいためになった
今まで普通にtransform使ってたけどキャッシュした方がよかったのかぁ
0306名前は開発中のものです。2015/07/10(金) 15:40:20.48ID:iuN3UkMF
Unity5では直ってる…とリリースノートに書いてあったよ
0307名前は開発中のものです。2015/07/10(金) 15:53:07.45ID:LyfS03CN
何の話?transform?
0308名前は開発中のものです。2015/07/10(金) 17:10:11.27ID:iuN3UkMF
うん、英語だけど
http://blogs.unity3d.com/jp/2014/06/23/unity5-api-changes-automatic-script-updating/

の末尾に
[2] in Unity5 we also cache the transform component on the c# side, so there should no longer be a performance reason to cache the transform component yourself.
って書いてある。
「Unity5ではtransform を俺ら(ユニティ社)の方でキャッシュしたし、
もはやパフォーマンス上の理由でtransform を自前キャッシュする必要ないよ。」
0309名前は開発中のものです。2015/07/10(金) 17:32:11.32ID:LyfS03CN
マジかw
英語からっきしだから分からなかった
ありがとうございます
0310名前は開発中のものです。2015/07/10(金) 21:13:36.90ID:PFgxSbkC
どうやら他にもいろいろ、this.XXxxxとアクセスする奴は内部的にGetComponentだったみたいね
rigidbodyとか

ユニティの最初の頃の人が「これ便利だろwww」って実装したせいで
ユーザにキャッシュをさせることになってたので
ドット演算子でGetComponentアクセスするものについてはUnity5で削除した
transformとかはユニティエンジン内部的にキャッシュした、ということか

けっこうすごい話なのに、日本語情報ねーなー
0311名前は開発中のものです。2015/07/11(土) 00:21:48.95ID:lI3ZkoOl
アスペクト比(Canvas scalerの設定)についてお聞きしたいです

ブラウザゲームを作っているのですが、アスペクト比の設定は
どうするのがベストなのか分かりません

今は解像度に応じて伸縮する設置の
scale mode: scale with screen size
Reference Resolution: 1024x768

にしていますが、ブラウザゲームの場合、固定(Constant pixel Size)
のままの方がいいのでしょうか?

あとReference Resolutionについてもどうするのが良いのかよく分かりません
1024x768ではなく800.600くらいの方がいいですか?
0312名前は開発中のものです。2015/07/11(土) 04:20:25.39ID:efD2BRsQ
スマホアプリしか作ったことないから見当違いかもしれないけど
まずはウィンドウサイズの変更にどう対応したいのかを決めることから始めよう
0313名前は開発中のものです。2015/07/11(土) 08:25:46.02ID:lI3ZkoOl
>>312
ブラウザゲーは別に最小化しようが画面にフィットさせる必要はないのかな、
と思ったんですが、解像度やスケーリングの設定は画面上の全てのオブジェクトの
大きさや配置に影響するし、最初に設定を変な事してしまうと後からやっぱりダメだった
ってなると修正量が半端じゃなくなりそうなので聞いてみました
ブラウザゲーは普通こうするとか、マジョリティはこういう設定だとかは無いんですかね
自分で方向性を決める感じでしょうか
0314名前は開発中のものです。2015/07/11(土) 11:48:39.91ID:yyYESLWY
640×480が一番多いと思うが
別に自由でも良いんじゃね
一番ゲームで一般的なのは4:3の比率でしょう
0315名前は開発中のものです。2015/07/11(土) 12:44:45.92ID:1yirzU01
エディタではアプリが動くんですが、
iphone に送ると無料版の起動ロゴも出ずに真っ暗のまま止まってしまいます。

エラーログを見ても、
UnityEngineDebugBinding.gen.cpp line:65
と出てきて、何で引っ掛かっているのかわかりません。

一番シンプルな状態で試しても、
このエラーが出てきてしまいます。

最近、XcodeとUnityを最新にしたのですが、
起動ロゴが出る前に落ちるって、
どういう状況なのでしょうか。
0316名前は開発中のものです。2015/07/11(土) 12:50:24.22ID:MqSeZQ/D
>>315
シーンまたは初期化時に使うメモリが巨大過ぎてロード出来ていないのかプラグインがダメかってのが一番多い
0317名前は開発中のものです。2015/07/11(土) 16:41:44.93ID:1yirzU01
>>316
ご回答ありがとうございます。
止まったときのXcodeで、
CPUやメモリの使用率は100%になってなかったので、
プラグインなどの可能性を探ってみます。
0318名前は開発中のものです。2015/07/11(土) 17:31:04.34ID:MqSeZQ/D
>>317
PluginとかAssetが.NetのSubsetじゃ動かないとか言うのもある
メモリ節約の為にsubsetにしたらAssetがReflectionつかってて実機実行時だけアウトとか言うたぐい
0319名前は開発中のものです。2015/07/11(土) 18:35:42.87ID:tI6Jb9gU
質問です。
Windows 上の Unity5 で作成した Linux 用のソフトを ubuntu 32bit で実行しようとしています。
拡張子が x86 のファイルは出力できました。
が、ubuntu 32bit 上でダブルクリックしても「"hogehoge.x86"を表示できませんでした。」と、エラーダイアログが表示されます。
どうやったら起動できるようになるのでしょうか?
(ダブルクリック起動でなくとも、起動できて遊べれば問題ありません)
hogehoge.x86ファイルのプロパティーを見たのですが、種類が「実行ファイル (application/x-executable)」になっていました。
わかる方、よろしくお願いします。
0320名前は開発中のものです。2015/07/11(土) 20:10:31.91ID:MqSeZQ/D
>>319
ls -l でhogehoge.x86のファイル属性見てx(実行可能)が付いてるか確認してみれば?
Windowsから持って行っただけだと実行属性落ちてるかもよ
03213192015/07/11(土) 20:53:19.94ID:tI6Jb9gU
>>320
ありがとうございます。
確認してみます。
03223192015/07/11(土) 22:51:01.65ID:tI6Jb9gU
>>320
解決できました!
実行権限がある事をすっかり忘れてました。。。
ありがとうございました。
0323名前は開発中のものです。2015/07/12(日) 09:33:17.99ID:p5l2eim0
Unityでゲームを作りたいと思い立ち、
公式のTutorialを進めています。
先日Roll a Ballを終わらせたのですが、
チュートリアルの途中でCubeをPrefab化して12個並べるところで、
動画はマウスでささっと等間隔にしていますが、
頑張っても綺麗に並びません。
チュートリアルを進める上では特に問題では無かったのでそのまま進めましたが、うまいこと並べる方法はあるのでしょうか。
0324名前は開発中のものです。2015/07/12(日) 09:44:45.65ID:frF2Zp/Z
>>323
AutoSnap Unity3D で検索してみー
0325名前は開発中のものです。2015/07/12(日) 09:48:07.50ID:j/CL7jbv
unity本で優良なものって現時点でどれでしょう?
できればチュートリアルに毛の生えたようなものじゃなくてある程度の力が付くものを探してます
0326名前は開発中のものです。2015/07/12(日) 09:53:06.52ID:frF2Zp/Z
>>325
Unity4.xでよければKeijiroさんの書いた本がお勧めだけど
基本素人さん取り込みの本ばっかりなんで英語が分かるならYouTubeで検索した動画見るのが吉
0327名前は開発中のものです。2015/07/12(日) 10:40:05.84ID:JEtLaTzN
>>325
C#はできてUnityが初 →公式のオンラインマニュアルと先人たちのblog
C#とUnityが初でPG経験有り →テキトウな初心者本+↑
なにもかも初 →UE4に変更する
0328名前は開発中のものです。2015/07/12(日) 10:41:02.95ID:mJMxlDa8
Unityって
listviewない
音を再生したりボリュームを管理するクラスもない
ダイアログボックスもない
って全然楽じゃないと思うのは気のせいかな?
0329名前は開発中のものです。2015/07/12(日) 11:01:36.22ID:j/CL7jbv
>>326
本はあくまで導入で、基本的にはやっぱ英語の資料や動画を漁ることになるんでしょうか
>>327
国内だとUnityの方が同人でも活発だし書籍も資料も豊富で、素人でも比較的作りやすいのかと思ってましたが
新規だとUE4の方がいいんですか?
0330名前は開発中のものです。2015/07/12(日) 11:25:56.96ID:mJMxlDa8
webのサンプルとテラシュールブログで十分覚えられる。
0331名前は開発中のものです。2015/07/12(日) 17:09:10.06ID:frF2Zp/Z
>>329
UnityでもUEでも好きなの使えば良いじゃないか
そういえばUEってQAスレないのか?

つかUnityを新規に始めるって人でひとくくりにしても↑の方でだれか書いてたけど本人がどこまで出来るかでやりかたがいっぱいあるのよ
それはUnityにかぎらずUEでもなんでも同じなんだけど、Unityのウリが万人にゲーム製作への入り口を〜みたいな感じでやってるせいで間口が広いから質問される側も返答に困ったりるんだわ。
なんでもっと細かい示唆や回答を求めるなら329が自分の能力を開示しないとどもならんのだよ。
0332名前は開発中のものです。2015/07/12(日) 17:13:33.32ID:KNk8uXfJ
あるけどUnity同様総合スレに書き込むバカが多い
0333名前は開発中のものです。2015/07/12(日) 17:24:33.81ID:u7QvnQnp
PUNの情報がほとんど無い・・・
ここで質問してもいいの?
0334名前は開発中のものです。2015/07/12(日) 17:31:10.39ID:ZUuKb4YJ
公式のドキュメントとデモを見た上でならいいんじゃない
0335名前は開発中のものです。2015/07/12(日) 17:36:36.83ID:TGQUSaxd
Unityで作ったサイレントヒル4のあの部屋の勝手リメイクとかあるんだな
サイレントヒルて海外でもファンいるんだな、オワコンにされたけど
0336名前は開発中のものです。2015/07/12(日) 18:42:25.47ID:gRNcvcCr
>>331
質問するのに必要な情報のテンプレがあれば従います
0337名前は開発中のものです。2015/07/12(日) 19:39:00.50ID:YdbiL+/V
LitJsonでDictionaryをjson文字列に変換したいのですが、ToJsonで変換するとエラーが起こります。
(C#)
Dictionary<int, int> dic = new Dictionary<int, int> ();
LitJson.JsonMapper.ToJson (dic); //エラー

変換方法をご存知の方居ましたらご教授をお願いします・・・
0338名前は開発中のものです。2015/07/12(日) 20:00:58.43ID:ZUuKb4YJ
>>337
使ったことないが、ぱっとみdirectoryのキーははjsonmapper.cs755あたりでstringにキャストしてるからそこをtostringに書き換えるなりキーをstringにするなりすればいいんじゃない?
0339名前は開発中のものです。2015/07/12(日) 20:33:25.84ID:YdbiL+/V
>>338
おかげさまで通りました!ありがとうございます!
0340名前は開発中のものです。2015/07/12(日) 20:34:44.09ID:nyMQ59ed
Instanateするprefabを自分のsceneに配置すると別ののgameobjectで不具合が発生した。
諦めて別のsceneに置いたら、普通に正常に動いた。重い動作するprefabは置かない方が良いぽい。
Unityのバグぽい。
0341名前は開発中のものです。2015/07/12(日) 20:43:35.25ID:JEtLaTzN
それ重さ関係ない気がするわ
0342名前は開発中のものです。2015/07/12(日) 20:52:44.23ID:nyMQ59ed
Uguiでprefabのtextにoutline付けて、太字にしたら、別のweb socket繋いでるところが動作がおかしくなった。
0343名前は開発中のものです。2015/07/12(日) 22:42:36.26ID:u7QvnQnp
punのRPCについて調べてて

//photonViewを取得し、自分のオブジェクトでなければスクリプト停止
myPV = PhotonView.Get(this);
if(!myPV.isMine){
this.enabled = false;
}

こういう記述がググってたら見つかったんですが
Get(this)指定してisMineがtrueにならないケースってあるんですか?
0344名前は開発中のものです。2015/07/12(日) 22:43:33.21ID:17MXfhqy
マスク用のSpriterender(青色の半透明な穴あき四角)で
マスク対象のSpriterender(緑色の四角)をマスクしようとしているのですが
穴の開いた部分までマスクされてしまいます
穴の開いた部分をマスクしないようにする方法はあるでしょうか?

画像:http://www.dotup.org/uploda/www.dotup.org413261.png
シェーダ:ZWriteをOnにし、穴の開いた部分をAlphaTestでレンダリングしないようにしてマスクをしようと試みました

SubShader{
Tags
{
"Queue"="Transparent"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
Offset 0, -1
Cull Off
Lighting Off
ZWrite On
Blend One OneMinusSrcAlpha
AlphaTest Greater 0.1
0345名前は開発中のものです。2015/07/13(月) 01:23:22.30ID:Y/6vE6fj
質問です。
Linux用のソフトを制作中です。
作っているソフトから外部ソフト(/home/username/xxx/hogehoge.x86)を起動できずに困っています。

/home/username のルートにソフトを置いて、
Process.Start("./xxx/hogehoge.x86");
とすると起動はできます。

しかし、デスクトップ上(/home/username/desktop)に置いて、上記コードを実行しても起動できません。

おそらくカレントディレクトリーの問題なのですが、ターミナルで言うところの
cd /home/username/xxx
./hogehoge.x86
上記2行をどうやって実装したら良いでしょうか?

よろしくお願いします。
0346名前は開発中のものです。2015/07/13(月) 01:29:07.60ID:c3ydWJ9L
3Dオブジェクトのタグを
衝突時などにスクリプトから変更する方法はありますか?
03473452015/07/13(月) 01:36:32.43ID:Y/6vE6fj
すいません。
自己解決しました。
SetCurrentDirectoryを事前に設定しておくだけでした。
0348名前は開発中のものです。2015/07/13(月) 04:25:55.72ID:YhYIG2x6
ジェネリックなシングルトンでDontDestroyOnLoadにしたManagerを作ったんですけど
シーンが変わったって情報はManagerがアタッチされたゲームオブジェクト外から
トリガーとして渡さなければ、自身はシーン切り替わった事に気づかないですよね?

そうなるとそれぞれのシーンごとにStart等でシーン情報を渡すメソッドを持つ
ゲームオブジェクトを作らなきゃいけないって事になると思うんですが、
Managerを監視するようなコンポーネントを別のゲームオブジェクトで
全部のシーンに持つって何か凄く変な気がするんですが、他に良い方法ってあったりします?
0349名前は開発中のものです。2015/07/13(月) 04:38:13.26ID:YhYIG2x6
サーセンとんでもない勘違いしてました。348はスルーしてくだしあ
0350名前は開発中のものです。2015/07/13(月) 04:40:09.06ID:B4p5tf2R
>>325
専門書マニアだけどunityで神になる本は5に対応していてわかりやすさという点では他の本を圧倒してる良書
作者が入門者に親身でためになる役立ちそうな知識が広く散りばめられてるがその分専門性が低いunityについての内容のほとんどはチュートリアルで学べることばかりだと作者も書いてる
でも3Dモデリングとかunity以外の価値がある知識も少し載ってるからお勧め

あとunityちゃんで作る本格アクションゲームって奴も一応5対応だが発売が早かったから微妙
簡単なゲームを数種類作るのでチュートリアルをなぞるだけの本よりは役に立つのは間違いないけど本としては解説が足りなかったり良書ではない
他は4以前の本ばかりだからそれだけでお勧めしにくい

多分入門書として一番いいのは今後発売されるunity5入門のヒヨコ
あとスマホ向けの奴も発売されるが情報なさすぎて初心者向けかわからない
0351名前は開発中のものです。2015/07/13(月) 11:02:43.36ID:bIBimsAG
>>350
質問者とまったく関係ない微専門書マニアだけど、
専門書マニアさんには時々ここにこんな風にレビュー書いてもらえるかamazonに書いてほすい
今後発売分の推察も的確で同意、スマホのやつまったく情報がないから、
気になってるけどそれもレビューが挙がるまで食指が動きようもない

大変参考になりました
0352名前は開発中のものです。2015/07/13(月) 11:05:21.38ID:ehEwuxYj
>>351
レビュー無くてもいいからAmazonに出すなら目次と各章の1ページ目だけでも立ち読み可能にしてほしいよね
専門書って言いながら入門書だったりとか立ち読みで感触つかめないと買うのに困る
0353名前は開発中のものです。2015/07/13(月) 11:55:15.84ID:ZsJTYgNe
>>344
最近のPCはαテストが機能しない
フラグメントかサーフェスのシェーダの妥当な位置に clip() 命令を入れるべし
clip()の詳細はぐぐってね
0354名前は開発中のものです。2015/07/13(月) 12:39:53.07ID:V3rBAlgQ
>>353
返答ありがとうございました
現在unityを触れないので、帰宅次第結果を書き込みいたします
03553402015/07/13(月) 23:23:44.10ID:FheOzkD2
バグじゃなかったです。
>>341
SocketIOComponentの
OnApplicationQuitに
if (socket != null && socket.ReadyState == WebSocketState.Open)
socket.Close ();
追加でなおりました。
0356名前は開発中のものです。2015/07/14(火) 08:26:51.28ID:eUNtsLFw
UIのTextをアニメーションさせる事ってできないんですか?
UIのボタンやトグルのアニメーションは分かったのですが、
UIのそういう機能を持たないロゴとかアクセサリ的な画像をTextで
表示しているのですが、それをアニメーションさせたいんです

spriteerendererを使えばもちろん出来るのですが、それだとUI要素じゃ
なくなってしまいます。

良い方法はないでしょうか?
0357名前は開発中のものです。2015/07/14(火) 17:57:20.79ID:fipAqq+e
ビギナーチュートリアルやれって
詳しく説明されてる
0358名前は開発中のものです。2015/07/14(火) 19:08:46.20ID:eZTP1osw
ビデオチュートリアルは良い物だ、とりあえずUnityの機能を全部把握したぜって人以外なら全編見るべき
0359名前は開発中のものです。2015/07/14(火) 19:49:12.79ID:sJYqFhu5
sqliteにRPGのマップを収納したいのですが、どうすれば性能よく取得できますか?
0360名前は開発中のものです。2015/07/14(火) 20:03:39.63ID:sLm7ep3o
mongoDBも一応使えるのか、迷う
0361名前は開発中のものです。2015/07/14(火) 21:45:55.03ID:GDrAx8FP
フォルダの構成ってどうしてる
0362名前は開発中のものです。2015/07/15(水) 06:59:00.49ID:Ew9U2E7K
それよりスクリプト名の方が気になる
俺は「xx_シーン名_機能名.cs」ってしてるけど
0363名前は開発中のものです。2015/07/15(水) 09:50:40.49ID:1SDtsKZ7
>>360
Xxって何?
連番?


>>361
シーンはsceneフォルダ
プレハブはprefabフォルダ
2d画像はimgフォルダ
3d関連はお任せしてるが基本的には
3d/Panzer/mesh.fbx
3d/Panzer/texture.mat
みたいに関連するの画像もモデルもまとめてる

アニメーションについては、3dでつけるのは上記のとおりモデルと同じフォルダなんだけど
unity上でつけるものは適当に入れてる
アシスタントキャラのアニメーションとかは
Prefab/assistant/assistant_appear.anim とかね
同じフォルダにassistant.prefab と assistant.sceneがあるのね

スクリプトは特殊で、scriptフォルダ以下に入れてるが
・名前空間と階層が一致するようにしてる
・シーン名/prefab名+Viewって
0364名前は開発中のものです。2015/07/15(水) 10:07:49.48ID:1SDtsKZ7
途中で書き込んじゃった

・シーン名+Viewは画面管理系で、BattleMainViewとかResultViewとか。view名前空間
・UI部品はUI名前空間でreticleとかdistanceLineとか
・ゲーム部品はPrefabController名前空間で、部品名+Controller
PlayerTankController, EnemyTankController, BulletEffectController

分け方は好きにするといいけど、複数人はもちろん独りでも名前空間境界決めた方が良いです
名前空間境界は
・単独で画面を為すならView
実際、ResultViewはバトルメインの上にしか表示しないんだけど
それだけでも画面として意味為すんだよね
・単体では画面やゲームにならないならUI/PrefabController
何がUIかは定義しなくても一目瞭然なので境界おいてないや
境界を置くなら、別のゲームでも使いまわせるならUIかな
ただコントローラってクラス名は長すぎたと思ってる


他にもネットワーク処理とかのマネージャークラスとかあるけど割愛
0365名前は開発中のものです。2015/07/15(水) 10:34:40.44ID:1SDtsKZ7
あ、書いてないけどprefabは基本的には
そのprefabを更新するためのsceneを一緒に入れてるよ

複数のをまとめてることもあるけど
UI系なんかはまとめてUI_Sceneで管理してる
0366名前は開発中のものです。2015/07/16(木) 00:42:33.06ID:p9FL2F4Q
やっとコルーチンの使い所がわかってきた
0367名前は開発中のものです。2015/07/16(木) 00:46:59.96ID:BTR8DDto
コルーチンのメソッドの中でインスタンス化したクラスのメソッドをコールすると
コルーチン内の処理が2回連続で行われる現象が起きるのですが、何が原因なんでしょうか?

var x = new Test();
IEnumerator Method_A(){ // カーソルが特定位置にいる時に起動されるコルーチン

if(マウス右クリックされたら){
int z = 0;
x.Taxi(this.gameObject);
z++;
}
}

Taxi(GameObject hoge){
instantiate(xxx, xxx, xxx);
SetParent(hoge, false);
}

これでマウス右クリックを一回するとzが1になります。(初回クリック時のみ)
ですが、2度目以降右クリックすると3→5→7→9とif内の処理が2回連続で行われてしまい
意味が分かりません。BP張って確かめるとif内の処理が2回走っていました。

なお、x.Taxi(this.gameobject);の一行をコメントアウトすると、正常に右クリック一回につきzは1しか
インクリメントされないので、完全にx.Taxi(this.gameobject);が影響して多重起動されているんだと
思うのですが、なぜこんな事になるんでしょうか?
0368名前は開発中のものです。2015/07/16(木) 01:21:53.07ID:p9FL2F4Q
コルーチンなのにyieldもStartCorutineも、ないから意味がわからない。
0369名前は開発中のものです。2015/07/16(木) 01:42:51.09ID:MbsBlf+A
まぁ色々訳がわからないが
マウスクリックするたびにz=0にしてるのに
3,5,7,9になってくとかおかしいとか思わんのかw
0370名前は開発中のものです。2015/07/16(木) 10:55:28.12ID:Ra4QGjrA
複雑なスプライトに対してBoxCollider2Dをたくさん付けるか
MeshCollider2Dを一つ付けるか
どっちが負荷減らせる?
0371名前は開発中のものです。2015/07/16(木) 12:02:55.85ID:Im7i3LKr
>>107
最新パッチ当てたらこれにインターネットアクセスの権限も追加された
もうunityはアップデートする度にバグ増やすのやめて…
0372名前は開発中のものです。2015/07/16(木) 17:44:37.82ID:kFRQozvC
>>370
2DだからPolygonColliser2Dかな?
メッシュでもポリゴンでも、多角形の衝突判定は数倍遅いと思っていい
ただしもともと小さい処理の判定なので、数倍といっても影響はかなり小さい

一般にはボックスコライダー数個でなんとかなるならそっちの方が早いと思うよ
10個20個も使ったり、シンプルなポリゴン・メッシュならそれでもいいかも

答えはどっちのほうが頂点少なそうか?でも近似できるが
精密な判定が必須でないなら大き目のボックスコライダーがプレイヤーにとっても良い
0373名前は開発中のものです。2015/07/16(木) 18:25:06.58ID:Ra4QGjrA
>>372
ありがとう
精密な判定が必須なのでボックスコライダーを大小10〜15個ほど持たせています
結果頂点はボックスコライダーの方が多くなってそうなのでポリゴンコライダーで試してみますが
オブジェクトも100個近くあるので自動で認識させたあとの修正作業が大変・・・
0374名前は開発中のものです。2015/07/16(木) 19:47:21.50ID:5Lc3uLw9
直接UnityでタッチのテストするためにOn-Lap 1002っていう小さいマルチタッチディスプレイを買おうと思っています。
使ってみた方いますか?
是非使用感を教えてください。

あとはタッチ対応のノートパソコンとかも考えてます。
0375名前は開発中のものです。2015/07/16(木) 20:17:08.43ID:FCO+YS10
>>373
BoxやCircleなどは判定が軽い
多角形は基本的に軽くない
個数や密度、何と当たるか?を考えて決めるのが良いかと
0376名前は開発中のものです。2015/07/16(木) 20:59:02.68ID:1Y8+sfpQ
macのmonoのエディター日本語打てないんだけど、どうやってる?
日本語打てるバージョンのに入れ替えると、コードの定義場所に飛ぶ機能が、機能しない。
0377名前は開発中のものです。2015/07/17(金) 13:03:03.45ID:/CJmacbY
ああ、質問スレあってのか。
0378名前は開発中のものです。2015/07/17(金) 13:19:55.23ID:/CJmacbY
unityのスクリプトリファレンスって、古いコードが混じってたりするんですか?
unity5で使えるコードかどうかというのは、どこから確認できるんでしょうか・
0379名前は開発中のものです。2015/07/17(金) 14:38:16.31ID:Tom8Dw3F
>>373
10くらいならボックスコライダーでも良さそう
ナナメに判定が!とかなら変わってくるが
もう貼ってるなら、張り替えするほどじゃないよ

>>376
Xamarin Studioってやつ使ってる

>>378
古いコードは混じってるね…
上の方にもあるけど、GetComponentを使えばだいたい動くよ
あと公式リファレンスは正しいんじゃないかな
日本語の特設サイトとかは古いのもあるよ
0380名前は開発中のものです。2015/07/17(金) 15:08:00.60ID:/CJmacbY
>>379
いろんなサイトからコピペしてきてもことごとく動かないのは、unity5で変更があったからなんでしょうね。
クラスは、getcomponentかtransformしかないってことですよね。
0381名前は開発中のものです。2015/07/17(金) 15:26:58.41ID:/CJmacbY
連投すみません。
ホイールを押しながら左右に動かすと、ビューポートを平行に動かすことが出来ますが、方向を逆にすることはできますか?
unityも同時に使っているので、設定を同じにしたいんです。
0382名前は開発中のものです。2015/07/17(金) 17:06:31.20ID:wefs9oqb
HDDで運用してるんだけど、スクリプトカキコ>unityで反映がクソと言ってよいほど重いんだけど、これはSSD化で激減できるんだろうか?
0383名前は開発中のものです。2015/07/17(金) 17:25:22.95ID:lga6znuC
スマホでアプリ内課金を実装したいです。

AndroidとiOS使い回せるのが嬉しいのですが、
実装の敷居の低いプラグイン・汗ット等ありますか?

無料が嬉しいですけど、
簡単にすむなら有料汗ットでも良いです。
0384名前は開発中のものです。2015/07/17(金) 18:27:38.67ID:HlblmhHq
課金ゲー作ってる人ってクレームと法務的な取り回しどうしてんの?
アイテム課金でも月額課金でも、例えばDDOS食らって鯖落ちしてて
一週間繋がらないとかアイテム課金が何らかのトラブルで無駄になった場合
クレームになったりマジキチ相手だと訴訟問題にもなる可能性あると思うんだけど、どう捌いてるの?
金もらってんだから、クレーマーとかに捕まると相当面倒な事にもなりそうなんだが
0385名前は開発中のものです。2015/07/17(金) 18:33:24.25ID:s27BjOnX
無駄になったアイテムお詫び補充で
0386名前は開発中のものです。2015/07/17(金) 18:49:22.25ID:HlblmhHq
>>385
それで全員済むならいいけど、返金しろとか騒ぎ立てるヤツがいないとも限らないよね?
そういうのに絡まれた時の対応が怖くて俺は課金なし完全にアフィだけにしてるんだが
0387名前は開発中のものです。2015/07/17(金) 18:54:18.83ID:lga6znuC
383 です。
どなたかアドバイスお願いします。
■ このスレッドは過去ログ倉庫に格納されています