2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :名前は開発中のものです。:2016/01/11(月) 01:24:43.29 ID:r4suKLTg.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
http://peace.2ch.net/test/read.cgi/gamedev/1441891966/

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

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

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

714 :名前は開発中のものです。:2016/02/15(月) 01:06:24.95 ID:lEb1B1aG.net
>>711
最近Unity触ってないから詳しくは忘れたけど、キャンパスの奥行き位置のルールを決める設定があって
そこを弄ればGUIだろうがイメージだろうが3Dモデルだろうがパーティクルだろうが手前に表示出来たはず
オーダーレイヤーの管理が少し面倒になるけどね

715 :名前は開発中のものです。:2016/02/15(月) 02:02:10.05 ID:jG8XJvHU.net
>>713
ありがとうございます
RawImageについて調べてみます

>>714
ありがとうございます
最悪それでやろうと思ってました…
多重でサブウインドウ開く場合は動的にプライオリティ変更する感じで

716 :名前は開発中のものです。:2016/02/15(月) 20:20:23.54 ID:bslrDr3A.net
動的なNavMesh生成をするために
平面1枚の巨大なNavMeshから大量のNavMeshObstacleで好きな形に整えてみましたが
NavMeshの頂点が無駄に多くなってしまいました(直線なのに途中に頂点が多数乗っている状態)
このメッシュを最適化する方法ってありますでしょうか?

717 :名前は開発中のものです。:2016/02/16(火) 01:33:03.02 ID:UYXvXO0b.net
>>716
リアルタイムじゃなくて良いならある、計算幾何学系の本読むとよいかも

718 :名前は開発中のものです。:2016/02/16(火) 09:51:39.44 ID:/t0eiuWk.net
>>717
ナビメッシュの頂点を操作する方法はあるんでしょうか?
リファレンスを見ても一度作ったメッシュに手を加える方法が見つからないのですが…

719 :名前は開発中のものです。:2016/02/16(火) 10:22:58.62 ID:8AOr0Xt8.net
>NavMeshの頂点が無駄に多くなってしまいました

NavMeshがどういう物かも良く知らんくせに何故頂点が無駄に多いと思うんだよw

720 :名前は開発中のものです。:2016/02/16(火) 13:48:26.73 ID:lHM7esNH.net
公式の「SDユニティちゃん 3Dモデルデータ」ってのを落として動かしてみてるんですが
何故かHumanoidリグ版にCharacter Controllerを付けると接地せず微妙に浮く…
Genericでは特にそういった事は無さそうなんですけどこれは何が原因なんでしょうか

721 :名前は開発中のものです。:2016/02/16(火) 18:23:49.12 ID:ZJyPriQc.net
uGuiで躓いているので質問させてください。書出しはAndroidです。
UI>panel>スクリプトでプレハブを並べる、という流れです。(5x5でプレハブを並べたアイテムインベントリ)
プレハブはPanelの子要素として並べています。
PC上ではPanelに合わせて1個あたりでプレハブのサイズが拡大されるのですが実機(Android端末)ではプレハブを作成したときの小さなサイズのままです。
なぜこうなってしまうのかわからず、手がかりをいただければと書き込みさせていただきました。
質問が拙いのですが何か「これじゃね?」的なものありましたらよろしくお願いします。

722 :名前は開発中のものです。:2016/02/16(火) 18:58:35.83 ID:qVknYHUh.net
むしろ質問者が手がかりを提示すべきなんじゃないですかね?
Canvasの設定とか

723 :名前は開発中のものです。:2016/02/16(火) 19:23:16.85 ID:ZJyPriQc.net
仰るとおりでございます(;´Д`)
Canvas Scaler > Scale With Screen size , 1600*900 , Expand ,Peference Pix Per 100
その他Canvasにアタッチされたコンポーネントは初期値のままです。
Canvas>Panelの子として複製されるプレハブはUI>Imageを元にしたもので、アイテムイメージ表示のスクリプトをアタッチしてあるだけのものです。
Panelはプレハブを並べ、アイテムをドラッグしたりするスクリプトをかいてあります。
YoutubeのPiDiさんという方のチュートリアルを動画を見つつPart5まで打ち込み、実機での動きを確認してる状態です。

724 :名前は開発中のものです。:2016/02/16(火) 23:00:35.64 ID:Qd5CqjhQ.net
AndroidでランキングにLobi、広告にappcを利用しようと実装しているのですが、AndroidManifest.xmlの位置がAssets/Plugins/Android/AndroidManifest.xmlとAssets/Plugins/Android/LobiCore/AndroidManifest.xmlにそれぞれある状況です。
これを片方にまとめたいのですが、片方にまとめてもうまく動作しません。AndroidManifest.xml側でパスの編集とかをしないといけないのでしょうか?

Lobiを適用すると変な階層にAndroidManifest.xmlがあるため同じ経験をした方はご教授おねがいします。

725 :名前は開発中のものです。:2016/02/17(水) 15:38:37.29 ID:l3sG+XyU.net
public TextAsset txt = null;
private string[] text = new string[100];

void Start()
{
text = txt.text.Split( '\n' );
}

Inspectorでtxtにテキストファイルを入れて
text配列に改行を一区切りして文章を入れたいんだが
ひらがなが入らない…
ひらがなや漢字を入れる方法を教えてください

726 :名前は開発中のものです。:2016/02/17(水) 15:47:55.32 ID:w2r2iz14.net
>>725
テキストはUnicodeを使用すること。
あと環境によると思うがsplitは(System.Environment.NewLine.ToCharArray())
にした方がいい気がする。stringのsplit引数はstringでもいい筈なんだが
少なくとも4の時は何故かchar[]じゃないと通らなかったんだよな〜。

727 :724:2016/02/17(水) 16:33:27.95 ID:l3sG+XyU.net
>>726
UTF-8 にしたらできた
サンクス

728 :名前は開発中のものです。:2016/02/17(水) 17:49:22.80 ID:HjnSRaCZ.net
質問失礼します。
iPhone用のゲームを制作中です。

@Application.dataPath
AApplication.persistentDataPath
BApplication.temporaryCachePath
ファイルの保存場所は上記3か所あるようですが、
サーバーからダウンロードしたゲームで使用する画像ファイル等は、
どちらに入れないといけないのでしょうか?

現在はAに入れているのですが、@とAは「容量が大きすぎるとリジェクトされる事もある」という情報を得て困惑しています。
Bなんですかね?
temporaryって名称だったので一時的なファイル置き場で、ある日突然システムから消されるものと勝手に思ってたのですが、違うのでしょうか?

729 :名前は開発中のものです。:2016/02/17(水) 18:21:14.12 ID:CiQJMAsM.net
>>728
基本的にはBのApplication.temporaryCachePathが正解

ユーザー操作に依らないでサーバーからダウンロードしたゲームで使用する画像ファイルは
なかったらサーバに再取得しに行けば再構築出来るデータなので一時的なキャッシュとして扱うのが適切
またテンポラリファイルである以上、消えている可能性を考慮して存在チェックと再取得の処理を用意しなければならない

@のApplication.dataPathはアプリ本体に内包したデータファイルを指すパスでありapkやappの中になるため特別な理由がない限り書き込みはすべきでない
AのApplication.persistentDataPathはアプリ単体では再構築出来ないセーブデータ等を保存するパス。再構築可能なファイルを保存すべきではない

例外として、ユーザーがURLやファイル指定で設定したプロフィール画像など再取得が不可能な物は
セーブデータとしてpersistentDataPath以下に置くことが好ましい

730 :727:2016/02/17(水) 18:25:33.44 ID:HjnSRaCZ.net
>>729

731 :727:2016/02/17(水) 18:27:51.21 ID:HjnSRaCZ.net
>>729
詳細な情報ありがとうございました!

732 :名前は開発中のものです。:2016/02/17(水) 19:21:03.73 ID:RqlewXbY.net
>>1のwikiってずいぶん前に更新が止ってるけど
ここ数年は特記すべき変化がないってことなんです?

733 :名前は開発中のものです。:2016/02/17(水) 19:49:32.80 ID:pXcKHMIe.net
わざわざ編集してやろうとおもうような奇特な奴がいなくなってしまって
すっかり忘れ去られた遺跡だからね
貴方が編集してくれてもいいんだぜ

734 :名前は開発中のものです。:2016/02/17(水) 19:51:50.70 ID:Q/7ANjt6.net
JavaScriptでマウスエイムを作ろうとしていますが、いくら検索してもC#ばかりで出てこず、
座標取得やスタンダードアセットを参考にしても分かりませんでした。
どうやったらマウスエイムができるのでしょうか?

735 :名前は開発中のものです。:2016/02/17(水) 19:55:35.80 ID:VTFpwTqM.net
C#のコード読むのが手っ取り早いかと

736 :名前は開発中のものです。:2016/02/17(水) 21:02:03.22 ID:w2r2iz14.net
せめて自分なりに書いたコードあげて「こう動かない」とかじゃないと
単に「コピペすれば動くコード寄越せ」って言ってるのと変わらん…

737 :名前は開発中のものです。:2016/02/17(水) 21:11:25.76 ID:HvVp5T2l.net
今自分のゲームにmp3のファイルをインポートしようとしたらなぜか必ずクラッシュします
バージョンは5.3.2を使ってます
前のバージョンでゲームを作っててなんともなかったのに新しいバージョンにして
初めて音楽ファイルをインポートする作業をやり始めたのですがつまってます
同じ症状の人おられますか?

738 :名前は開発中のものです。:2016/02/18(木) 00:00:38.97 ID:7cjKoaWF.net
Unity初心者です。
初歩的な質問で申し訳無いのですが、よろしくお願いします。
衝突判定の数秒後にゲームオーバ処理を行うため、コルーチンを使ってみたのですがどうも動いてくれません。
以下コードの一部です。

_void OnCollisionEnter(Collision col)
____{
________if (col.gameObject.tag ==

739 :名前は開発中のものです。:2016/02/18(木) 00:01:08.85 ID:7cjKoaWF.net
Unity初心者です。
初歩的な質問で申し訳無いのですが、よろしくお願いします。
衝突判定の数秒後にゲームオーバ処理を行うため、コルーチンを使ってみたのですがどうも動いてくれません。
以下コードの一部です。

_void OnCollisionEnter(Collision col)
____{
________if (col.gameObject.tag == "TheBoard")
________{
___________StartCoroutine(LateTime(3.0f));
________}
____}

____private IEnumerator LateTime(float time)
____{
________Debug.Log("呼び出し");
________Destroy(this.gameObject);
________Debug.Log("呼び出し破壊");
________GameObject exp = (GameObject)Instantiate(detonator.gameObject, transform.position, Quaternion.identity);
________Debug.Log("呼び出し爆発");
________yield return new WaitForSeconds(time);
________Debug.Log("呼び出し遅延");
________SceneManager.LoadScene("GameOver");
____}

衝突→オブジェクト消滅→爆発処理→数秒待機→画面変遷という流れです。

なんで動かないのか調べるため、試しに衝突後の処理を全てコルーチンに入れてみたのですが、
どうもyieldから呼ばれていないようです。
何か解決策有りましたらよろしくお願いします。

740 :名前は開発中のものです。:2016/02/18(木) 00:31:48.05 ID:dT69GB31.net
>>739
その状況から察するに、そもそもスタートコルーチンが呼ばれてないんじゃないの?
タグ名間違えてたりしない?

741 :名前は開発中のものです。:2016/02/18(木) 00:37:14.37 ID:dT69GB31.net
>>739
ごめん
酔ってたからちゃんと読んでなかった

コルーチンを実行してるゲームオブジェクトが、先に破棄されてるんじゃないの?

ゲームオブジェクトはコルーチンが終了してから破棄するか、破棄されるゲームオブジェクトとは関係ない別のゲームオブジェクトからコルーチンを実行してあげるかしないとダメだよ

742 :名前は開発中のものです。:2016/02/18(木) 01:07:06.84 ID:VlmBiCT7.net
>>737です
unity入れ直したりosを再起動させたりインポートの方法をメニューのassetの
所からやるように変えたら上手くいきました
何が上手くいった理由なのかはわかりませんがw

743 :名前は開発中のものです。:2016/02/18(木) 03:07:48.85 ID:nu+A7gPa.net
>>739
コルーチン使わなくてもfloat変数作ってそれをTime.deltaTimeで引いた方が早いんじゃない?

744 :名前は開発中のものです。:2016/02/18(木) 07:32:24.95 ID:eRvToBvZ.net
>>739
コルーチンは
StartCoroutine("LateTime",3.0f);
で呼び出すんじゃないの?

745 :名前は開発中のものです。:2016/02/18(木) 09:08:54.92 ID:AQpi5nFT.net
>>744
メソッド名が変わった時エラーダンプされないからstring引数は絶対やめたほうがいい

746 :名前は開発中のものです。:2016/02/18(木) 10:36:59.10 ID:TdEi2HK+.net
http://unity3d.com/jp/learn/tutorials/modules/intermediate/scripting/coroutines?playlist=17117

日本語字幕の短いチュートリアルくらいはやりましょう

747 :名前は開発中のものです。:2016/02/18(木) 13:55:32.05 ID:GiMk5ehq.net
スクリプトからUIのImageオブジェクトの色を変更したいのですがどうすればよいでしょうか。
this.gameObject.color や GetComponent<Image>() とやってみましたが上手くいきませんでした。
よろしくお願いします。

748 :名前は開発中のものです。:2016/02/18(木) 14:03:44.62 ID:lCecrzSR.net
また調べるの面倒なのでコピペすれば動くスクリプト貼ってかよ
せめて>>739程度に自分で書いたスクリプト貼ってどこでつまずいたのか書けよ

749 :名前は開発中のものです。:2016/02/18(木) 14:12:47.31 ID:ojlsCmOr.net
書いてあるように見えるが

750 :名前は開発中のものです。:2016/02/18(木) 14:13:17.30 ID:prkk2VAO.net
>>747
Image.color

751 :名前は開発中のものです。:2016/02/18(木) 14:37:11.25 ID:lCecrzSR.net
きちんと GetComponent<Image>()とUIオブジェクト群って コンポーネントと理解してるんだから
>>750のように取得したのに.color指定すればいいだけなのに何処で間違うのかって話
例えば targetImage = child.gameObject.GetComponent<Image>();
target.color = new Vector4(0, 0, 0, 1);

752 :名前は開発中のものです。:2016/02/18(木) 14:38:49.58 ID:lCecrzSR.net
例えば
TargetImage = child.gameObject.GetComponent<Image>();
TargetImage.color = new Vector4(0, 0, 0, 1);
とかすればいいだけでしょ

753 :名前は開発中のものです。:2016/02/18(木) 14:52:38.84 ID:prkk2VAO.net
まあ暗黙的にColorに変換されるからいいんだが
何故Colorのコンストラクタ使わないん?

754 :名前は開発中のものです。:2016/02/18(木) 15:01:23.95 ID:ojlsCmOr.net
質問文よく読まず文句
他人に後乗りで説明
その上我流の変なプログラム教えるとか
害にしかなってないじゃないですか…

755 :名前は開発中のものです。:2016/02/18(木) 15:07:49.69 ID:lCecrzSR.net
適当に書いただけだから特段意味はないのにそこまで言わるるとはw
foreachとかのスクリプトがなきゃchildのほうも意味不明だろうけどそっちは何もいわないんだね

756 :名前は開発中のものです。:2016/02/18(木) 15:34:38.72 ID:YlmhAb8a.net
.>>754が文句だけ言ってるアホな子
Vecto4はUnityマニュアルやチュートリアルのcolor値設定でも使われる

757 :名前は開発中のものです。:2016/02/18(木) 16:00:53.04 ID:GiMk5ehq.net
すいません、Image.color でやってみましたがだめでした。
今、別オブジェクトから、
public UnityEngine.UI.Image hoge;
からドラッグ&ドロップで持ってきたのを、
hoge.color = new Color(1f, 1f, 1f, 1f);
で、やってみたら一応変更は出来ました。
ですが、結局自身からは取得できずじまいが現状です。
(transform.localPositionみたいに簡単にいじれると思っていたのですが)

758 :名前は開発中のものです。:2016/02/18(木) 16:05:01.59 ID:IDSt+o7p.net
>>757
Image.colorは完全に嘘だぞw
public UnityEngine.UI.Image hoge;
void Start(){
hoge=GetComponent<UnityEngine.UI.Image>().color=new Color(1,0,0,1);
}
とかだろ

759 :名前は開発中のものです。:2016/02/18(木) 16:09:58.48 ID:YlmhAb8a.net
Image.colorに合わせて>>755がわざわざforeach使う手法示してるのにな
colorの問題じゃなくて単にUIのImageが取得出来てないだけだろ
そもそもUIの下にImageが幾つあるのかって話からだし
>>748じゃないけどスクリプト貼ったほうが早いと思うよ

760 :名前は開発中のものです。:2016/02/18(木) 16:15:52.44 ID:prkk2VAO.net
>>755
いやまあ俺も>>750しか書いてないから別に完全なコードを書けと言ってるんじゃないよw

だだまあ初心者に教える場合に型を意識させる事はそれなりに意味のある事だと思う
それをわざわざ黙示的変換噛ませてVector4使うって事はそこに俺の知らないなんらかの優位性が
あるのかと思ったから聞いたんよ

まさか理由なく初心者に非効率なやり方教える奴がいるとは思わんかったw

>>758
>>750が示したのはImageクラスのメンバ変数colorに値をセットすればいいって事
そもそもコードにコピペして動く様には書いてないからw
http://docs.unity3d.com/ja/current/ScriptReference/UI.Graphic-color.html
これなw ImageはGraphicを継承してるからImage.colorでなんの問題もないw

761 :名前は開発中のものです。:2016/02/18(木) 16:20:55.71 ID:YlmhAb8a.net
すごく簡単な事に揉め過ぎだな
Image.colorにあわせてサンプル、これで動くはずだから終わりにしろ

public Canvas canvas;

void Start () {
Image hoge = null;
foreach (Transform child in canvas.transform){
if(child.name == "MainImage"){
hoge = child.gameObject.GetComponent<Image>();
hoge.color = new Color(0, 0, 0, 1);
} else if (child.name == "SubImage") {
hoge = child.gameObject.GetComponent<Image>();
hoge.color = new Color(1, 1, 1, 1);
}
}
}

762 :名前は開発中のものです。:2016/02/18(木) 16:44:07.58 ID:prkk2VAO.net
>>761
Canvasの参照持つぐらいなら直接Imageの参照持つべきだし
そもそもこのコードだとCanvasの直下の子にあるImageしか取れないし
文字列リテラル決め打ちとかヒエラルキーで名前弄られたら簡単に動かなくなるし

見事な糞コードだなw

763 :名前は開発中のものです。:2016/02/18(木) 17:12:14.19 ID:9yZU1I7x.net
お?喧嘩かぁ?!

764 :名前は開発中のものです。:2016/02/18(木) 17:16:44.10 ID:+YpOWldA.net
>>762が今完璧なコードを書いてる途中なんだから茶化さず待ってろ

765 :760:2016/02/18(木) 18:16:55.76 ID:XVXWqMLX.net
孫以下簡略改善版
色変え条件判らんからそこはそのまま
Unity立ち上げて起動確認までしたからどんどん不足分言ってくれ

private Component[] hogeImage;

void Start () {

hogeImage = GameObject.Find("Canvas").GetComponentsInChildren<Image>();

foreach (Image child in hogeImage ) {
if(child.name == "MainImage"){
child.color = new Color(0, 0, 0, 1);
} else if (child.name == "SubImage") {
child.color = new Color(1, 1, 1, 1);
} else if (child.name == "NextImage") {
child.color = new Color(1, 0, 0, 1);
}
}
}

766 :名前は開発中のものです。:2016/02/18(木) 19:43:17.00 ID:prkk2VAO.net
ヒエラルキーの構造も想定する呼び出し条件もわからんのでは作りにくいなw

マネージャ的にインスペクタから全て設定できる様にしてみた
Graphicが対象なのでImageだけでなくTextなどの色変更も可能
どこに置いても動くので呼び出し元と同じオブジェクトにアタッチしておいて色を変えたいところで↓呼べばおk
GetComponent<GraphicsColorChanger>().DoColorChange();
Graphicを動的生成する場合は生成元でtargetsにセットすること

public class GraphicsColorChanger: MonoBehaviour {
//色とGraphicを保持するクラス
[Serializable]
public class GraphicColor{
public Graphic graphic;
public Color color;
//色の適用処理
//バーチャルなのは色変化アニメーションをさせる等の拡張を想定
public virtual void Apply(){
graphic.color=color;
}
}
public List<ImageColor> targets;
//色変更はApply()呼ぶだけ
public void DoColorChange(){
foreach(var t in targets){
t.Apply();
}
}
}

個人的にはGraphicColorのカスタムプロパティドロアー書いてリスト表示を単一行にしたい感じだ

767 :名前は開発中のものです。:2016/02/18(木) 19:45:57.31 ID:kYQYNaDj.net
質問がぼけてると回答もぼけるという
わかりやすい例というか
質問者さんもうちょいちゃんと情報を載せような?

768 :名前は開発中のものです。:2016/02/18(木) 19:48:18.80 ID:prkk2VAO.net
む、途中でGraphic対象にしたのでクラス名間違ってるな

誤)public List<ImageColor> targets;
正)public List<GraphicColor> targets;

769 :名前は開発中のものです。:2016/02/18(木) 20:20:36.06 ID:Ar9aRBLZ.net
作ってたら、いつの間にか下記メッセージが出るようになっていました

> Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)

もちろんOnDestroyで何かを作っているということはなく
どこでメモリリーク?しているのか見当がつかないのですが
こういう場合に場所を特定する手法ってありますでしょうか

770 :名前は開発中のものです。:2016/02/18(木) 22:45:44.93 ID:1s7I/TKd.net
こちらでの質問すみません。
周りに聞ける人もいなくて・・・。

uGUIで配置したボタン画像の変更をしたいです。
(現在、以下のような形です。)

Canvasに以下のソースをアタッチして、Multiple Spriteを追加。

public class SpritesChange : MonoBehaviour {
public Sprite[] sprites;
}

ボタンがタッチされた時に

SpritesChange sprite = GetComponent<SpritesChange> ();
buttonImage.sprite = sprite.sprites[0];

みたいなスクリプトを書いてみたのですが、nullとエラーが出てしまいます。
こういった場合、どのように変更するのでしょうか。

771 :名前は開発中のものです。:2016/02/18(木) 22:56:06.94 ID:mxgCWiU9.net
>>770
せめて何がnullか確認してくれ。
デバッガで止めるなりヌル判定してログ出すなりしてspriteかspritesかsprites[0]かbuttonimageどれかがnullか見るんや。
言ってる意味わからんかったらまずc#の勉強してくれ。

772 :名前は開発中のものです。:2016/02/18(木) 23:00:02.17 ID:1s7I/TKd.net
>>771さん
失礼しました。
GetComponentしたspriteはnullではないみたいです。

sprites[0]がnullになっております。
アタッチ後、ドラッグで追加はしているのですが取得できていないみたいです。

レスありがとうございます。

773 :名前は開発中のものです。:2016/02/18(木) 23:24:25.96 ID:mxgCWiU9.net
>>772
なんやろね。
少なくとも俺の環境ではうまく動くよ

774 :名前は開発中のものです。:2016/02/18(木) 23:26:24.10 ID:Eij3fMYq.net
>>769
https://drive.google.com/file/d/0B-7GdJw4zKrqT0NFSGs2QmVOWVE/view?usp=sharing
面白そうなのでヒエラルキー上に残ったゴミを探すエディタスクリプトを書いてみた。
インポートするとWindowメニュー>GomiCheckerというメニューが出るので選択
[Search]押す>デバッグ実行>止める>エラー出る>[Check]押す>Gomiにリスト表示される
どんなゴミができてるか分かれば調べるのも比較的楽になるんでないかね?

GomiMakerのほうはテスト用に使ったものなので不要なら捨てておk

775 :名前は開発中のものです。:2016/02/18(木) 23:32:00.55 ID:Ar9aRBLZ.net
>>774
すません何もしていないのに直っちゃいました。。
でもありがとうございます
そうか視認できる範囲ならヒエラルキービュー見りゃ良かったのか…

776 :名前は開発中のものです。:2016/02/18(木) 23:34:14.22 ID:1h44uY0V.net
>>774
追記、リスト右にある[x]ボタンでGameObjectをDestroyImmidiate出来るが、必要なオブジェクトも破壊出来るので使用時は注意してくれ
またOnGUI()でヒエラルキーにある全てのオブジェクトを舐めるのででかいシーンでやると危険かもしれないw

やっつけで書いたので色々テキトーですまんね
多少は助けになると良いんだが

777 :名前は開発中のものです。:2016/02/18(木) 23:36:48.97 ID:1h44uY0V.net
>>775
GomiMaker使って試すとわかるけど、このタイミングで作られたゴミはヒエラルキービューに表示されないことがあるんよ
だからエディタスクリプトで全チェックして探す形にしたけどまあ治ったなら良かった

778 :名前は開発中のものです。:2016/02/18(木) 23:38:36.09 ID:Ar9aRBLZ.net
ファイル落とせないかも
「↓」ボタン押すと、「GomiChecker.unitypackage」単体で落ちてきます

779 :名前は開発中のものです。:2016/02/18(木) 23:44:06.12 ID:1h44uY0V.net
>>778
unitypackageなのでアセットメニューからインポートするか、プロジェクト開いた状態でダブルクリックすれば取り込めるよ

780 :名前は開発中のものです。:2016/02/18(木) 23:57:57.64 ID:Ar9aRBLZ.net
>>779
ありがとうございます
参考にさせていただきます!

781 :名前は開発中のものです。:2016/02/19(金) 00:22:45.63 ID:Dv6DILVN.net
>>773さん
すみません・・・再起動かけたら動きました・・・。
スプライトを分割したのを設定したら方法が違うのかと。
わざわざテストまでさせてしまい申し訳ないです。

782 :名前は開発中のものです。:2016/02/19(金) 00:32:59.88 ID:uTMPkILb.net
>>781
良かった。稀にunityよくわからん動きすることがよくあるよね。
最悪なのは実行時にフリーズする現象。
復旧しないしかといって強制終了すると作業ロールバックしたり悲しいことになるジレンマ。
バックアップはこまめに。

783 :名前は開発中のものです。:2016/02/19(金) 01:51:27.71 ID:Dv6DILVN.net
>>782
そうなんですね!
ようやく1冊目の本の写経が終わり
自分なりに処理を書いていた所なので助かりました。
バージョン管理しっかりします。

784 :名前は開発中のものです。:2016/02/19(金) 02:03:36.10 ID:fxV/61+B.net
>>782
実行時にフリーズってプログラム側でデッドロックか無限ループに入ってんじゃねえの?
なお、エディタを落さずに脱出したいならこんな物もあるらしい
http://tsubakit1.hateblo.jp/entry/2015/10/01/050626

785 :名前は開発中のものです。:2016/02/19(金) 06:50:46.50 ID:uTMPkILb.net
>>784
そんなアセットあるのな。

786 :名前は開発中のものです。:2016/02/19(金) 06:51:17.28 ID:uTMPkILb.net
>>784
非常にありがたい
ありがとう

787 :名前は開発中のものです。:2016/02/19(金) 11:38:53.51 ID:zbVIJYN5.net
>>784
これは良い物を教えてもらった。
エディタスクリプトでたまにやらかすから orz
ありがとう

788 :名前は開発中のものです。:2016/02/19(金) 12:56:52.33 ID:bc+fSDmV.net
cinema mocapでモーションキャプチャーしたいんですが、kinectはxbox360 kinectセンサーでも使えますか? xbox one kinectセンサーがずっと売り切れで。。

789 :名前は開発中のものです。:2016/02/19(金) 16:57:14.04 ID:hu6gBWiN.net
Photon Unity PlusのRPCというのについて質問です。

シーン上にプレハブを使ってオンラインで操作できるプレイアブルキャラクターを4体作りました。(便宜業ABCDと呼びますがInspector上は全て同じ名前)
RPCを使って自分の見た目(AnimatorController使用)を変更したいと思っています。
ただ、他人の画面上で「自分」の認識の仕方がわからず困っています。

自分のキャラクターをAとします。
ABCDどのキャラクターの操作画面絡みてもAの見た目は同じ、というようにしたいのです下記を作ったのですが上手く行きません。


m_photonView:フォトンビュー格納
ColorTest:自分のキャラクターにAnimatorControllerを設定

m_photonView.RPC(

790 :名前は開発中のものです。:2016/02/19(金) 19:49:27.34 ID:yu/BOb6j.net
http://iup.2ch-library.com/i/i1603272-1455878635.png
Android実機でビルドすると画像のエラーが出て実行できません。


分かる方お願いします。

791 :名前は開発中のものです。:2016/02/19(金) 20:18:23.31 ID:b6AWRTAI.net
>>790
stderrに原因と対策があらかた書いてあるんだが読んだ?
指示どおりに対処してダメだったらどんな対処したのかを加えてまた聞いて

792 :名前は開発中のものです。:2016/02/20(土) 15:23:16.37 ID:1NeEDey/.net
unity3d.com/jp以降のページが繋がらないんだけど自分だけ?

793 :名前は開発中のものです。:2016/02/20(土) 17:56:41.57 ID:yV8/7upk.net
繋がってるようだが
具体的にどこが繋がってない?

794 :791:2016/02/20(土) 18:20:08.39 ID:HTkwGwvw.net
今確認したら繋がった一時的なものだったみたい
すまん

795 :788:2016/02/20(土) 23:18:04.11 ID:QTkBoFsa.net
失礼しました、途中送信になっていることに今気が付きました。
再投稿させていただきます。


Photon Unity PlusのRPCというのについて質問です。

シーン上にプレハブを使ってオンラインで操作できるプレイアブルキャラクターを4体作りました。(便宜業ABCDと呼びますがInspector上は全て同じ名前)
RPCを使って自分の見た目(AnimatorController使用)を変更したいと思っています。
ただ、他人の画面上で「自分」の認識の仕方がわからず困っています。

自分のキャラクターをAとします。
ABCDどのキャラクターの操作画面絡みてもAの見た目は同じ、というようにしたいのです下記を作ったのですが上手く行きません。


m_photonView:フォトンビュー格納
ColorTest:自分のキャラクターにAnimatorControllerを設定

m_photonView.RPC("ColorTest", PhotonTargets.All);

とするのですが、これをやったとたんに自分以外のキャラクターBCDも見た目が変わってしまい、困っています。

Photonを使っている方は少ないとは思いますが、自分のキャラクターの判別方法などありましたら教えて頂けますでしょうか。

796 :名前は開発中のものです。:2016/02/21(日) 00:10:34.08 ID:S0HsS1LU.net
>>795
単純に解決するなら、送信時に変化対象のPhotonIDも一緒に付加して、受信した側は送られてきたPhotonIDから変化させるオブジェクトを判断するようにすればいいんじゃない?

797 :名前は開発中のものです。:2016/02/21(日) 01:34:48.12 ID:v5Kuu8DV.net
unityでadmob使おうとしているけど、公式通りにやっても広告が表示されない。

エディタ側でlogにDummy LoadAdと表示されるだけで、エディタ、端末ともにリクエストはされているっぽいけど何故か表示されない。。。

同じような方で解決した方いますか?

798 :名前は開発中のものです。:2016/02/21(日) 02:14:11.22 ID:EieEYq+z.net
>>797
最近不具合でテストバナーが表示されない時期がありましたが、
今はバナー/インタースティシャルどちらも表示されているので、
おそらくどこかでコードをミスっているのではないかなと思います

※エディタ上ではテストであっても表示されないようです

https://developers.google.com/mobile-ads-sdk/docs/games
こちらからダウンロードできるGoogle Mobile Ads Unity Pluginで
adUnitIdをご自身のIDに変えて、表示されるかどうか試してみてはいかがでしょう
(本番広告をタップするとアカウント停止されるのでご注意)

799 :名前は開発中のものです。:2016/02/21(日) 02:33:04.82 ID:EieEYq+z.net
>>798
Google Mobile Ads Unity Pluginのデモスクリプトで・・・でした

800 :名前は開発中のものです。:2016/02/21(日) 10:46:25.27 ID:NbrHakv8.net
>>797
自分もそれあったよ。
コードはあってる。

でも昨年作ったアプリだけで最近作ったものに関しては問題なかったな。

結局今はアイモバ使ってるけど。

801 :名前は開発中のものです。:2016/02/21(日) 22:20:32.53 ID:9OlsMakc.net
>>796
回答有り難うございます。
PhotonIDってもしかしてViewIDのことでしょうか?
ちょっと自オブジェクトのIDの表示、確認の仕方がわからず調べているのですが手こずっています……
よかったら助言いただけると助かります……

802 :名前は開発中のものです。:2016/02/22(月) 00:08:27.12 ID:aiT4UzLs.net
>>801
わかりにくくてすまん。
PhotonIDはPhotonPlayerのIDのことです。
まあ、これを使わなくてもプレイヤーを識別できる何かが他にあるなら、その情報を付加すればいいだけだよ。

RPCはただ単に相手先の関数呼ぶだけじゃなくて、そこに任意のデータも引数として渡せるんだから、それこそAとかBとかを付加して呼び出せばいいんだよ。

803 :名前は開発中のものです。:2016/02/22(月) 00:39:56.76 ID:aiT4UzLs.net
>>801
荒業だけど、もっとシンプルにやるなら、変化対象ごとに関数をわける方法もあるよ

・自分がプレイヤーAのとき
m_photonView.RPC("ColorTestA", PhotonTargets.All);

・自分がプレイヤーBのとき
m_photonView.RPC("ColorTestB", PhotonTargets.All);

・自分がプレイヤーCのとき
m_photonView.RPC("ColorTestC", PhotonTargets.All);

・自分がプレイヤーDのとき
m_photonView.RPC("ColorTestD", PhotonTargets.All);

804 :名前は開発中のものです。:2016/02/22(月) 03:31:43.35 ID:zNTYcBGR.net
自オブジェクト判別したいならisMineでいいじゃん

805 :名前は開発中のものです。:2016/02/22(月) 23:17:01.20 ID:CX5klsmj.net
Unity5で、オブジェクトに投影される影ではなく、オブジェクト自体の陰を
表示させないようにする(計算させない)にはどのように設定すれば良いのでしょうか?
例えば、Cubeの場合、本来光が当たらず、陰になる面も光が当たっている面と同じ色に見えるようにしたいのです

806 :名前は開発中のものです。:2016/02/22(月) 23:20:36.42 ID:EaQB5q7d.net
そこらへんはシェーダーをごにょごにょすべし

807 :名前は開発中のものです。:2016/02/23(火) 00:47:24.91 ID:DbtyC/vU.net
回答有り難うございます。
PhotonPlayer.ID→ゲームをやっているプレイヤーのID(スーファミで例えるならコントローラー1、コントローラー2)
viewID→Photonを使用しているゲームオブジェクトの判別ID(スーファミで例えるなら白ボンはID1,黒ボンはID2、赤ボンは3……)

PhotonPlayer.IDでやろうと思ったのですがどうしても上手く出来ませんでしたので助言いただいたのに申し訳ないのですviewIDで作ってしまいました。
関数分けは凄くわかりやすいのですが自分、頭が悪いんで1つだけ変更して残り3つの変更を忘れるとかやりそうなので……
isMineでは自分の判定しか出来ないため、「他人から見た自分のスプライトを変更」するのには合わないかと思いました。

最終的に下記のようにしたら思ったように動いたので感謝の意と共に晒しあげておきます。
//ViewID格納
public int _viewID;
//変更する色の番号
public int _Color;
void Start()
{
_viewID = m_photonView.viewID;
if (m_photonView _ismine)
{m_photonView.RPC("ColorTest", PhotonTargets.All, _viewID, _ Color);}
}
[PunRPC]void ColorTest(int __viewID, int i){
if (__viewID == _viewID)
{/*_Colorに応じたアニメーション変更スクリプト*/}
}

808 :名前は開発中のものです。:2016/02/23(火) 01:05:59.40 ID:CP8FtLkc.net
photonのネットワーク通信で、
マスターからクライアントへ応答要求

相手からの応答待ち

マスターで何かの処理

クライアントへデータを送信し同期

次のステートに移り応答待ち
といった処理を順にしたいんですが、
コルーチン、コールバック、タスク完了のフラグとかで汚くなってしまいます。

こういうのを綺麗に書く定石みたいなパターンはありますでしょうか?

809 :名前は開発中のものです。:2016/02/23(火) 15:30:19.14 ID:tlAPhzXP.net
SpriteStudioで作成したデータをUnity上で使いたいのですが
SS5PlayerForUnity-developのインポートの仕方が良く解りません

DLした上記ファイルの圧縮データを解凍したモノを直接プロジェクトビュー上へD&Dすればいいのでしょうか?
また、この方法を行った後タイトルメニューのTools→SpriteStudio→Import SS5(.sspj)を選択して
作成したデータやサンプルデータを読込もうとするとエラー(Import Interrupted! Check Error on Console)を起こすのですが
解決方法は何かないでしょうか?

810 :名前は開発中のものです。:2016/02/23(火) 16:31:54.92 ID:xoCviIlQ.net
unityの2d機能について質問です
例えば2dのフィールドマップをシーンに配置する場合
どういう効率的な方法があるでしょうか?
イメージとしては家庭用ゲームのマリオメーカーやRPGツクールのように
「トゥルルルルルル」と気持ちよく置けるようなのを考えています
そういうアセットか何かありますでしょうか?

811 :名前は開発中のものです。:2016/02/23(火) 18:10:07.72 ID:QpXc/Lao.net
汎用のマップエディタがあるからそれで作ったマップファイルをUnityで読み込む

812 :名前は開発中のものです。:2016/02/23(火) 18:23:06.76 ID:xoCviIlQ.net
>>811
返信ありがとうございます
unity内で完結してる方法じゃないいですよね?それ
ちょっとハードル高いですね
みんなそんな事やってるのでしょうか?

813 :名前は開発中のものです。:2016/02/23(火) 18:34:53.36 ID:6z8T5r4o.net
一つのオブジェクトなら普通にバンと置けばいいんじゃないの?
マップチップなら2重ループで縦と横に1パネル単位で配置するスクリプト組むとか

総レス数 1004
325 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200