【3Dゲームエンジン】Unity質問スレッド21 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2015/11/18(水) 00:53:16.90ID:6AegDlBRWindows/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質問スレッド20 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1444194744/
0776名前は開発中のものです。
2015/12/26(土) 12:39:33.51ID:I9x0dbODありがとうございます!
シェーダを変えたらできました!
0777名前は開発中のものです。
2015/12/26(土) 12:51:11.14ID:DlkIHce8確かにMono自体はオープンソースかつフリーで配られています
ただ、iOS向けの変換ツールやAndroid向けのランタイムは(体験版や機能限定版をのぞいて)有料のものしかないように見えてしまいますが・・・・その認識が間違えているのでしょうか
0778名前は開発中のものです。
2015/12/26(土) 12:59:10.15ID:d/yX6nUBUnity内部で同じようなもの作っていても何の不思議もないのではなかろうかw
0779名前は開発中のものです。
2015/12/26(土) 14:07:10.95ID:DlkIHce80780名前は開発中のものです。
2015/12/26(土) 14:18:30.39ID:uHnSRUEn答えが得られると思ってたりする?
0781名前は開発中のものです。
2015/12/26(土) 14:53:32.59ID:d/yX6nUBUnityはそこまでは公開してないからどうにもならんが。
でもUE4なら全部公開してるからどういう手法が有り得るのかとかはアレ見ればわかるよ
0782名前は開発中のものです。
2015/12/26(土) 15:28:42.44ID:Qa7PpWsr最近だとIL2CPPという、名前の通り「monoのILをc++コードに変換する」技術が使われてる
あとは環境ネイティヴでコンパイルするだけ
変換方法の詳細は公開されてないけど、cppになったコード自体はxcode出力したら一応読めるよ。難読化状態だけど
0783名前は開発中のものです。
2015/12/26(土) 16:08:33.20ID:f8fQjKcCいろんなアセットでエラー吐きまくる
定型的な修正手順とかあったら教えてくれ
5.2.4にしておくのが無難か
0784名前は開発中のものです。
2015/12/26(土) 23:06:31.47ID:DlkIHce8そういう仕組みだったのですか
ありがとうございます
不思議で仕方ありませんでした
0785名前は開発中のものです。
2015/12/26(土) 23:21:29.31ID:JOqtY8WqIL2CPPはUnity5で採用された技術でそれ以前だってiOS用には出力できたし
Androidの方はどうなるんだとかそのIL2CPPの中身はどうなってんだとか色々あんだろw
名前さえついてりゃ納得するってなんなんだよw
0786名前は開発中のものです。
2015/12/27(日) 00:09:58.61ID:YtOJwDdp0787名前は開発中のものです。
2015/12/27(日) 00:21:43.69ID:QK+lQHzYunityの非同期処理調べてみると、ライブラリがいくつかあるみたいなんだけど
みなさん何使ってますか
Spicy Pixel Concurrency Kit
https://www.assetstore.unity3d.com/#!/content/3586
Iterator Tasks is a iterator-based coroutine class library.
https://github.com/aiming/iterator-tasks
説明
http://www.slideshare.net/ppcchan/async-design-with-unity3d
0788名前は開発中のものです。
2015/12/27(日) 00:54:30.77ID:CnMTlenQ個別の処理をしたいのですが、メッセージループみたいにまずRayCastがヒットしたオブジェクト種類を
判定するクラスを作って、そのクラスでswitch,case書きまくってオブジェクトのタグ名で判定して
切り分けた先のcase文の中でそれぞれの機能を提供するメソッドをコールするっていう設計は大丈夫でしょうか?
100近いcase文を書くっていうのが設計としておかしいのでは?と不安です
0789名前は開発中のものです。
2015/12/27(日) 01:11:18.00ID:V7RdG6Gycase文って基本的に上から条件探して降りてくるだけなので
100個もケースあるってことは100番目のケースに至る場合
100回if文を経由するのと同じになる。
たまに使われるものならともかく頻繁に使う処理としてはどうなんだろうな〜という
感じはする。
例えばだがそれに対する処理を定義するスクリプトを貼り付けておいて
ヒットしたらそれをGetComponentして実行する、とかの方が現実的ではないか、って気がする。
単純なものならSendMessageでもいい。
BaseClassで実行する関数を定義しておいて現状タグで判定して分けるその処理は
タイプに応じてオーバーライドする。
共通する処理の部分は小分けにしてBaseClass内でprotectedなりpublicなりで定義しておけばいいし。
0790名前は開発中のものです。
2015/12/27(日) 01:30:25.19ID:wK6DIH8G解答としてズレてるの承知ながらUniRxは一度試してほしいかな
0791名前は開発中のものです。
2015/12/27(日) 01:53:26.74ID:CnMTlenQ>例えばだがそれに対する処理を定義するスクリプトを貼り付けておいて
>ヒットしたらそれをGetComponentして実行する、とかの方が現実的ではないか、って気がする。
「ヒットしたらそれをゲトコンして」のあたりの具体的なイメージがよく分からないのですが
どうやってゲトコンするイメージでしょうか?
どの道Rayのヒット判定は必要ですよね?
すみません、ちょっとよく頂いたレスの内容が理解できていません
100近くもswitch,caseを書くのがまずい、(Rayヒット判定するクラスを)分割しろ、という事でしょうか?
0792名前は開発中のものです。
2015/12/27(日) 02:00:06.23ID:QK+lQHzYどもです
Unity勉強中で、大体材料揃ってきたので
今基幹技術?の選定中というか調査中でして…
UniRxって私の検索ワードでは出てきてなかったのでありがたいです!
0793名前は開発中のものです。
2015/12/27(日) 02:18:25.85ID:V7RdG6Gy例えばだが
RaycastHit hit;
if (Physics.Raycast(transform.position,transform.foward, out hit,100f)){
BaseClass bs=hit.transform.GetComponent<BaseClass>();
if(bs!=null)bs.MethodA();
}
とかやるってこと。
対象に貼り付けておくスクリプトはBaseClassから派生して自分にあった
MethodA()をオーバーライドしておく。
100もcase文を書くのがまずいかどうかは正直わからんといえばわからん。
ただ100番目のケースに至る場合caseの条件を100回確かめることになるのは確かだ。
それ自体が頻繁に呼び出されることもなく100番目のケースが呼ばれることはめったにない、
ほとんどは10番目くらいまでで終わるというならそれほど悪くはないかもしれない。
ソースがまとめて見れるしそれぞれの処理がそれぞれのスクリプトにばらけてしまうのはいやだ、
というのもわからいではないしね。
他にもやり方は考えられてこれまた例えばだが
case文に入れていた処理を関数化し配列化したDelegateにそれぞれ格納しておいて
RayCastでヒットさせる対象の方には自分のタイプ番号をintで返すメソッドをもつスクリプトを張っておき
RaycastHit hit;
if (Physics.Raycast(transform.position,transform.foward, out hit,100f)){
ReturnNumClass rn=hit.transform.GetComponent<ReturnNumClass>();
if(rn!=null)this.delegateArray[rn.ReturnMyType()]();
}
とかもありえる。まぁ色々やり方はあるってことだ
0794名前は開発中のものです。
2015/12/27(日) 02:34:14.82ID:CnMTlenQなるほど・・・なんとなくですが分かりました
ありがとうございました
0795名前は開発中のものです。
2015/12/27(日) 03:10:37.82ID:34BqQyRMもっとシンプルに文字列がKeyのdictionaryに関数登録して呼び出すのも有りな気もするけどね
0796名前は開発中のものです。
2015/12/27(日) 03:17:30.52ID:f6LeTzfn速度的にどうか以前に100近いswitch casepubなんて読みにくいし修正が発生した時にイラっとすること請け合いだと思うぞと
http://blog.shos.info/archives/2014/08/csharp_ifswitchdictionary.html
Dictionary<string,Action>を持っておくとか、多態性やリフレクションを利用するとかやりようはいくらでもあるが何が適切かは場合によるので自分の設計にどれが合うのかを考える必要があるね
0797名前は開発中のものです。
2015/12/27(日) 03:18:07.65ID:f6LeTzfn0798名前は開発中のものです。
2015/12/27(日) 03:20:45.91ID:f6LeTzfn0799名前は開発中のものです。
2015/12/27(日) 10:43:43.65ID:V7RdG6Gyc#のswitchってインデックス化とかで高速にそこに飛んでくれるのかね
0800名前は開発中のものです。
2015/12/27(日) 11:11:28.72ID:wK6DIH8Gelse ifはその都度式を評価しなきゃいけないからそういった最適化の恩恵はない
0801名前は開発中のものです。
2015/12/27(日) 12:10:21.54ID:ahWZwfbpswitchは特定の値に対する評価だけだから最適化ができる
難しい話じゃないって
0802名前は開発中のものです。
2015/12/27(日) 14:37:50.96ID:epPndMqw0803名前は開発中のものです。
2015/12/27(日) 16:33:39.02ID:B1P4IeWE0804名前は開発中のものです。
2015/12/27(日) 18:09:47.53ID:Sxb2mTUM0805名前は開発中のものです。
2015/12/27(日) 18:13:04.62ID:ARgWhBYv0806名前は開発中のものです。
2015/12/28(月) 02:38:50.35ID:NstlcfKxそれコンパイル通るのか?
0807名前は開発中のものです。
2015/12/28(月) 04:51:03.33ID:Pj4ZdTwg他の言語だとたまにやる
C#で試したこと無いなぁ
0808名前は開発中のものです。
2015/12/28(月) 16:12:45.29ID:5m4m0qesswitch文が高速なのはjump tableに置換されるから。
置換できるかどうかはcaseの値次第。
置換できない場合はifとほぼ変わらない。
結果に偏りがある場合はifのほうが早くなる場合だってある。
0809名前は開発中のものです。
2015/12/28(月) 16:14:56.75ID:GoZQ8Zcx0810名前は開発中のものです。
2015/12/28(月) 16:23:07.37ID:KEKC7hz10811名前は開発中のものです。
2015/12/28(月) 17:29:31.48ID:OukfE9ESunity adsを導入しようと色々と調べたのですが、zone IDというものがよく分かりません。
zone IDとは何なのでしょうか?
0812名前は開発中のものです。
2015/12/28(月) 19:12:01.93ID:DikpkNdfでグーグル先生にお尋ねしよう
導入してる人が記事書いてる
0813名前は開発中のものです。
2015/12/28(月) 19:12:38.17ID:KEKC7hz1zoneのIDだよ
クソゲーつくってろクソ
0814名前は開発中のものです。
2015/12/28(月) 20:28:49.20ID:YKwRuFXnアイテムをパッケージにするために、
exportするアイテムを選択し、"export package"にて出力しようとすると、
余計なスクリプトなど大量のアイテムを同胞してしまうのですが、
必要なもののみパッケージ化するにはどうしたらよいのでしょうか?
宜しくお願いいたします。
0815名前は開発中のものです。
2015/12/28(月) 20:31:12.67ID:GoZQ8Zcx0816名前は開発中のものです。
2015/12/28(月) 22:52:46.70ID:/VhMFQaE画像縮小などしてapkのサイズを減らそうと思ってます
0817名前は開発中のものです。
2015/12/28(月) 23:40:27.10ID:/VhMFQaEログ見て自己解決
0818名前は開発中のものです。
2015/12/29(火) 01:00:19.32ID:vilgVuqi日本だとってのが広告主を差してんのかデベロッパーを差してんのか忘れたけど
そのシステムで稼げる気がしないわ
0819名前は開発中のものです。
2015/12/29(火) 01:16:36.17ID:8MK5m2N1同じような広告しか表示されないんだよなぁ
動画広告だと広告主少ないんかな
0820名前は開発中のものです。
2015/12/29(火) 15:01:29.56ID:xC+0y6Z5本当にゲーム中にCMを見てほかのアプリをインストールする奴なんているのかな?
0821名前は開発中のものです。
2015/12/29(火) 16:53:16.17ID:MwwfXlWw放置ゲーやクソゲーだと次を求めて
インストールしそう
0822名前は開発中のものです。
2015/12/29(火) 19:53:28.86ID:LD9Kqi6/0823名前は開発中のものです。
2015/12/30(水) 05:15:37.64ID:fyUMlbjJ└Image
└Image
└Text
└Text
というオブジェクトをフェードアウトして消去したいんですが、
全てのコンポを取得→取得したコンポをループで一つ一つアルファ値を小さくしつつa=0になったらDestroy
という方法が一番簡単ですか?
正直かなり面倒臭いと思ってしまうんですが・・・
もっと簡単な方法があれば教えて頂きたいです
0824名前は開発中のものです。
2015/12/30(水) 05:46:08.12ID:yZjjFJoC0825名前は開発中のものです。
2015/12/30(水) 06:04:24.27ID:yZjjFJoCCanvas
└parent ←<CanvasGroup>をAdd Component
└Image
└Image
└Text
└Text
これでparentのCanvasGroupのアルファをいじれば子まで一括でいけるはず
0826名前は開発中のものです。
2015/12/30(水) 06:16:03.79ID:yZjjFJoCご存知かもしれないが、parentをDestroyすれば子も一気にDestroy
0827名前は開発中のものです。
2015/12/30(水) 06:23:49.90ID:fyUMlbjJ消すのはParentを消せば子や孫が消えるのは知っていましたが
CanvasGroupという存在自体を知りませんでした
早速、試してみたいと思います
ありがとうございました!
0828名前は開発中のものです。
2015/12/31(木) 15:28:19.78ID:6ePW5QgQclass Foo : MonoBehaviour
{
Bar bar;
}
上記のようなコードがあり、とあるゲームオブジェクトにアタッチされているとする。
シーン終了時、このゲームオブジェクトは破棄されるが、
次のシーンがロードされる「前」に、確実に bar の終了処理を行いたい。
このとき、どう記述するのがスマート?
Foo.OnDestroy()で bar.~Bar() を呼び出すとか?
0829名前は開発中のものです。
2015/12/31(木) 15:48:40.40ID:lR9Sg0TA終了処理の内容とはなんぞや?
シーンが変わったらデータのシーンまたぎのなにかテクニックを使わないと
そのデータは破棄されるのだから終了処理の意味なくね?
0830名前は開発中のものです。
2015/12/31(木) 15:49:01.87ID:VmfXNO6C基本的にはOnDestroy()から終了処理を実行するのがいいかと
デストラクタは明示的に呼ばない方がいいと思うというか
呼べたっけ?
0831名前は開発中のものです。
2015/12/31(木) 16:15:19.25ID:6ePW5QgQ上手くイカなくて、やり方調べてたところだった。
OnCallerDestroy()みたいな名前の関数でも作ることにするよ。
ありがとう。
>>829
Bar内部にはstatic変数があって
シーン中にあるインスタンスを保持したり数えたりしてるので
それをうんにゃらって感じ
0832名前は開発中のものです。
2015/12/31(木) 16:16:22.15ID:tEu2s/Drc#の一般的な終了処理の書き方は、
IDisposableインターフェースを実装してDispose()メソッドを"手動で"コールする。
using構文を使わない限り自動的には呼ばれないので注意。
0833名前は開発中のものです。
2015/12/31(木) 16:21:28.72ID:lR9Sg0TA俺がstatic変数を使う時はこうやってる
まずゲームの中央にGamemanagerというオブジェクトを作っててそれがゲーム全般の
制御をしてる
シーンが始まる時とか終わる時にそのGamemanagerがstatic変数を初期化したりする
つまりstatic変数はゲームの中にバラバラに置いたりしないでgamemanagerの
責任で扱う
0834名前は開発中のものです。
2015/12/31(木) 16:48:37.03ID:VmfXNO6C君には DontDestroyOnLoad() でシングルトンモデルな作りがあってると思うよ
0835名前は開発中のものです。
2015/12/31(木) 18:10:31.01ID:6ePW5QgQああ
必要に応じて OnLevelWasLoaded() あたりと併用して、か
0836名前は開発中のものです。
2015/12/31(木) 18:33:40.99ID:oIv0IaEY容量は気にしないんですけど
0837名前は開発中のものです。
2015/12/31(木) 19:00:11.74ID:M3mMmo7chttp://wktk.2ch.net/test/read.cgi/ghard/1451518587/
ある人2 「 個人開発の ” 足引っ張り ” と言われるのが言わずと知れたUnityだけど、あれは
ロゴマークみたら閉じてる 」
ある人3 「 あ、スマホのアプリでそのロゴよく見るよ、たいてい糞ゲーw 」
0838名前は開発中のものです。
2015/12/31(木) 20:48:51.53ID:6ePW5QgQDontDestroyOnLoadしてない状況だと、いつ呼び出されるんだろ
0839名前は開発中のものです。
2016/01/01(金) 04:07:33.85ID:hRsuwOyn組み合わせてグダグダやってますが、上手くいきません
ダブルクリック判定って次作するしかないですよね?
0840名前は開発中のものです。
2016/01/01(金) 06:26:40.55ID:/Mp/WqLc0841名前は開発中のものです。
2016/01/01(金) 12:24:00.95ID:9PLAaqhp0842名前は開発中のものです。
2016/01/01(金) 12:44:03.43ID:fknFJgiJ自分が建てたスレの自分の書き込みに
誘導したいだけだからな
スルー推奨で
0843名前は開発中のものです。
2016/01/01(金) 15:27:34.87ID:/Mp/WqLcおおっと、隣のキーを打ってたぜ
0844名前は開発中のものです。
2016/01/01(金) 17:38:37.57ID:HvJp8QYJ0845名前は開発中のものです。
2016/01/02(土) 15:04:10.29ID:cBHQ8r6V0846名前は開発中のものです。
2016/01/02(土) 18:14:09.86ID:ynmR063b0847名前は開発中のものです。
2016/01/02(土) 19:07:52.66ID:28yRc3MdQuaternion使って計算しても数行ぐらいのものだろそれ、自分でユーティリティメソッドでも書いてみればいいんじゃね?
以下参考
A.中心点からみた対象Transformの相対位置を算出
B.Quaternion.AngleAxis()で回転を算出
C.対象TransformのpositionにB*A+中心点を代入
D.対象TransformのrotationにBを加算
0848名前は開発中のものです。
2016/01/02(土) 20:16:22.47ID:ynmR063bありがとう
自分で書けってことなのね
0849名前は開発中のものです。
2016/01/02(土) 22:25:54.87ID:28yRc3Mdわかって貰えて何より
ベクトルを回転させる方法は覚えておくと何かと便利だからきちんと意味を理解しながら書くといいと思うんよ
0850名前は開発中のものです。
2016/01/03(日) 04:54:00.62ID:CYs2j95G他のも色々落としたけどアニメーションできない
0851名前は開発中のものです。
2016/01/03(日) 05:23:45.44ID:CYs2j95G誰だよ使いやすいとか言ったの
0852名前は開発中のものです。
2016/01/03(日) 10:47:15.84ID:rVdoK+cbどのプラットフォームのどのバージョンで何をしようとして何ができないの?
0853名前は開発中のものです。
2016/01/03(日) 12:09:49.87ID:PXF6Y8xh互換性の問題が出る可能性の警告は出るけど無視して進めればインポートは出来るはずだよ
0854名前は開発中のものです。
2016/01/03(日) 12:31:15.60ID:nL7iKJaJActiveTogglesでforeachする以外に方法は無いのでしょうか。
Toggleにvalueが無いあたり、onChangeで検知するような思想に見えなくもないのですが
皆さんToggleの値を取る時どうやってますか
0855名前は開発中のものです。
2016/01/03(日) 13:09:55.05ID:9gYMsMkiToggleの OnValueChanged にイベント登録すりゃいいんじゃないの
0856名前は開発中のものです。
2016/01/03(日) 13:43:26.19ID:nL7iKJaJ選択するのとは別のタイミングでその値をみようとしていて、
OnValueChangedですとstaticで選択値を一旦どこかに退避しておくようなイメージになると思うのですが
そうではなく、使うタイミングで選択値を取得したいと思いまして…
0857名前は開発中のものです。
2016/01/03(日) 13:57:49.49ID:9gYMsMki> OnValueChangedですとstaticで選択値を一旦どこかに退避しておくようなイメージになると思うのですが
まずこれが違うというかなぜstaticに?
イベントを受けて最後にONになってるToggleを判別・保持して
使うタイミングで取得すればいい
ToggleGroupにでもイベントメソッドをもつコントローラを追加して
そこを介する、とかやり方はいくらでもある
0858名前は開発中のものです。
2016/01/03(日) 14:07:05.85ID:nL7iKJaJ今は使うタイミングで、仮でこうやってるんですが、
どうもしっくり来なくて…
──────────
var toggles = GameObject.Find("ToggleGroup").GetComponent<ToggleGroup>().ActiveToggles();
string name = "";
foreach (var t in toggles)
{
if (t.isOn) name = t.name;
}
──────────
0859名前は開発中のものです。
2016/01/03(日) 16:27:46.19ID:OtRNWG92webでunityのUIの本を調べたところ良さそうなのが2冊あるようでどちらにしようか迷っています
UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード
http://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対応
http://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)
0860名前は開発中のものです。
2016/01/03(日) 16:29:36.83ID:9gYMsMki今はもうそれでいいと思うよ
理解できない部分で躓くよりも
出来ることで作って先に進む方が有益な時期だと思うし
0861名前は開発中のものです。
2016/01/03(日) 16:33:12.04ID:9gYMsMkihttp://docs.unity3d.com/ja/current/ScriptReference/UI.LayoutElement.html
http://docs.unity3d.com/ja/current/ScriptReference/UI.ContentSizeFitter.html
これじゃいかんの?
0862名前は開発中のものです。
2016/01/03(日) 16:51:27.51ID:PXF6Y8xh書籍は好みがあるから一概にこっちが良いとはコメントしにくい
もし可能なら書店まで足を運んで内容を確認してから自分で良いと思う方を選ぶのがいいと思う
個人的には書籍の内容はほとんどが古く浅いので役に立たないと思ってる
書籍読む時間で最新のuGUIのソースを読んだ方が有意義
0863名前は開発中のものです。
2016/01/03(日) 17:46:38.07ID:HJa8ZZQx本家の公式マニュアル&チュートリアル&ライブトレーニングで必要十分な情報がある
英語で理解できるようにならないとIT分野全般で古い情報しか手にはいらないよ
0864名前は開発中のものです。
2016/01/03(日) 22:40:21.30ID:zTUDJKEM0865名前は開発中のものです。
2016/01/03(日) 23:03:10.38ID:DkLwSIja0866名前は開発中のものです。
2016/01/03(日) 23:12:37.90ID:nL7iKJaJuGUIの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)の場合もっと良い実装はありますか?
0867名前は開発中のものです。
2016/01/04(月) 01:44:00.77ID:1OOEB/Xyプロファイラに無視できない負荷でも出てから考えればいいんじゃないのかな
2なら個人的には一度FindやGetComponentしたら再利用に備えてプロパティに保存しとくけどね
0868名前は開発中のものです。
2016/01/04(月) 02:32:17.29ID:YfNuq+0V以前はできたのですが仕様変わったんでしょうか…
ttp://bribser.co.jp/blog/animation-method/
上記のようなことができない場合、スプライトアニメーションの任意のフレームにきたら関数を
呼び出して何かの処理をさせたいのですが他に方法ありますでしょうか
0869名前は開発中のものです。
2016/01/04(月) 03:15:50.80ID:TfOUre7A1→ラムダ式使えばいい
2→対象を見つける方法の再検討とキャッシュ
0870名前は開発中のものです。
2016/01/04(月) 12:47:31.37ID:beNj8shj自己解決というか
なぜか関数をセットできるようになりました…
0871名前は開発中のものです。
2016/01/04(月) 17:47:32.77ID:u4VibW+fSpriteのフィルタをpointにしても隙間が埋まりません。対処法を教えてください
0872名前は開発中のものです。
2016/01/04(月) 20:10:50.04ID:OMuHN2ELレンダリング時それぞれのスプライトは隣接しているかどうかに関係なく個別に描画される
そのためふたつのスプライトが1ピクセル未満ずつ乗っている箇所が隙間のように描画されてしまっているという状態
隙間なく並べられたスプライトの境界線がピクセルの境界にきちんと沿っていない事が原因なので
「unity 2d pixel perfect」あたりでググると幸せになれるかもしれない
0873名前は開発中のものです。
2016/01/04(月) 20:38:37.60ID:u4VibW+f返答ありがとうございました
http://blogs.unity3d.com/jp/2015/06/19/pixel-perfect-2d/
このページを参考に改良してみます
0874名前は開発中のものです。
2016/01/04(月) 20:48:19.33ID:VzoPO3CD回答有り難うございます。
リファレンスだとちょっと使用例が少ないのでできれば本など参考にして実践的に使いたいと思った次第です。
英語は一応読めるのですが・・・一応読める程度でしか無く、分からない単語など調べると別のことに時間を取られてしまうのでできれば日本語で行きたく思います。
本屋で見て、直感的に良さそうな本があったらそれを購入検討しようと懷います。
ご回答ありがとうございました!
0875ネットワークエンジニア(プロ)です
2016/01/05(火) 05:47:47.17ID:cUm4JdUo例えば、Unity(ゲーム開発ツール)で例外発生時はUnityのコンソール上に表示されるのに、
System.Console.WriteLineは表示されません。
WriteLineは標準出力する関数だと思いますが、
標準出力をロギングしてるわけではないのでしょうか。
モノビハバーを継承してるクラスはDebug.Logを使えばいいですが、
移植を考慮しているので、Debug.Logを利用しないでUnityのコンソールに通知する方法はありますか?
■ このスレッドは過去ログ倉庫に格納されています