[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/21 15:00 / Filesize : 330 KB / Number-of Response : 1030
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 [2015/11/18(水) 00:53:16.90 ID:6AegDlBR.net]
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

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

■本スレ
【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/gamedev/1441891966/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
unity3d.com/jp
・ユーザーガイド
 docs.unity3d.com/ja/current/Manual/UnityManualRestructured.html
・チュートリアル
 unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 unity3d.com/jp/unity/faq
・MSDN
 msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド20 [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/gamedev/1444194744/

676 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 00:18:39.03 ID:y4yBucq8.net]
代わりと書くなら、「型指定の代わりをやってくれる」かな
これも違和感あるけど

677 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 09:40:30.69 ID:uooFc2ru.net]
>>657
GetHashCodeはオーバーライドした?
Dictionary<TKey,TValue>の場合キーマッチングにHashCodeを使う
構造体GetHashCodeはobject型のを使う訳だけど値型で明示的な実装がされていない場合これにはボックス化が必要になる

キーマッチングが呼ばれるたびにobject型へのボックス化が走るからオーバーヘッドが大きいんだと思う
ボックス化せずにキーマッチングが出来るようGetHashCodeをオーバーライドすればかなりパフォーマンスが違って来ると思うよ

678 名前:名前は開発中のものです。 [2015/12/18(金) 10:34:13.62 ID:B6RkM70a.net]
>>607
どなたかわかりませんかね

679 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 12:09:00.66 ID:Q3Oo75qC.net]
>>660
ありがとうございます、なるほどボクシングですか。。
gethascodeはオーバーライドしてましたが
equalはobject引数のやつでした。
dictionaryのコンストラクターにジェネリックのコンペアラーを作って指定しとけばボクシングなしで比較させられるイメージなんでしょうかね。帰宅したら試してみます。

680 名前:名前は開発中のものです。 [2015/12/18(金) 12:11:09.10 ID:gwBKg3dx.net]
>>658
newなら型が一目瞭然だし、
関数の戻り値で代入なら書いてもいいけど、インテリセンスが効くんだから全く必要ない。

681 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 12:46:50.67 ID:uooFc2ru.net]
>>661
答えが貰えないのは答えがわからんからでなく質問がわからんからだからw
要求するエスパーのレベルが高すぎなんだよ
少し問題を切り分ける努力と情報がないとなんとも言えない

まずレベルをロードした後にInputからボタンの状態は正しく取れてるのか?取れてないならロード前の値を死なないオブジェクトにキャッシュするなどして回避しろ

次にレベルをロードした際に前のシーンの中身が破棄されて参照が切れてたりしないかチェック
レベルがロードされた際に破棄される古いインスタンスを参照していた場合、レベルがロードされた時に参照をとり直さなきゃならん、推測だがここが怪しい

エラーを吐いてるのかどうかすらわからん、実装も全くわからんでは答えられんのも仕方ないだろ

682 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 13:28:08.07 ID:ZJssySOS.net]
助けてください!
Unity5.3.0 のMac版をインストールしたところ、UIの文字がつぶれてしまって使えません。

具体的には、
つ ttp://www.dotup.org/uploda/www.dotup.org658569.png

上図のようになってしまったのですが、これを直す方法を知りませんでしょうか?
検索してみましたが、monoDevelopの文字化け対策ばかりヒットしてしまい、解決法が発見できません。
もう、いい加減ハゲそうです…

【環境】
MacOSX 10.9.5
メモリ8GB
iMac2010年モデル

お願いします

683 名前:名前は開発中のものです。 [2015/12/18(金) 15:50:46.63 ID:gwBKg3dx.net]
unityのフォーラム使え

684 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 15:54:23.89 ID:LlLoZF5i.net]
>>665
基本的にUnityにはエディタUIのフォントを選んだりサイズを調整したりという手段はない。
つまりOS側の何らかの設定をそのまま使ってるということ。
MacはよくわからんからよくわからんがMacOS側の何かをいじるしかないだろう



685 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 17:40:17.08 ID:uooFc2ru.net]
中身全く見てないがこんな事してる奴はいるらしい
Unityはエディタの改変は割と自由に出来るのもいいところ

https://github.com/anchan828/ChangeEditorFonts

686 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 19:46:53.46 ID:vovoyLY6.net]
>>665
とりあえず5.2にしてみたら?
それでも変わらなければハード側の問題だろ

687 名前:名前は開発中のものです。 mailto:sage [2015/12/18(金) 21:17:02.68 ID:eC4OHSbc.net]
どなたかAndroid6以上使ってる人いますか?

apkインストールできなく無い?

688 名前:661 [2015/12/19(土) 06:18:02.26 ID:YGsi/2ht.net]
>>664
すすすみません〜
ありがとうございます。試してみます。

Update(){
Debug.log( Input.GetButton("hoge"));
}

とあった時に、普段はhogeボタン押している間はtrueになりますが、
hogeを押したまま、loadlevelでシーンを読み込むと、
hogeを押したままなのに、falseになってしまうという感じです。
(getButtonは押すという過程が無いと反応しない?)

689 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 08:35:09.54 ID:3jFWitgF.net]
>>671
まさに>>664がエスパーした通りだったな

690 名前:名前は開発中のものです。 [2015/12/19(土) 14:01:49.13 ID:DxhqkfnX ]
[ここ壊れてます]

691 名前:.net mailto: プログラマはMacを使ってるってマジ?
http://hayabusa3.2ch.net/test/read.cgi/news/1450395043/
[]
[ここ壊れてます]

692 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 19:16:41.13 ID:BNrflbDt.net]
今androidでゲームを作ってるんですが困った状態に直面してます
macのunity上ではなんの問題もなく動作するんですがandroidで動かすと
画像が乱れます
m.imgur.com/GvbFeuz.jpg
これが普通の状態でパーティクルやオブジェクトを生成すると
m.imgur.com/9APIc0N.jpg
こうなります
関係無い部分が乱れてるのがおわかりでしょうか?
どうしたら乱れないように出来るかわかりますでしょうか?
unityは5.3でandroidはnexus9を使っています

693 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 19:32:53.04 ID:GPbneO/a.net]
スクショの撮り方からやり直せ
目が痛くなるような画像貼るな

694 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 19:55:20.13 ID:BNrflbDt.net]
>>675
申し訳ありません
やり直しました
m.imgur.com/oTtkUfG.jpg
これが正常な画面で
m.imgur.com/vByNAi2.jpg
これが乱れた画面です
枠の部分がおかしくなってるのがおわかりでしょうか?



695 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 20:08:40.65 ID:KkGdz7kr.net]
>>676
ごめん、どこがおかしいのかわかんないけど
ピクセルパーフェクトで作ってるから自動的にサイズ調整してくれないってこと?

696 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 20:39:13.89 ID:BNrflbDt.net]
>>677
フィールドの上部と左右にスロープ気味の枠を設置してるんですけど下の画像では透けて見えたり
変なところに三角形のポリゴンが出たりしてるんですけどわかりませんか?
動いてる画面だと凄くガチャガチャとした変な感じになります

697 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 21:54:58.14 ID:esdi3SKN.net]
>>676
描画されてないポリゴンがあるのは説明されなくてもわかるがこれだけではなんとも判断つかんね

正面の斜面を見る限り面は2つの三角ポリゴンに分割されているが片方の三角だけが描画されてる
よく見ると裏目側のポリゴンが描画されてるがこれはスロープがボックス状の面を構成していると想像するなら本来裏向きで描画されないポリゴンのはずだ

ここから考えると、何らかの理由でポリゴンの面裏がおかしくなってると推測できるがこの画像からわかるのはここまでだな

あと一枚のポリゴンがえらくでかいのはちと気になる

698 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 22:11:18.50 ID:BNrflbDt.net]
>>679
ビルトインのブロックを使ってるだけなのでポリゴンのモデルがおかしいとは考えにくいのですが・・

>あと一枚のポリゴンがえらくでかいのはちと気になる
さっき試しにブロックを複数に分割して作ってみたのですが結果は同じでした

699 名前:名前は開発中のものです。 mailto:sage [2015/12/19(土) 23:16:47.00 ID:BNrflbDt.net]
自己解決しましたー
パーティクルを表示させる時scaleをいじってたのが悪かったみたいです
scaleをいじるのをやめたら正常に表示されました

700 名前:名前は開発中のものです。 mailto:sage [2015/12/20(日) 16:55:49.34 ID:kKby6yTS.net]
Prefabsについて質問
Prefab化した時にスクリプトでpublic 変数で指定したものが一部noneになってインスタンス化してもnoneのままなのですが
これはどういう規則があるんでしょうか?
例えばチュートリアルのsuvival shooterでplayerをPrebabにするとPlayerHealthのHealth SliderとDamage Image がnoneになります
audioclipのDeath Clipは指定されたのが残っています
Prefabに直接Health SliderとDamage Imageを指定しようとしても侵入禁止マークが出てできません

こういった場合は一般的にどうやって指定するのがいいんでしょうか?

701 名前:名前は開発中のものです。 mailto:sage [2015/12/20(日) 18:35:21.92 ID:oUuZ6MJB.net]
>>682
いつも通りチュートリアル見ずにエスパーするが
Prefabはヒエラルキーに存在しないからヒエラルキーにあるインスタンスはPrefabでは保持出来ない、アセットにあるものの参照は維持される

ヒエラルキーにあるものを参照したければInstantinateした後でスクリプトで参照をセットするといい

702 名前:名前は開発中のものです。 mailto:sage [2015/12/20(日) 19:02:45.82 ID:kKby6yTS.net]
早速ありがとうございました
やっぱりスクリプトでやるのが普通なんですね
安易にヒエラルヒーにある他のGameObjectをPublicで参照するのは止めたほうがいいのかな
とりあえずFindかFindWithTagで地道に参照します

703 名前:名前は開発中のものです。 [2015/12/20(日) 21:43:31.06 ID:sxkN/Mdb.net]
時代遅れ感が半端じゃない質問ですが・・・・

今Photon使って複数人対戦のアクションゲームを作成してまして、
カメラの描画範囲外はポジションの同期せず、範囲内に入ったら同期みたいなことをしようとしてはいるんですけど、
OnWillRenderObjectでカメラの範囲を見るのはわかるのですが同期するしないの設定ってスクリプトから変更することって可能なんでしょうか?
調べてみてもそういう記述が見つからなかったので・・・

ちなみにUnityのバージョンは5.0.4です
(他の方法がありましたらご指南いただければ幸いです m(_ _)m)

704 名前:名前は開発中のものです。 mailto:sage [2015/12/20(日) 22:06:52.53 ID:Sx2eIhW1.net]
unity5.3を32bitVistaで起動させる方法ってないですかね?



705 名前:名前は開発中のものです。 mailto:sage [2015/12/20(日) 22:26:27.37 ID:oUuZ6MJB.net]
>>686
動作環境がWindows7 SP1以上とあるから無理

706 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 01:03:14.21 ID:HVuMnboW.net]
Unityで2Dの横スクロールアクションゲームを作っています
乗ると流されるコンベアのようなギミックを作りたいのですが
transform.Rotateで回転させても、スプライトの画像だけが回転して
コライダー自体は回転していないようでした
このギミックを表現するにはどうしたらいいでしょうか?

707 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 02:20:26.38 ID:Ybtucx/E.net]
>>688
コリジョンもちゃんと回転はしてるはず。
boxコライダーを仮でつけてみたらわかると思う。

回転させてさらに座標も移動させないといけないよ。
オブジェクトは回転だけしても進まない。

物理で力を加えたら回転も移動もするけど、思い通りに動かすのはちょっと慣れないといけない。

708 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 12:27:34.28 ID:IMaaS1Ne.net]
>>665
MacOSX10.9.5を使っているけど
こっちも同じ文字化けする。
5.3.1にしても変わらないので5.2を使っている

709 名前:名前は開発中のものです。 mailto:age [2015/12/21(月) 16:19:18.73 ID:00UsknoA.net]
Resourcesファイルにcsソースを入れた場合使えなくなるの?
Resourcesファイル内のプレハブとセットでcsソースを一緒に入れれば
見やすいからそうしたいんだかどうなの?

710 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 17:26:44.93 ID:76aWrUGL.net]
android6.0に対応させるにはsdkマネージャーから6.0をダウンロードしたら自動で反映されるのでしょうか?
playerSettingを見ると選択できないのでうまくできてないように思えますが何かほかの手順が必要ですか?

711 名前:名前は開発中のものです。 [2015/12/21(月) 20:06:33.52 ID:jcVDj2Nz.net]
すみません音の再生についての質問です。
リバーブのかかった音源を以下の様にループさせたいと思っています。

時間の流れ→

音音音残響
□□□音音音残響
□□□□□□音音音残響

ループするべき長さ(length)はわかっているのですが、
このlengthのタイミングでループする方法と、ループした時に過去の音を消さない方法がわかりません。
よろしくお願いします。

712 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 21:04:53.33 ID:r9cjdiXD.net]
音源にリバーブが含まれてるならどうしようもないだろ

713 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 21:11:41.51 ID:FIXEWsvQ.net]
DTMスレかと思ったらUnityスレだった。自作BGMならループ先にも残響音が含まれるように完全ループで作るしかないけど素材なら無理だろ。
あと洋ゲーやれば分かるけどきっちりループするBGMが流れるのって和ゲーやチップチューンくらい。
残響とか含まれてるインストゥルメンタル音源はきっちりループせずにアウトフェードしてからまた最初からってのが普通だよ

714 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 21:12:18.18 ID:4ywppTKb ]
[ここ壊れてます]



715 名前:.net mailto: >>693
AudioSourceをいくつも作って再生するんじゃダメなん?
[]
[ここ壊れてます]

716 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 21:24:15.40 ID:CnyXX6yb.net]
>>693
そういうことしたいんなら、イントロからループ直前までのファイルと
ループする部分のファイル2つに分ける
で、最初にイントロからループ直前まで流してメインファイルに切り替えて
あとはループさせる
これなら残響音あっても成り立つ
Unityで出来るかは知らんが

717 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 21:31:45.60 ID:fSY+Htxz.net]
>>691
Resourcesは入れたデータそのものが入る場所だからソースコード入れてもソースのママだぞ、コンパイル対象にならんのだ

718 名前:名前は開発中のものです。 mailto:sage [2015/12/21(月) 22:01:15.53 ID:VTzw7brd.net]
>>693
単純に>>696が正解、5からは無料で便利なAudio Mixerが使える

719 名前:名前は開発中のものです。 [2015/12/22(火) 00:36:17.24 ID:WeDSI8vw.net]
テキストファイルを独自拡張子で扱いたいのですができますか?
text.luaとかにしたいです

720 名前:名前は開発中のものです。 mailto:sage [2015/12/22(火) 01:05:48.40 ID:OzXRBG3G.net]
今androidで色々テストしてるのですがわからない事があります
今簡単なアニメーションをanimationウインドウで作ってオブジェクトを
動かしてるのですがunity上で実行しても普通に表示されるのですがandroid上で
実行させたらオブジェクトが表示されなくなります
動かすアニメーションと止まっているアニメーションを交互に作動させてるのですが
動いてる方でオブジェクトが消えます
つまり点滅状態になってる状態です
これは一体どういう事なんでしょうか?

721 名前:名前は開発中のものです。 mailto:sage [2015/12/22(火) 07:35:05.53 ID:DtR0hO5a.net]
>>700
docs.unity3d.com/ja/current/Manual/class-TextAsset.html

もちろんオフィシャルのドキュメント見た上での質問なんだよね?

もしかしたら StreamingAssets ならできる気もしなくもないけど、やったことないからわからん

722 名前:691 mailto:age [2015/12/22(火) 11:00:12.63 ID:ctbQFKPU.net]
>>698
Resources内のデータはコンパイル対象にならないから
csソースは使えないってことでOK?

723 名前:665 mailto:sage [2015/12/22(火) 16:03:42.05 ID:s/N9NPNk.net]
返答が遅くなりまして、申し訳有りません。
直ぐに試せる事は実行してみたのですがダメでした...
幾つかは試せないでいます

>>666
英語ですよね...
海外サイトでのショッピング程度の英語力しかないので試していません...orz

>>667
システムフォントを変更するアプリ有るのですが、失敗するとマトモに起動しなくなるというので、これも試していません

>>668
アセットととして、編集画面の文字を買えるという事ですが効果無しでした...

>>669
v5.2は大丈夫です。
同じiMacでブートキャンプ上(win10)のUnity(つまりwin版)はv5.3.0問題なく動くので、ハードではなくOSの問題なんでしょうね...
じゃあ、win版使えよと言われそうですが、iPhone実機確認が必要なのでMacの方が良いのです

>>690
当方も5.3.1試しました。ダメでした...
5.2ですと、自分的に目玉機能のWebGLに書き出せないですよね...

暫くバージョンアップ待つしか、OSを10.11.2にするしかなさそうですね

724 名前:名前は開発中のものです。 mailto:sage [2015/12/22(火) 16:16:51.81 ID:cYA+N/u4.net]
>>703
Resourcesフォルダに入れたものは生のデータとして扱われるからコンパイルが必要なものは入れても意味が無いのだよ。
Resources,Plugins,Standard Asset,Streaming Assetsの4つのフォルダは扱いがそれぞれ特殊なんでちゃんとドキュメント読んで理解しないとめんどくさい事になるよ



725 名前:名前は開発中のものです。 mailto:sage [2015/12/22(火) 17:25:20.37 ID:ZXsrrg+T.net]
5.3からAndroidのナビゲーションバー強制非表示になったけど、なんとかして出す方法ってある?
AndroidManifestのthemeとかいじってみたんだけど変わらなくてお手上げなんだ……。

726 名前:名前は開発中のものです。 mailto:691 [2015/12/22(火) 18:37:36.49 ID:ctbQFKPU.net]
>>698 >>705
サンクス
助かる

727 名前:名前は開発中のものです。 mailto:age [2015/12/22(火) 18:41:28.75 ID:ctbQFKPU.net]
動的にプレハブのオブジェクトを生成して
そのオブジェクトにCanvasのサイズなど
上の階層のデータを取得する方法を教えて下さい
宜しくお願いします

728 名前:名前は開発中のものです。 mailto:sage [2015/12/22(火) 23:37:31.20 ID:J2VSDia0.net]
>>708
ようわからんが ヒエラルキー上の親はtransform.parentですよ。
なんでCanvasの直接の子なら
RectTransform rect = transform.parent.GetComponent<RectTransform>();
Debug.Log(" width :" + rect.rect.width);
それ以外なら
RectTransform rect;

void Start () {
rect = GameObject.Find("Canvas").GetComponent<RectTransform>();
Debug.Log(" width :" + rect.rect.width);
}
とかにしておけばいいんじゃないか。

729 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 00:17:07.19 ID:mn9r6TJY.net]
>>689
ご回答ありがとうございます!
コリジョンの回転は自分の誤解でした
現在はOnCollisionStay2Dでプレイヤーを動かしてとりあえず形としては解決しました
座標の移動という方法も調べてみたいと思います

730 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 02:45:27.25 ID:qUs7Km3p.net]
PC用にビルドしたアプリケーションが起動出来ないのですが原因をどなたか知らないでしょうか…?
他の人にゲームを配布してプレイしてもらったところ無事に起動からゲームまでスムーズに出来ているようなのですが、自分のPCだと起動の辞典でできません。
exeファイルをダブルクリックしても読み込み状態を延々と続けたままになってしまいます

731 名前:名前は開発中のものです。 [2015/12/23(水) 02:53:39.96 ID:BgHDeNsk.net]
そんな古い壊れたパソコンは買換えような

732 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 03:52:47.89 ID:6SUXlka0.net]
>>706
docs.unity3d.com/ScriptReference/Screen-fullScreen.html
これをfalseにすればいい
Android4.2までしか持ってなくて指摘されるまで知らなかったよ…

733 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 04:22:31.95 ID:qUs7Km3p.net]
>>712
ゲーミングPCなのでスペック的もそこまで悪くないはずですが…

734 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 16:04:13.12 ID:qUs7Km3p.net]
自己解決しました
原因はアイコンに使っていた画像だったようです
その画像を削除してみたところ無事に起動することができました

それでも自分のPCでは起動できないのに他人のPCでは起動できるのは未だにわかっていません…



735 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 18:00:46.62 ID:mpmfVyIv.net]
ゲーミングPCをうたってるやつなんて、
スペックに無知な奴を騙すためにところどころ変なパーツつけてるぞ
20万円のPCに350Wの電源が付いてたなんて珍しくない
あんまり信用するなよ

736 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 18:09:27.31 ID:H0W75H/X.net]
そのアイコン復活させるとまた同じ症状出る?

737 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 18:48:49.94 ID:qUs7Km3p.net]
>>717
同じ症状でます

738 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 19:30:41.11 ID:eV/cz9Fn.net]
非同期処理について質問です。
WWWクラスでサーバのAPIを叩いて、進行に必要なデータを取ってこようとしています(シナリオテキストとか)
─────────────
private string url = "hoge.com";

public void Request<T>(Action<string> finalStep)
{
 WWW www = new WWW(url, form); //formはWWWFrom。略
 StartCoroutine(WaitResult<T>(www, finalStep));
}

private IEnumerator WaitResult<T>(WWW www, Action<string> finalStep)
{
 while (!www.isDone)
 {
  if (!String.IsNullOrEmpty(www.error))
  {
   yield break; //エラー処理を追加
  }
  else if (StartTime.AddSeconds(timeoutSec) < DateTime.Now)
  {
   yield break; //タイムアウト処理を追加
  }
  yield return null;
 }
 finalStep(www.text);
 yield return null;
}
─────────────
呼ぶ方は終わった時の処理をデリゲートで渡す感じにしようと思っていますが、
こういう感じの実装って違和感無いでしょうか。
ぐぐってもいまいち出てこなかったんですが、他に王道のやり方ってありますか?

739 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 20:19:50.71 ID:ex60S9BN.net]
>>719
WWW使うなら概ねそれで問題ないと思う

通信前にApplication.internetReachabilityをチェック
WWWはIDisposableを実装してるからusingステートメントを使う
WWW.errorのチェックはループ抜けた後でいいかも

740 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 20:42:37.42 ID:eV/cz9Fn.net]
>>720
ありがとうございます!
usingすごく参考になりました

errorについてはググってみたんですが、
どうもエラー終了した時にisDoneがtrueになってくれないようです

741 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 22:49:24.68 ID:rlZZyGW6.net]
>>721
試してみた、問題の部分は以下の通り

while(!www.isDone){
if(!string.IsNullOrEmpty(www.error))
Debug.LogError(www.error);//エラートラップA
yield return null;
}
if(!string.IsNullOrEmpty(www.error)){
Debug.LogError(www.error);//エラートラップB
}else{
Debug.Log(www.text);
}

パターン1:存在しないURLに接続(404)
パターン2:回線抜いた状態で接続

パターン1,2共にAではなくBで引っかかったのでループ抜けた後でおkだと思うんだが…

742 名前:名前は開発中のものです。 mailto:sage [2015/12/23(水) 23:11:12.20 ID:eV/cz9Fn.net]
>>722
ありがとうございます
マニュアルとか読み直してたんですが、
isDoneとerrorの関係に関する資料がないんですよね…
ちょっとそれでやってみます!

743 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 01:24:08.84 ID:fVyPsAlC.net]
全くの初心者なのですが、unityで作られた海外産のゲームをどうにかして日本語化することは出来ませんか?

744 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 02:50:08.08 ID:9xWq61T/.net]
作者が日本語化を想定しないで作ったゲームを日本語化できる
超便利機能がUnityにあるかと言うことなら
そんなものはない



745 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 03:00:15.31 ID:b6nnDWP+.net]
どうにかしてってレスの時点で草生えるw

746 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 03:00:54.91 ID:6r6456TK.net]
ゲームに限らない話だけど、フレームワークによっては
文字列を外部ファイルに置いて読み込むのがスタンダードになってるものもあるらしいけど
Unityは、少なくとも標準ではそうじゃないからねぇ

747 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 03:17:36.09 ID:fVyPsAlC.net]
文字列を日本語にしてフォント入れればどうにかなると思ってましたが甘かったようです
assetsファイルを開いたりしても見つからなかったので聞いてみたんですが駄目みたいですね…
ありがとうございました

748 名前:693 [2015/12/24(木) 03:49:11.47 ID:1lQtknuT.net]
>>694 >>695 >>696 >>697 >>699
遅くなりましたが回答ありがとうございました。
一応AudioSourceを複数用意して、ループのタイミングでもう一つという方針にしてみようかなと思います。
ただ、正確にn秒後に再生という処理がUnityでどうやるのか、ちょっとわかりません

749 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 07:47:12.45 ID:0vOVQYTb.net]
Androidアプリで文字入力する際に画面全体が縮小されて
Unityデフォルトの青い背景が丸見えになっとる
いつの間にこの仕様になったのか知らんけど、この挙動やめれないかな?

750 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 08:48:36.09 ID:8tygBO8v.net]
>>729
再生中のAudioSourceは現在の再生タイムを取れるはずだから、それをUpdateなりで監視してループのタイミングで再生すればいいんじゃない?

751 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 13:12:26.08 ID:DmqVAdXz.net]
ユニティちゃんのCRSではanimationイベントを利用してaudio.play()呼び出してタイミング合わせてるね

752 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 14:29:48.87 ID:5azEH8wD.net]
PUNのPhotonViewによるオブジェクトの表示を同期するやり方が分かりません
マスタークライアントが置いたオブジェクトを、他のプレイヤーの画面でも表示したいです

オブジェクト(Prefab)を作りのコンポにPhotonViewを追加

オブジェクトのコンポにPhotonTransformを追加

PhotonViewのObserverにPhotonTransformをアタッチ

ルームに入ったあとマスタークライアントか判定してマスタークライアントならオブジェクトをInstantiateしてシーンに置く

上記方法をやってもマスタークライアント意外のプレイヤーの画面に表示されませんでした
間違いがあれば、教えて下さい

753 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 15:12:15.83 ID:J+FUoPhB.net]
prefabはresourcesに、みたいなのなかったっけ
エラーとか出てない?

754 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 15:38:51.33 ID:6r6456TK.net]
重力をあれやこれや弄りたいとかで
重力処理を自前での実装しなきゃならんとする。

とりあえず通常の重力と同じ挙動をさせたいとき
やり方って以下の方法で問題ないよね?
試した限りでは通常の重力と同じように動いて見えたが、細かい挙動はよくわからん

1. useGravityやgravityScaleを調整して重力の影響を無効化
2. Physics.gravityやPhysics2D.gravityの値(Vector3型/Vector2型)を取ってくる
3. FixedUpdate()の中でAddFoce()する。



755 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 15:40:43.89 ID:5azEH8wD.net]
>>734
エラーは出ません
マスタークライアントの画面には正常に表示されます
PUNによる同期しないのであれば何の問題もないです
なので単にPhotonViewによる同期ができてない(手順ミス、やり方が間違っている等)のかと思います

756 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 16:34:10.56 ID:V8y/g7ct.net]
>>735
AddForce()するのはいいがForceModeによっては全然違う動きになる事に注意
デフォルトはForceMode.ForceだからForceMode.Accelerationを明示的に指定しないとダメだと思うぞと

757 名前:693 [2015/12/24(木) 19:12:31.14 ID:1lQtknuT.net]
>>731
Updateのタイミングだと精度が低くて、
結構ずれずれなので、どうしゆかなーという感じです

758 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 20:19:25.62 ID:USbMBm3z.net]
>>738
targetFrameRate の値を上げる、もしくはFixedUpdateの分解能を上げても遅延が気になるならUnityの標準機能だけじゃ難しいかもね

759 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 20:31:55.51 ID:3F4M1Qd0.net]
4.6から5への移行です
再生中、rigidbodyのついた

760 名前:GameObjectをSetActive(false)するメソッドが実行されると、
エディタごと落ちます。ログもエラーも出ません。

5のrigidbody関係で、ヒントでも些細なことでも何でもいいので情報くださいませ。
5のrigidbody周りは大量のバグが報告されていて、これもうゲームを作るとか以前の根本的な問題になってきそうなんですけど・・・w
[]
[ここ壊れてます]

761 名前:名前は開発中のものです。 mailto:sage [2015/12/24(木) 22:28:33.63 ID:V8y/g7ct.net]
>>738
それ多分呼ぶタイミングの問題じゃなくて呼んでから再生されるまでの遅延の問題じゃない?

762 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 01:15:39.54 ID:8Iucprok.net]
マウスでクリックした画面上のゲームオブジェクトの座標やらスプライトやらの
情報を取得する方法って
・オブジェクトにButtonコンポをつけてOnClick()を使ってとる
・RayCastでとる

の2つが考えられるとおもうんですが、どっちが良いとか
どういう風に使い分けるべきとか、アドバイスが欲しいです

個人的にはButtonだと色んなオブジェクトにつけて回る必要があるし
付け忘れるとバグるので、RayCastで取る方がいいのかなと考えてますが、正しいですか?

763 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 03:02:56.40 ID:zmf0jnn8.net]
>>742
全然違うw
全く理解してないようなので説明しとく
まずRaycastには以下の3種類がありそれぞれ対象が異なるが、対象となるコンポーネントがないと反応しないのはどれも同じ

Physics.Raycast →Collider(3D)
Physics2D.Raycast →Collider2D
EventSystem.RaycastAll →uGUIのGraphic

そしてButton.onClickは全く層が違う、これは連続してRaycastした結果によるコールバックだ
ButtonコンポーネントはuGUIのコンポーネントなのでGraphicRaycasterが継続的にRaycastを行い、その結果クリックされたと評価された場合にUnityEvent型の変数であるButton.onClickのInvoke()がコールされるという流れ
またButtonはステート間のトランジション等の機能なども有していてとても冗長だからボタン以外の用途に使うなw

単純にスクリーン座標にある何かを取りたければ3種のRaycastのいずれかひとつ又は複数を使えばいい

2D/3D/uGUIは完全に分離して考え別々に扱うこと
画面上で重なって見えるのは構わんが同列に扱ったりコンポーネントを混ぜるのは論外

Button.onClickとRaycastと並列に扱う事自体的はずれにも程があるってぐらいおかしいのよ

764 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 05:00:02.85 ID:8Iucprok.net]
>>743
ありがとうございます
ButtonのOnClickって内部的にはRayCastを飛ばして評価してるって事ですか?



765 名前:ネットワークエンジニア(プロ)です [2015/12/25(金) 08:40:29.64 ID:lbZ74yN6.net]
>>733
instantiateはunityのapiじゃなくて、photonのapiを使ってる?

766 名前:693 [2015/12/25(金) 08:52:05.37 ID:A95/sZ+u.net]
>>739
>>741

ありがとうございます。
FixedUpdateの周期上げるのは負荷になりそうな気もしますね。

UpdateでPlayするタイミングを上手く指定出来るん?

767 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 09:40:11.41 ID:zmf0jnn8.net]
>>744
Canvasに一緒についてるRaycasterコンポーネントを殺してみればわかると思うがタッチ/マウス関係は一切反応しなくなる
これはこいつがRaycastして対象を取得してるからだよ

>>746
どの程度の遅延をズレズレと言ってるか次第だが例えば以下のコードでまずは音のズレを確認する、ここで遅延してても気にしないが聞き取りにくいならここでBの再生開始フレームを調整
次に30→31の様にBの再生タイミングを1フレームずらして書き換えて再度確認、最初の時と比較して再生タイミングに大きなズレを感じられる耳を持ってるなら1フレーム分の遅れが問題
2回の試行で同じようにズレてると感じるなら再生時の遅延の問題と判断できる

void Update(){
if(Time.frameCount==10)
audioA.Play();//比較基準用に鳴らしておく
if(Time.frameCount==30)//30という数字に意味はない
audioB.Play();//これのタイミングをチェック
}

Unityで音ゲー作ってる人なんかはこの再生の遅延の問題には苦労してる人が多いみたいでちょっとググっただけでも対策やらノウハウやら山ほど出てくるぞ
Android実機での遅延問題が大きいのでこの情報が多くなるが日本語の情報だけでも少なくないのでまずはこの辺調べてみるのがいいと思う

768 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 14:59:20.96 ID:qIHjPLip.net]
>>737
ありがとう、そういえばそうだった
手打ちだったかわ忘れてた

すげぇ今更だけど
ForceMode2Dの方にAccelerationやVelocityChangeは無いんだな

769 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 17:56:33.86 ID:B+X3y53z.net]
どれにもあたってない場合の判定ってどうやればいいんでしょうか
マップチップでマップを作る2Dアクションで、地面との接地判定でジャンプ可否をできるようにしたいんですが

地面を1チップ毎に判定を用意し
キャラクターの足元にisTriggerで接地チェック用の判定を用意しました。
足元判定側からOnTriggerExit2Dを呼び出して離れた瞬間にチェックするようにしてましたが
地面接地したまま横移動した際に、前乗っていたブロックから判定が外れる際にも呼ばれてしまい、接地フラグが一瞬空中判定になってしまいます。

考え方が悪いのか、複数対象に対しての判定チェック方法があるのか、アドバイスお願いします。

770 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 18:18:19.95 ID:CtbAOxqw.net]
接地フラグを用意すればいい
接地したらON、ジャンプしたらOFF

771 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 18:25:31.75 ID:pherXl+8.net]
>>749
タグ付けといてコリジョンのタグが地面だったら、とかにすればいいんじゃね

772 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 18:28:41.29 ID:CtbAOxqw.net]
あ、これだと落ちるとき困るのか

773 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 19:10:58.52 ID:CtbAOxqw.net]
下方向に速度があれば落下中と判断するとか

774 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 19:35:12.48 ID:pherXl+8.net]
そうか、ブロックってそういうことか。だったらコライダーのリスト作って
EnterしたらAdd,ExitしたらRemoveしてCountがゼロになったらどこにも当たってない、
とかでいいんじゃね



775 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 20:25:54.70 ID:cUBPDpkG.net]
>>754
ありがとうございます、接地カウントの方法ならいけそうです、早速試してみます。

776 名前:名前は開発中のものです。 mailto:sage [2015/12/25(金) 20:35:39.90 ID:LAUwLpIR.net]
接地判定だけならリスト持たんでもintでカウントしておけばいいような気がする






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<330KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef