[表示 : 全て 最新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/

840 名前:名前は開発中のものです。 mailto:sage [2015/12/29(火) 01:00:19.32 ID:vilgVuqi.net]
Unity adsって確か日本だとクリック先のアプリをインストールされた時のみ収入になるんだっけ?
日本だとってのが広告主を差してんのかデベロッパーを差してんのか忘れたけど
そのシステムで稼げる気がしないわ

841 名前:名前は開発中のものです。 mailto:sage [2015/12/29(火) 01:16:36.17 ID:8MK5m2N1.net]
ほかのアプリで遊んでるときにUnity adsっぽい動画広告何度も見てるけど、
同じような広告しか表示されないんだよなぁ
動画広告だと広告主少ないんかな

842 名前:名前は開発中のものです。 mailto:sage [2015/12/29(火) 15:01:29.56 ID:xC+0y6Z5.net]
カンファレンスでは1000再生あたり900円ぐらいって言ってたような気がするけど・・・・
本当にゲーム中にCMを見てほかのアプリをインストールする奴なんているのかな?

843 名前:名前は開発中のものです。 mailto:sage [2015/12/29(火) 16:53:16.17 ID:MwwfXlWw.net]
アプリのジャンルにもよるんだろうな
放置ゲーやクソゲーだと次を求めて
インストールしそう

844 名前:名前は開発中のものです。 mailto:sage [2015/12/29(火) 19:53:28.86 ID:LD9Kqi6/.net]
BaseInputModuleのProcessって1フレーム内に何度も呼び出されたりすることあるの?

845 名前:名前は開発中のものです。 mailto:sage [2015/12/30(水) 05:15:37.64 ID:fyUMlbjJ.net]
parent
└Image
└Image
└Text
└Text

というオブジェクトをフェードアウトして消去したいんですが、
全てのコンポを取得→取得したコンポをループで一つ一つアルファ値を小さくしつつa=0になったらDestroy
という方法が一番簡単ですか?
正直かなり面倒臭いと思ってしまうんですが・・・
もっと簡単な方法があれば教えて頂きたいです

846 名前:名前は開発中のものです。 mailto:sage [2015/12/30(水) 05:46:08.12 ID:yZjjFJoC.net]
親がcanvasなら親のアルファをいじれば子も一括で透明にならなかったっけ?

847 名前:名前は開発中のものです。 mailto:sage [2015/12/30(水) 06:04:24.27 ID:yZjjFJoC.net]
ごめん、

Canvas
└parent  ←<CanvasGroup>をAdd Component
 └Image
 └Image
 └Text 
 └Text

これでparentのCanvasGroupのアルファをいじれば子まで一括でいけるはず

848 名前:名前は開発中のものです。 mailto:sage [2015/12/30(水) 06:16:03.79 ID:yZjjFJoC.net]
追記
ご存知かもしれないが、parentをDestroyすれば子も一気にDestroy



849 名前:名前は開発中のものです。 mailto:sage [2015/12/30(水) 06:23:49.90 ID:fyUMlbjJ.net]
>>826
消すのはParentを消せば子や孫が消えるのは知っていましたが
CanvasGroupという存在自体を知りませんでした
早速、試してみたいと思います
ありがとうございました!

850 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 15:28:19.78 ID:6ePW5QgQ.net]
UnityというかC#の質問かもしれない。

 class Foo : MonoBehaviour
 {
   Bar bar;
 }

上記のようなコードがあり、とあるゲームオブジェクトにアタッチされているとする。
シーン終了時、このゲームオブジェクトは破棄されるが、
次のシーンがロードされる「前」に、確実に bar の終了処理を行いたい。

このとき、どう記述するのがスマート?
Foo.OnDestroy()で bar.~Bar() を呼び出すとか?

851 名前:名前は開発中のものです。 [2015/12/31(木) 15:48:40.40 ID:lR9Sg0TA.net]
>>828
終了処理の内容とはなんぞや?
シーンが変わったらデータのシーンまたぎのなにかテクニックを使わないと
そのデータは破棄されるのだから終了処理の意味なくね?

852 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 15:49:01.87 ID:VmfXNO6C.net]
docs.unity3d.com/ja/current/Manual/ExecutionOrder.html

基本的にはOnDestroy()から終了処理を実行するのがいいかと

デストラクタは明示的に呼ばない方がいいと思うというか
呼べたっけ?

853 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 16:15:19.25 ID:6ePW5QgQ.net]
ストラクタって呼べないのか。
上手くイカなくて、やり方調べてたところだった。
OnCallerDestroy()みたいな名前の関数でも作ることにするよ。
ありがとう。

>>829
Bar内部にはstatic変数があって
シーン中にあるインスタンスを保持したり数えたりしてるので
それをうんにゃらって感じ

854 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 16:16:22.15 ID:tEu2s/Dr.net]
>>828
c#の一般的な終了処理の書き方は、
IDisposableインターフェースを実装してDispose()メソッドを"手動で"コールする。
using構文を使わない限り自動的には呼ばれないので注意。

855 名前:名前は開発中のものです。 [2015/12/31(木) 16:21:28.72 ID:lR9Sg0TA.net]
>>831
俺がstatic変数を使う時はこうやってる
まずゲームの中央にGamemanagerというオブジェクトを作っててそれがゲーム全般の
制御をしてる
シーンが始まる時とか終わる時にそのGamemanagerがstatic変数を初期化したりする
つまりstatic変数はゲームの中にバラバラに置いたりしないでgamemanagerの
責任で扱う

856 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 16:48:37.03 ID:VmfXNO6C.net]
>>831
君には DontDestroyOnLoad() でシングルトンモデルな作りがあってると思うよ

857 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 18:10:31.01 ID:6ePW5QgQ.net]
>>834
ああ
必要に応じて OnLevelWasLoaded() あたりと併用して、か

858 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 18:33:40.99 ID:oIv0IaEY.net]
unityインスコしたらvisual c++ 2012 2013 2015 x64 x84 という似たようなのが大量に、あと.NET Frameworkなんとかも大量にインスコされたんですが、大丈夫でしょうか?
容量は気にしないんですけど



859 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 19:00:11.74 ID:M3mMmo7c.net]
個人開発の序列: PC > スマホ |圏外| ゲーム専用機
wktk.2ch.net/test/read.cgi/ghard/1451518587/

ある人2 「 個人開発の ” 足引っ張り ” と言われるのが言わずと知れたUnityだけど、あれは
       ロゴマークみたら閉じてる 」

ある人3 「 あ、スマホのアプリでそのロゴよく見るよ、たいてい糞ゲーw 」

860 名前:名前は開発中のものです。 mailto:sage [2015/12/31(木) 20:48:51.53 ID:6ePW5QgQ.net]
あれ、OnLevelWasLoaded()って
DontDestroyOnLoadしてない状況だと、いつ呼び出されるんだろ

861 名前:名前は開発中のものです。 mailto:sage [2016/01/01(金) 04:07:33.85 ID:hRsuwOyn.net]
ダブルクリック判定やりたくてTimeクラスとInput.GetMouseButtonDownあたりを
組み合わせてグダグダやってますが、上手くいきません

ダブルクリック判定って次作するしかないですよね?

862 名前:名前は開発中のものです。 mailto:sage [2016/01/01(金) 06:26:40.55 ID:/Mp/WqLc.net]
UniRzに手を出してみようかなと思っているところだ

863 名前:名前は開発中のものです。 mailto:sage [2016/01/01(金) 12:24:00.95 ID:9PLAaqhp.net]
Rxじゃなく?

864 名前:名前は開発中のものです。 mailto:sage [2016/01/01(金) 12:44:03.43 ID:fknFJgiJ.net]
抜粋というか有名なキチガイが
自分が建てたスレの自分の書き込みに
誘導したいだけだからな
スルー推奨で

865 名前:名前は開発中のものです。 mailto:sage [2016/01/01(金) 15:27:34.87 ID:/Mp/WqLc.net]
>>841
おおっと、隣のキーを打ってたぜ

866 名前:名前は開発中のものです。 mailto:sage [2016/01/01(金) 17:38:37.57 ID:HvJp8QYJ.net]
人差し指だけで打ってそう

867 名前:名前は開発中のものです。 mailto:sage [2016/01/02(土) 15:04:10.29 ID:cBHQ8r6V.net]
法線軌道()さんチース

868 名前:名前は開発中のものです。 mailto:sage [2016/01/02(土) 18:14:09.86 ID:ynmR063b.net]
Transform.RotateAroundが使用しないでくださいになってるんだけど、代わりのメソッドってある?



869 名前:名前は開発中のものです。 mailto:sage [2016/01/02(土) 19:07:52.66 ID:28yRc3Md.net]
>>846
Quaternion使って計算しても数行ぐらいのものだろそれ、自分でユーティリティメソッドでも書いてみればいいんじゃね?

以下参考

A.中心点からみた対象Transformの相対位置を算出
B.Quaternion.AngleAxis()で回転を算出
C.対象TransformのpositionにB*A+中心点を代入
D.対象TransformのrotationにBを加算

870 名前:名前は開発中のものです。 mailto:sage [2016/01/02(土) 20:16:22.47 ID:ynmR063b.net]
>>847
ありがとう
自分で書けってことなのね

871 名前:名前は開発中のものです。 mailto:sage [2016/01/02(土) 22:25:54.87 ID:28yRc3Md.net]
>>848
わかって貰えて何より
ベクトルを回転させる方法は覚えておくと何かと便利だからきちんと意味を理解しながら書くといいと思うんよ

872 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 04:54:00.62 ID:CYs2j95G.net]
unity5だからかunity chanが落とせないらしい
他のも色々落としたけどアニメーションできない

873 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 05:23:45.44 ID:CYs2j95G.net]
ああイライラする
誰だよ使いやすいとか言ったの

874 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 10:47:15.84 ID:rVdoK+cb.net]
質問内容はなにかな?
どのプラットフォームのどのバージョンで何をしようとして何ができないの?

875 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 12:09:49.87 ID:PXF6Y8xh.net]
>>850
互換性の問題が出る可能性の警告は出るけど無視して進めればインポートは出来るはずだよ

876 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 12:31:15.60 ID:nL7iKJaJ.net]
ToggleGroupの中で今選択されている値(name)を取得したいのですが
ActiveTogglesでforeachする以外に方法は無いのでしょうか。

Toggleにvalueが無いあたり、onChangeで検知するような思想に見えなくもないのですが
皆さんToggleの値を取る時どうやってますか

877 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 13:09:55.05 ID:9gYMsMki.net]
uGUIだよな?
Toggleの OnValueChanged にイベント登録すりゃいいんじゃないの

878 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 13:43:26.19 ID:nL7iKJaJ.net]
>>855
選択するのとは別のタイミングでその値をみようとしていて、
OnValueChangedですとstaticで選択値を一旦どこかに退避しておくようなイメージになると思うのですが
そうではなく、使うタイミングで選択値を取得したいと思いまして…



879 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 13:57:49.49 ID:9gYMsMki.net]
>>856
> OnValueChangedですとstaticで選択値を一旦どこかに退避しておくようなイメージになると思うのですが
まずこれが違うというかなぜstaticに?
イベントを受けて最後にONになってるToggleを判別・保持して
使うタイミングで取得すればいい
ToggleGroupにでもイベントメソッドをもつコントローラを追加して
そこを介する、とかやり方はいくらでもある

880 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 14:07:05.85 ID:nL7iKJaJ.net]
すませんよく理解できていないかもしれませんorz

今は使うタイミングで、仮でこうやってるんですが、
どうもしっくり来なくて…
──────────
var toggles = GameObject.Find("ToggleGroup").GetComponent<ToggleGroup>().ActiveToggles();
string name = "";
foreach (var t in toggles)
{
 if (t.isOn) name = t.name;
}
──────────

881 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 16:27:46.19 ID:OtRNWG92.net]
LayerElementやContentSizeFitterの使い方など日本語で詳しく書いてある本がほしいと思っています。
webでunityのUIの本を調べたところ良さそうなのが2冊あるようでどちらにしようか迷っています

UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード
www.amazon.co.jp/dp/4844364855/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4839956405&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=1J38YGQGVZ73JS1EHW9V

uGUIではじめるUnity UIデザインの教科書-Unity5対応
www.amazon.co.jp/uGUI%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8BUnity-UI%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-Unity5%E5%AF%BE%E5%BF%9C-%E5%B2%A9%E4%BA%95-%E9%9B%85%E5%B9%B8/dp/4839956405


評価やおすすめの本がありましたら教えていただけると幸いです。 👀
Rock54: Caution(BBR-MD5:60fb6bd37e268099e6257349e1247e68)


882 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 16:29:36.83 ID:9gYMsMki.net]
イベントの使い方がわからないなら
今はもうそれでいいと思うよ
理解できない部分で躓くよりも
出来ることで作って先に進む方が有益な時期だと思うし

883 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 16:33:12.04 ID:9gYMsMki.net]
>>859
docs.unity3d.com/ja/current/ScriptReference/UI.LayoutElement.html
docs.unity3d.com/ja/current/ScriptReference/UI.ContentSizeFitter.html
これじゃいかんの?

884 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 16:51:27.51 ID:PXF6Y8xh.net]
>>859
書籍は好みがあるから一概にこっちが良いとはコメントしにくい
もし可能なら書店まで足を運んで内容を確認してから自分で良いと思う方を選ぶのがいいと思う

個人的には書籍の内容はほとんどが古く浅いので役に立たないと思ってる
書籍読む時間で最新のuGUIのソースを読んだ方が有意義

885 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 17:46:38.07 ID:HJa8ZZQx.net]
つか日本語に

886 名前:Sるな
本家の公式マニュアル&チュートリアル&ライブトレーニングで必要十分な情報がある
英語で理解できるようにならないとIT分野全般で古い情報しか手にはいらないよ
[]
[ここ壊れてます]

887 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 22:40:21.30 ID:zTUDJKEM.net]
分かりやすい取っ掛かりが欲しいというのは分かるけどな

888 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 23:03:10.38 ID:DkLwSIja.net]
母国語に比べると、理解力が1/10とかになっちゃうのよねぇ…



889 名前:名前は開発中のものです。 mailto:sage [2016/01/03(日) 23:12:37.90 ID:nL7iKJaJ.net]
すませんもう一回だけ質問整理してかきます>>854

uGUIのToggleの値を取得しようとしています。

選択されたタイミングと選択値を使うタイミングが違うため、
(1)OnValueChangedで一度選択値を保存する
(2)使うタイミングで選択値を取得する
どちらの実装にしようか悩んでいます。

──────────
var toggles = GameObject.Find("ToggleGroup").GetComponent<ToggleGroup>().ActiveToggles();
string name = "";
foreach (var t in toggles)
{
 if (t.isOn) name = t.name;
}
──────────
今は(2)でやっていますが、上記のような実装になってしまい
イマイチしっくり来ていません。

(1)の方でやろうとすると、全てのToggleのOnValueChangedにスクリプトをアタッチすることになり、
作りとして正しいのだとは思うのですが煩雑な気がして悩んでいます。

曖昧な質問で申し訳無いのですが、
皆さんならどうするでしょうか…。
普通は(1)ですか?また、(2)の場合もっと良い実装はありますか?

890 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 01:44:00.77 ID:1OOEB/Xy.net]
2で取れてるならそれでいんでないの
プロファイラに無視できない負荷でも出てから考えればいいんじゃないのかな
2なら個人的には一度FindやGetComponentしたら再利用に備えてプロパティに保存しとくけどね

891 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 02:32:17.29 ID:YfNuq+0V.net]
unity5.3でadd animation eventから関数設定できません(function not supprted)
以前はできたのですが仕様変わったんでしょうか…
ttp://bribser.co.jp/blog/animation-method/

上記のようなことができない場合、スプライトアニメーションの任意のフレームにきたら関数を
呼び出して何かの処理をさせたいのですが他に方法ありますでしょうか

892 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 03:15:50.80 ID:TfOUre7A.net]
>>866
1→ラムダ式使えばいい
2→対象を見つける方法の再検討とキャッシュ

893 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 12:47:31.37 ID:beNj8shj.net]
868です
自己解決というか
なぜか関数をセットできるようになりました…

894 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 17:47:32.77 ID:u4VibW+f.net]
Spriteを隙間なく並べているはずなのに、GameウインドウやPC用の実行画面で1ピクセルほどの隙間ができてしまいます
Spriteのフィルタをpointにしても隙間が埋まりません。対処法を教えてください

895 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 20:10:50.04 ID:OMuHN2EL.net]
おそらく1ピクセル未満の端数丸め処理の問題だろうと思う

レンダリング時それぞれのスプライトは隣接しているかどうかに関係なく個別に描画される
そのためふたつのスプライトが1ピクセル未満ずつ乗っている箇所が隙間のように描画されてしまっているという状態

隙間なく並べられたスプライトの境界線がピクセルの境界にきちんと沿っていない事が原因なので
「unity 2d pixel perfect」あたりでググると幸せになれるかもしれない

896 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 20:38:37.60 ID:u4VibW+f.net]
>>872
返答ありがとうございました
blogs.unity3d.com/jp/2015/06/19/pixel-perfect-2d/
このページを参考に改良してみます

897 名前:名前は開発中のものです。 mailto:sage [2016/01/04(月) 20:48:19.33 ID:VzoPO3CD.net]
>>861-865
回答有り難うございます。
リファレンスだとちょっと使用例が少ないのでできれば本など参考にして実践的に使いたいと思った次第です。
英語は一応読めるのですが・・・一応読める程度でしか無く、分からない単語など調べると別のことに時間を取られてしまうのでできれば日本語で行きたく思います。
本屋で見て、直感的に良さそうな本があったらそれを購入検討しようと懷います。
ご回答ありがとうございました!

898 名前:ネットワークエンジニア(プロ)です [2016/01/05(火) 05:47:47.17 ID:cUm4JdUo.net]
例外ってどこに出力されるものなのでしょうか?

例えば、Unity(ゲーム開発ツール)で例外発生時はUnityのコンソール上に表示されるのに、
System.Console.WriteLineは表示されません。

WriteLineは標準出力する関数だと思いますが、
標準出力をロギングしてるわけではないのでしょうか。

モノビハバーを継承してるクラスはDebug.Logを使えばいいですが、
移植を考慮しているので、Debug.Logを利用しないでUnityのコンソールに通知する方法はありますか?



899 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 08:19:34.45 ID:/fKHvWaf.net]
移植を考慮したモジュール群共通の共通ロギング関数でも作ってそこからdebug.log呼んどけばいいんじゃないだろうか

900 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 08:28:46.95 ID:/fKHvWaf.net]
あと見たかもしれないけど標準出力のりダイレクトやってる例があったよ
answers.unity3d.com/questions/817189/how-to-redirect-systemconsolewrite-from-dll-to-deb.html

901 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 11:21:02.77 ID:9GuORDM5.net]
>>875
その恥ずかしい名前欄は消した方がいいよ

902 名前:名前は開発中のものです。 [2016/01/05(火) 15:53:51.35 ID:Cmhxu5t5.net]
>>877
ありがとうございます。
>>878
いやん

903 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 16:34:19.46 ID:KrVcbqV7.net]
uGUIのDropdownの選択肢部分のSortingLayerが、Canvasの設定に関係なく常にDefaultになってるっぽいね
かなりハマってしまった
こういうのって報告したほうがいいんだろうか

904 名前:名前は開発中のものです。 mailto:sage [2016/01/05(火) 22:56:54.81 ID:/fKHvWaf.net]
毎度お世話になっております。
UNETについて質問がございます。
以下のようにNetworkBehaviour派生クラスにて
コマンド属性を使用してでサーバー処理をした後に
要求元のクライアントにのみデータを送りたくてしかたがないのですが
どのような方法がありますでしょうか。
イメージ))
[Command]
public void CmdBlockSet(BlockSetSync blocksync)
{
// サーバー側の処理
Serve

905 名前:rBlockSet(blocksync);
// 全クライアントのRPC呼び出し
RpcClientBlockSet(blocksync);
// トリガーとなったCmdBlockSet要求元クライアントにのみデータを送信したい!
// ???
}
[Server]
public void ServerBlockSet(BlockSetSync blocksync)
{
// サーバー側のみ実行する処理
}
[ClientRpc]
public void RpcClientBlockSet(BlockSetSync blocksync)
{
//全クライアント側で実行する処理
}

>>880
もしかしてこれと同じ問題ですかね?
http://forum.unity3d.com/threads/dropdown-list-appears-behind-everything.356750/
[]
[ここ壊れてます]

906 名前:名前は開発中のものです。 mailto:sage [2016/01/06(水) 04:26:12.54 ID:Nk18/5bd.net]
>>881
まさにそれですね。ありがとうございます
ソースまで既に特定されてるなら待ちでいいかなw

907 名前:名前は開発中のものです。 mailto:sage [2016/01/06(水) 10:09:53.17 ID:qIwJ/Lp3.net]
>>881
こんな感じ?
answers.unity3d.com/questions/984750/unitynetworking-unet-rpc-to-specific-player-master.html

908 名前:名前は開発中のものです。 mailto:sage [2016/01/06(水) 11:13:06.34 ID:NEPpjvdu.net]
>>883
おお、ありがとうございます。
まさにそれです。
networkserverのsendtoclientで特定のクライアントとやり取りできそうですね。
帰宅したら試してみます!



909 名前:名前は開発中のものです。 mailto:sage [2016/01/06(水) 16:54:25.76 ID:1JpeS0S2.net]
新しいプロジェクト作ったら前に落としたassetsが無くて、エクスプローラでドキュメントフォルダ開いたらあったんですが、毎回コピーしなきゃいけないんでしょうか?

910 名前:名前は開発中のものです。 mailto:sage [2016/01/06(水) 17:18:51.56 ID:hHXVZ7aa.net]
プロジェクト作成時に仕様アセットの選択するとこあるっしょ

911 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 00:08:46.40 ID:kCD1knB8.net]
毎度お世話になっております。
先日UNETで質問させていただいたものですが
HLAPI超便利うへへと調子に乗っていたところまたまた問題にぶち当たりまして
何かご存知の方がいればご教示ください。

NetWorkManagerHUDよりちょっとイケてる見栄えのUIを作ろうと挑戦していたところ
自分で作ったUGUIのボタンクリックイベントでNetWorkManager.StartHostを呼び出したところで
Listenエラーになってしまいます。(logから)
検証用に簡単なプロジェクトを作成してみたとろ以下のような動きになってしまっています。

1. NetWorkManagerHUDを使った場合、エディター上でもビルドしたものでも正常に動作する
2. 独自のUIからNetworkManager派生クラス経由で StaratHost を呼ぶと
エディター上では問題なく動くがビルドしたものはStartHostでエラーが出る
(でもnetstatとかで見ると対象ポートがUDPのことに出ている。接続はできない)

StartHostの前になにか事前処理が必要なのでしょうか。。
・試した検証用プロジェクト
whitecats.dip.jp/up2/download/1452093047.zip

私の環境;win7 pro , Unity 5.3.1f1 (64-bit),

912 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 00:09:44.87 ID:kCD1knB8.net]
あ、プロジェクトのpassは test です

913 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 03:01:17.13 ID:AYi2CqeL.net]
UNETってPhotonみたいなものなの?

914 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 06:52:35.11 ID:kCD1knB8.net]
>>889
そうです。 UnityEngine.Networking名前空間あたりのマルチプレイ用機能みたいです。
機能的には同じような感じのようですね。
photon使うのが 主流なのでしょうかね?

915 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 09:55:08.46 ID:kz6C7yFX.net]
uNETは5.1以降の新しい標準ネットワークAPIで、新しい分情報が少ないのが難点といえば難点

HLAPIについてはuGUIと同様オープンソース化されているからHUDのソース読んだら参考になるかもしれない

https://bitbucket.org/Unity-Technologies/networking

916 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 18:30:51.06 ID:Y9KpJ6Uz.net]
>>891
ありがとうございます
なんとオープンソースになってたんですね
ちょっと見てみます!

917 名前:名前は開発中のものです。 [2016/01/07(木) 18:51:42.56 ID:yWUOEVzg.net]
2DシューティングゲームでZキーで強ショット、Xキーで弱ショットが出るとします。しかし、ZキーとXキーを同時に押すと両方のショットが出てしまいます。
同時押しした場合、Xキーの弱ショットのみ出すという方法はどなたがご存知ありませんか?

一応、大体こんな感じのコードでやっております。

if (Input.GetKeyDown (KeyCode.Z) )
{
GameObject clone = Instantiate (bullet, transform.position, Quaternion.identity) as GameObject; //弾の生成
  clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15);       //弾をy軸15へ飛ばす
}

if (Input.GetKeyDown (KeyCode.X) )
{
GameObject clone = Instantiate (bullet2, transform.position, Quaternion.identity) as GameObject; //弾の生成
  clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15);       //弾をy軸15へ飛ばす
}

918 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 18:57:46.40 ID:hwbkfv15.net]
>>893
Unity関係ない気がするんだが
Xキーが押されていないときだけZキーの入力を受けるように
すればいいだけでしょ?
if ( X入力 )
{
}
else if ( Z入力 )
{
}



919 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 18:57:52.38 ID:lawdn1GB.net]
>>893
Unityよく分からんが多分これでいける


if (Input.GetKeyDown (KeyCode.X) )
{
GameObject clone = Instantiate (bullet2, transform.position, Quaternion.identity) as GameObject; //弾の生成
  clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15);       //弾をy軸15へ飛ばす
}
else if (Input.GetKeyDown (KeyCode.Z) )
{
GameObject clone = Instantiate (bullet, transform.position, Quaternion.identity) as GameObject; //弾の生成
  clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15);       //弾をy軸15へ飛ばす
}

920 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 19:03:16.31 ID:7DpOtl6U.net]
Unity的な回答するとInput.GetKeyDownがupdateにあると仮定して
インプット間隔を制御しないとif文だけじゃボタンが押し続けられた時にごちゃごちゃ弾がでるぜw

921 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 19:19:37.46 ID:hwbkfv15.net]
>>896
そういうゲームの仕様はこっちで想像してもしょうがないので
改めて質問来た時でいいでしょ

922 名前:名前は開発中のものです。 [2016/01/07(木) 21:15:43.05 ID:yWUOEVzg.net]
>>894
>>895
ありがとうございます!
・・・ですがせっかく答えていただいたのにごめんなさい。先ほどのは間違いです。本命はこちらです・・・。

Xキーで防御を出して、Zキーでショットを撃とうと思っていますが、ZキーとXキーを同時に押すと防御とショットが同時に出てきます。
同時押しした場合、Xキーの防御のみ出すという方法はどなたがご存知ありませんか?

if (Input.GetKeyDown (KeyCode.X))    //Xキーで
{
Instantiate (gard, transform.position, Quaternion.identity); //防御する。
}
else

if (Input.GetKeyDown (KeyCode.Z) || (Input.GetKey (KeyCode.Z) && count % 5f == 0))   //Zで撃つ Zで撃ち続ける 5fごとに
{
GameObject clone = Instantiate (bullet, transform.position, Quaternion.identity) as GameObject;  //弾の生成
clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15);       //弾をy軸15へ飛ばす
   }

最初の文を
if (Input.GetKeyDown (KeyCode.X)|| (Input.GetKey (KeyCode.X))
にすると上手くいきますが、そうなると「gard」がすごい数を出してきますのでダメです・・・。

Unity無関係かもしれませんがUnityでC#でやっているのでこちらのスレで質問させていただきます。

923 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 21:30:47.97 ID:RIyhZQsW.net]
なんかすげえ奴が着たな
触らずにスルーしろよ
居着かれると大変な事になるぞ

924 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 22:34:51.65 ID:kCD1knB8.net]
>>891
この件ですがソースを見たところ違いはonGui内でstarthostしているかuguiのボタンクリックイベントでしているかでした。
試しにupdate内やonguiで呼んだら成功したので,もしかするとupdateやonguiの前に何らかの下準備が行われているのかもしれません。

925 名前:名前は開発中のものです。 mailto:sage [2016/01/07(木) 22:50:31.54 ID:jc2wiw05.net]
>>898
もっと効率良くはなると思うがわかりやすく書くとこんなところかね

//ガードしているかどうか
bool isGuarded;
//fireRateのうちどこで撃つか
int fireTiming;
//何フレームに1回撃つか、メソッド内に数値リテラル書きたくないしインスペクタから変更したいが面倒なのでパブリック
public int fireRate=5;

void Update(){
if(Input.GetKeyDown

926 名前:(KeyCode.Z)){
//Zが押されたタイミングをキャッシュしとく
fireTiming=Time.frameCount%fireRate;
}
bool fire=Input.GetKey(KeyCode.Z);
bool guard=Input.GetKey(KeyCode.X)&&!fire;
if(fire&&Time.frameCount%fireRate==fireTiming){
this.Fire();//弾を発射するメソッド
}else if(!isGuarded&&guard){
isGuarded=true;
this.Guard();//ガード開始するメソッド
}else if(isGuarded&&!guard){
isGuarded=false;
this.Unguard();//ガード解除するメソッド
}
}
[]
[ここ壊れてます]

927 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 00:20:48.90 ID:kCUY2DJ2.net]
>>900
解決しました。私の単純な実装ミスでした。
ホスト開始ボタンのイベントハンドラをコードとインスペクタ上で登録していたため二回listenが呼ばれてたということでした。
お騒がせしました。

928 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 06:21:49.06 ID:8au7KOLk.net]
ダブルクリック判定のサンプルが見つからなくてUniRx使ったサンプルが一つしか
見つからなかったので、初心者なりにダブルクリック判定できるクラス作ったのですが
私と同じ初心者の方のためにうpした方がいいですか?



929 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 10:40:48.38 ID:0SUqbUHY.net]
しなくていいと思うよ
そういうスレじゃないし

930 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 11:44:09.85 ID:DTWBj4X9.net]
>>898
Unityやるよりc#(c言語でもc++でもjavaでもphpでもいいが)の基本文法覚えたほうがいい

int カウント;
for(;;)
{
if(Xが押されている)
{
防御;
}
else if(Zが押されている&&(カウント%5)==0)
{
ショット;
}
カウント++;
}

931 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 11:49:49.69 ID:Bq3VIzHQ.net]
>>903
unity C# double click でググれば山のようなサンプルがあるんだけど
それらより出来が良いと思うなら貼ったら

932 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 12:06:32.36 ID:oZHGx8Zx.net]
おっと、防御優先だった
>>901は攻撃優先してるから間違い、すまんね

(誤)
bool fire=Input.GetKey(KeyCode.Z);
bool guard=Input.GetKey(KeyCode.X)&&!fire;

(正)
bool guard=Input.GetKey(KeyCode.X);
bool fire=Input.GetKey(KeyCode.Z)&&!guard;

933 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 13:21:13.85 ID:IewE0LND.net]
>>903
2chよりはQiitaとかに貼ったほうが
後の人が検索するときには有用だと思う

934 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 15:16:30.85 ID:Uxj9oiwp.net]
こんなとこ貼っても基本ゴミレベルの人ばっかだから
ロクに理解も出来ないと思いますしね

935 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 15:28:13.99 ID:IewE0LND.net]
便所からランクアップできたのか

936 名前:名前は開発中のものです。 [2016/01/08(金) 16:21:48.07 ID:vPXkHPlJ.net]
シェイプキーの操作方法が分かりません。
blenderからシェイプキーを設定したモデルを入れたのですが、ボーンのようにAnimationが追加されるわけでもなく
探したのですが見つかりませんでした。
本来ならモデルの skinned mesh renderer に blendshapes というステータスが追加されるらしいのですが、それも無い状態です。
どうすればシェイプキーを設定できるのでしょうか。
よろしくお願いします

937 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 16:47:25.99 ID:ColvTIaI.net]
blenderで正常ならblenderから正しくインポートされてないだけだろ
blendファイルとfbxと両方試したかとか、fbxならエクスポート設定は大丈夫かとか

もしくはちゃんとインポートされてるんだけど
モデルのゲームオブジェクトに一杯子オブジェクトあって探しきれてないだけとか
BlendShapesが閉じてて気づかないるだけとか
インスペクターでskinned mesh rendererの直下にblendshapesはあるはず
顔なら顔の子オブジェクトの中を探さなきゃだめだぞ

938 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 16:54:04.49 ID:sQIGnL9R.net]
質問失礼します。
アセットバンドルでファイルを保存できたのですが読み込みができません。
LoadAllAssetsで読み込みはできたみたいなのですが、
ここからマテリアルにキャストしたりテクスチャーにキャストしたり、
プレハブと関連付けたりするのは手動でしょうか?
全く理解できていないので、的外れな質問だったらすいません。
よろしくお願いします。



939 名前:913 mailto:sage [2016/01/08(金) 17:30:13.76 ID:sQIGnL9R.net]
自己解決しました。
全てが入っている一番上のフォルダ1つにアセットラベル付けて出力するだけでした。

940 名前:名前は開発中のものです。 mailto:sage [2016/01/08(金) 18:04:54.75 ID:vPXkHPlJ.net]
>>912
正しくインポートされていない可能性があるとのことで、色々試してみた結果、
どうやらモディファイアーが原因だったようで、Armature以外を適用して
シェイプキーを設定しなおした結果、blendshapesがちゃんと追加されました。
Unityでの設定はこれからですが、とりあえずこれでやってみようと思います。
ありがとうございました。






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

前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