トップページgamedev
1001コメント398KB

【3Dゲームエンジン】Unity質問スレッド14 [転載禁止]©5ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。2014/12/09(火) 19:29:53.11ID:x9Izo6T5
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質問スレッド13
http://peace.2ch.net/test/read.cgi/gamedev/1414819294/

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

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0818名前は開発中のものです。2015/01/13(火) 18:11:36.46ID:jDxUCgT7
>>817
そうなんですか。
独習C#で基礎を勉強してからlinqなどについて詳しく載っている書籍で勉強しようと最初は考えていたのですが、
そこまでする必要はないですかね

でも処理コストについて考えてなかった・・・・最適化で気をつけることってありますか・・・・・。
ゲーム制作はC#についてもう少し勉強してからのほうが良いですかね・・・・・。
0819名前は開発中のものです。2015/01/13(火) 18:18:33.62ID:jVRJ+zZ+
>>818
アセットをかえば、最適化の心配もプログラムの勉強も要りませんよ
0820名前は開発中のものです。2015/01/13(火) 18:22:46.18ID:CkraMcHg
>>818
Linqの実体はただのコレクションハンドリングでUpdate内で使っても問題ないよ
817はデータベースクエリかなんかとごっちゃになってると思う
0821名前は開発中のものです。2015/01/13(火) 18:24:27.94ID:f9M5JneD
>>818
いや、ゲームは絶対作ったほうがいいよ。
特に個人でやってるならなおさら。
できるだけ簡単なものでゲーム作る一通りを
体験しておくのがかなり重要。
0822名前は開発中のものです。2015/01/13(火) 18:45:56.29ID:jVRJ+zZ+
アセットを買わない=1年たってもクソゲーひとつ完成しない
アセットを買う=一ヶ月ほどで神ゲー完成

どっちを選びますか?
0823名前は開発中のものです。2015/01/13(火) 18:55:30.52ID:jDxUCgT7
>>820>>821
回答ありがとうございます。
ゲームを作りながら勉強するという形が一番良さそうですね。
スクリプトが理解できなくてC#の勉強を始めたのである程度習得した今なら何とか頑張れそうです。
0824名前は開発中のものです。2015/01/13(火) 19:04:45.07ID:tklViF/V
Unity使うよりVisualStudioの方が良いと思うけど
0825名前は開発中のものです。2015/01/13(火) 21:08:13.31ID:/CwM6dSt
Linqの勉強するならまずSQLの文法を簡単なとこだけ覚えとくと楽だよー
Select, From, Where, Order byあたりが使えれば後はもうそのまま書けるようになってる

個人的にはラムダ式は使わない方がSQL文に近くて分かりやすい気がする

あとは、ググって出てくる使用例だとFindGameObjectsWithTagを使ってるのが多いけど、
updateから呼ぶならなるべく配列かListあたりに確保して呼んだほうがいいよ
0826名前は開発中のものです。2015/01/13(火) 21:42:12.12ID:jVRJ+zZ+
>>825
アセットをかえばそんな面倒くさいことをする必要もないかと
0827名前は開発中のものです。2015/01/13(火) 21:46:53.87ID:VSj2vFeX
ていうか、Instantiateってなんて読むの?
つか、お前らなんて読んでるの?
イ、インスタンてぃぁて……?
0828名前は開発中のものです。2015/01/13(火) 21:58:41.93ID:lPKvP/ab
いんすたんてぃえーと
0829名前は開発中のものです。2015/01/13(火) 22:05:57.94ID:f9M5JneD
インスタンシエイト
0830名前は開発中のものです。2015/01/13(火) 22:16:03.43ID:E0NWK+G+
XY座標(X:0〜1000Y:0〜800)を画面に表示させている2Dオブジェクトがあります
このオブジェクトを制限時間内(30秒)で操作して行うゲームなのですが
オブジェクトが制限時間内に移動したXY座標の合計を求めるにはどうしたらいいでしょうか?
地道に一秒ずつ座標を取得して足していって求める等しかないのでしょうか?
0831名前は開発中のものです。2015/01/13(火) 22:18:33.41ID:jVRJ+zZ+
>>830
そんな面倒なことしなくても、アセットをかえば簡単に解決しますよ
0832名前は開発中のものです。2015/01/13(火) 22:50:31.32ID:/CwM6dSt
>>830
最初の位置を記憶しておいて、float値(fl_timeとか)に30.0fを入れておいて、
fl_time - Time.deltaTimeをupdate毎に繰り返す。

fl_timeが0以下になったらVector3.distance(初期位置,今の位置) とかで距離見ればいいんじゃないかなー

試してないからちゃんと動くかは謎
0833名前は開発中のものです。2015/01/13(火) 23:07:08.31ID:VVaAoaPm
>>827
Instanceの親戚だと思ってるからインスタンシエイト
0834名前は開発中のものです。2015/01/13(火) 23:14:15.67ID:Xf5o8jj8
いや、動き回った距離の合計なんじゃないの
普通に毎フレーム加算していってやれば問題ない
0835名前は開発中のものです。2015/01/13(火) 23:19:34.01ID:/CwM6dSt
ああごめん、最終的な距離じゃなくて動いた距離か
じゃあやっぱ地道に足してくしかなさそう
0836名前は開発中のものです。2015/01/13(火) 23:59:55.25ID:ykdNkN0L
>>820
すまねぇ、俺も使い始めたばっかで、混同してた
とにかく、
>>818チュートリアルとか見ながら、できる範囲で、作っていくのがいい。
0837名前は開発中のものです。2015/01/14(水) 00:08:02.75ID:C+3xUzPT
Unityちゃんってどうして知名度低いんだろうな
ぜんぜん知られてないよな
なんとかしたい
0838名前は開発中のものです。2015/01/14(水) 00:32:14.35ID:r7Ehke7G
むしろこんなに簡単にゲーム作れるツールの知名度が上がって欲しくない
なんとかしたい
0839名前は開発中のものです。2015/01/14(水) 00:56:04.26ID:1/Uv+8D0
必死こいて作ったオリジナルゲームより版権とコピーライクなスマホゲーが莫大な利益出してるこの世界が憎い
なんとかしたい
0840名前は開発中のものです。2015/01/14(水) 00:58:45.49ID:DQs41Q1A
わかりました、あなたは世界を革命するしかないでしょう
0841名前は開発中のものです。2015/01/14(水) 01:29:07.49ID:rs9W7VJN
ディオニソスの剣はどこで手に入りますか?
0842名前は開発中のものです。2015/01/14(水) 01:33:12.67ID:7jiVt7V8
例え革命を起こしたとしてもすぐさまその革命のコピーで溢れるのが現状
そう考えると日本も中韓みたいなパクリ国家と変わらんな
0843名前は開発中のものです。2015/01/14(水) 02:16:14.28ID:sFtbibkr
日本も高度経済成長期は、アメリカの技術をパクって発展したようなところがあるらしいしな。

ただ、日本はパクったあとに、更に便利に改造するのに長けてる。
中韓はパクって国家戦術と人員で安く作るだけ。

日本は0から1じゃなくて1から10が得意で
中韓は1から量産型(1)にする所が違うってばっちゃが言ってた
0844名前は開発中のものです。2015/01/14(水) 03:32:31.92ID:1QFhN99Q
1から2どころか0,7進行安定の
日本のUnity使いはそういう意味でもダメ過ぎるんだな
死ぬまで勉強中の札かけっぱなしでも
落ちこぼれのぼっちは結局周回遅れとかヒドいw
0845名前は開発中のものです。2015/01/14(水) 10:07:02.66ID:cF4xxTvH
作ったアプリをBuild&Runでアンドロイドに落とし込んだんだけどOpneGL描画ってアンドロイドじゃできないの?
基本図形描画もままならないんだが…
他のオブジェクトはカメラに映っててGLクラス使ったものだけ映ってない。どうすればいいの?
08468102015/01/14(水) 10:31:47.01ID:IAmfctXp
エンドロールのスクロールについて聞いたものです。
既存のシェーダでなんとかならんかといろいろ試してみましたが、
なかなかうまくいかないので、カスタムシェーダ作ってみます。
シェーダ作るのは初めてです(´・ω・`)
0847名前は開発中のものです。2015/01/14(水) 15:26:42.22ID:fJ3OdSbC
スタッフロールのやつ
>>816
これでいいじゃん、何を手こずってんの?
0848名前は開発中のものです。2015/01/14(水) 16:18:05.27ID:iJHzlhh0
ある程度形になってるなら後回しでいいんじゃね
エンドロールなんて他と絡まないし
最悪、リリース後のアップデートで十分w
0849名前は開発中のものです。2015/01/14(水) 16:45:47.46ID:ilpq2Z6A
>>848
まぁやりたいことができるとモチベーション上がるからどっから手をつけても良いんじゃ無いかな?
スクリーン座標のy軸をalphaに変換する計算をシェーダに突っ込めば簡単に済むけど、車輪の再発明でも自分だけで作り上げると凄いうれしいのはよく分かるから。
0850名前は開発中のものです。2015/01/14(水) 17:34:02.82ID:GrbQUpH5
>>847
背景があるので、それもαブレンディングの影響をうけてしまうので(´・ω・`)
0851名前は開発中のものです。2015/01/14(水) 18:13:12.84ID:fJ3OdSbC
それならもうスタッフロール用のサブカメラ作ったら?
0852名前は開発中のものです。2015/01/14(水) 18:24:15.86ID:U+JbqNkA
非アクティブ状態のUnityがキーボード入力を受け取る方法ってありますか?

非アクティブ状態でもUnityが動作し続ける方法 は 見つけられたのですが、
これだと動作し続けるだけで、入力は受け取れていないみたいです。
0853名前は開発中のものです。2015/01/14(水) 19:06:30.00ID:0XojYraf
あるのかどうかは知らんが、普通はそんなことはしないしするべきではない
0854名前は開発中のものです。2015/01/14(水) 19:12:13.71ID:LrpLaWCF
何が目的で非アクティブのUnityにキーボード入力を受け取らせたいの?
目的によっては別の手段があるかもしれない
0855名前は開発中のものです。2015/01/14(水) 19:25:21.02ID:ANItvEF1
UGUIで使う「Rect Transform」の「Bottom」をスクリプトから変更する方法を探した結果
http://forum.unity3d.com/threads/setting-top-and-bottom-on-a-recttransform.265415/ の

rectTransform.offsetMin = new Vector2(rectTransform.offsetMin.x, bottom);

を使えばいいのがわかりましたが、rectTransformがどういうものなのかは調べてもわかりませんでした
rectTransformのBottomをスクリプトから変更する方法を教えてください
0856名前は開発中のものです。2015/01/14(水) 20:00:42.96ID:0qsuIS5r
unityで3Dゲーム作ろうと思って3DCGに手を出したんだけど
作業スピードが遅いけどメタセコイアで作成するか、
メタセコイアで作成するより早くできるけどポリゴン数が多くなるSculptris
(スカルプトリス)か
どっちで作成したものか迷ってる。
実際ゲームとして動かしたときにどの程度動作に差が出るのか知りたいです。
ご教授お願いします。
0857名前は開発中のものです。2015/01/14(水) 20:11:28.06ID:YatGNl6b
>>855
公式のマニュアルにもリファレンスにも書いてある
ttp://docs.unity3d.com/Manual/class-RectTransform.html
ttp://docs.unity3d.com/ScriptReference/RectTransform.html

>>852
キーボードイベントは「OSがフォーカスしたウインドウに送っている」から
受け取れるものなので本来フォーカスされてないウインドウが
キー入力を受け取る手段はない。送られてきていないのだから。
Unity自体にもそれをどうこうする手段は用意されていない。
なので全て自前で作る必要がある。WindowsAPIを使えば可能らしいが
その為にはすくなくともPro版である必要はある。
この辺とかか。Unityでどれくらい使えるかはわからない。
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1080106570

>>856
ソフトによってどうこうではなくポリゴン数が問題なので
ソフト自体は関係がない、とはいえ、
スカルプトリスみたいなソフトで作ったものをそのままゲームで
使っている例は恐らくほぼない。
スカルプトリスを使っているとポリゴン数が表示されると思うが
最初の球の時点で2048Tris、ちょっといじっているとたちまち数万Trisになる。
Unityの公式マニュアルで最適なパフォーマンスの為のキャラクターモデリング
の項目とそれを比較すればそれではまったく非現実的だということがわかるだろう
ttp://docs.unity3d.com/Manual/ModelingOptimizedCharacters.html
ttp://docs-jp.unity3d.com/Documentation/Manual/ModelingOptimizedCharacters.html
0858名前は開発中のものです。2015/01/14(水) 20:26:58.33ID:U+JbqNkA
メモ帳などのソフトで文章を作成している裏側で、
Unityに キー入力に応じた振る舞いをさせたいと考えています。

メモ帳に「こんにちは」と入力すると、Unityの画面で5つのオブジェクト(こ・ん・に・ち・は に対応している)が生成される……みたいな感じです。
0859名前は開発中のものです。2015/01/14(水) 20:30:17.96ID:U+JbqNkA
>>857
ありがとうございます。
根本的に無理な話なんですね……
0860名前は開発中のものです。2015/01/14(水) 20:33:04.84ID:jrLJFtuN
7万かけてギャンブルたてたのに増加制限かよ。
99999とかすぐいっちまうから制限緩くしてケロ
0861名前は開発中のものです。2015/01/14(水) 20:49:10.80ID:AByb7vVe
>>856
Sculptrisでのゲーム用モデル制作は
デメリット
・頂点数が桁違いに多い→頂点削減の手間が大きい
・Sculprisにも一応頂点削減コマンドはあるが、結局Blender等に移して加工することになりがち
メリット
・粘土細工感覚
・UV展開の知識無しでもあまり問題ない

個人的に、モデリング初心者なら良い選択だと思う。

実際にやってみた人の記事
http://cg.hatenablog.jp/entry/2012/10/21/152803

頂点削減のアセットもあるらしい
http://tsubakit1.hateblo.jp/entry/20140223/1393164006
0862名前は開発中のものです。2015/01/14(水) 21:07:30.44ID:ilpq2Z6A
>>858
どんなにきれいに説明してもキーロガークラックにしかならんきがする
0863名前は開発中のものです。2015/01/14(水) 21:15:42.52ID:0qsuIS5r
>>857 >>861
マニュアル見てなかったです。1500〜4000Tris了解です。
実際にやってみた人の記事 が希望になりました。スカルプトリスで
△削減すると形が崩れるのでどうしたものかと思っていた所でした。

お二方とも、感謝です。ありがとうございました。
0864名前は開発中のものです。2015/01/14(水) 21:21:22.46ID:r0/NQwYs
>>844
例えばコイツみたいのか
ttp://www.amazon.co.jp/gp/pdp/profile/A2WQ8L1C5AZ3XJ/

5人中0人のお客様がこのレビューが役立つと述べています
Unityではじめる2Dゲーム作り徹底ガイド


18人中7人のお客様がこのレビューが役立つと述べています
セブンティーン ボルドー

童貞落ちこぼれのオナホろまんは、レビュー以外に関連スレも荒らしてそう
よく見たらUNITYユーザー全員馬鹿にしてるのな、時期的にもコイツがID:1QFhN99Qだったら笑うw
0865名前は開発中のものです。2015/01/14(水) 22:40:41.91ID:M811khHm
staticなデリケートにインスタンスなメソッドを割り当てて、それをコールした場合、パフォーマンスは通常のメソッド呼び出しと比べてどの位落ちますか?
調べてみたんですが、リフレクションがどうのこうのと書いてあり、よく分かりませんでした。
0866名前は開発中のものです。2015/01/14(水) 23:04:49.07ID:IAmfctXp
エンドロールのひとです。
ググってパクってシェーダできました。

Shader "Custom/AlphaMask" {
Properties {
_MainTex("Base (RGB) Trans (A)", 2D) = "white" {}
_Stencil("Stencil Texture (RGB)", 2D) = "white" {}
}
Subshader {
Tags {
"Queue"="Transparent"
"IgnoreProjector"="False"
"RenderType"="Transparent"
}
Lighting Off

CGPROGRAM
#pragma surface surf Lambert alpha
struct Input {
float2 uv_MainTex;
float2 uv_Stencil;
};
sampler2D _MainTex;
sampler2D _Stencil;
void surf (Input IN, inout SurfaceOutput o) {
half4 c = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a * tex2D(_Stencil, IN.uv_Stencil).a ;
}
ENDCG
}
}
0867名前は開発中のものです。2015/01/14(水) 23:16:21.42ID:YatGNl6b
>>865
それUnityの話じゃないよねw

ttp://blog.avangardo.com/2011/02/method-call-vs-delegate/
これはスタティック同士で比較してるけどこの辺改造して
試してみればわかるんじゃね?
0868名前は開発中のものです。2015/01/15(木) 00:32:05.22ID:VfPf70uq
>>867
確かに!unity成分ゼロでした!

でも、分かりやすいサイト有難うございます。
ちょっと改造して調べてみます。

というか、そのサイトの2 mtd callの結果をみて思ったんですが、メソッドコールするだけで結構時間かかるもんですね。

個人的にプログラムは分かりやすくメソッドを小分けに書いてしまうので、本当に速度が求められる部分は1メソッドで書こうと思いました。
0869名前は開発中のものです。2015/01/15(木) 02:11:34.98ID:Op487UhM
>>868
速度を求めるならアセットをかえばいいと思います
0870名前は開発中のものです。2015/01/15(木) 02:47:12.16ID:CxfTlkOF
floor、randamが使えませんとか言われる・・・
usingしてあるのに何かunityVSってunityとの統制が色々面倒くさい希ガス
0871名前は開発中のものです。2015/01/15(木) 02:56:12.36ID:Op487UhM
>>870
アセットをかえばいいと思います
0872名前は開発中のものです。2015/01/15(木) 05:35:35.23ID:9lJS5okU
>>861
メタセコイアですら挫折したんでやってみようかな
今はフリー素材使って2Dゲーム作ってるw
0873名前は開発中のものです。2015/01/15(木) 09:30:36.91ID:T2bkWcMv
キーを押したときに、ObjectAに設定してあるBoxColliderのサイズ等の値を変更するにはどうすれば良いでしょうか?
よろしくお願いします。
0874名前は開発中のものです。2015/01/15(木) 09:31:44.75ID:zZ0zVwQH
質問お願いしていいですか。
アンドロイド実機で実行するとC#の中に書いたシェーダが機能しなくなってしまいます。
どうも描画画面内にキューブなどシェーダのついたオブジェクトがあるとそうなるみたいで解決方法がわかりません。
おそらく質問の意味がわからないと思うので現状をまとめました。
ttp://unitygametsukuruyo.blogspot.jp/2015/01/unityandroidopengl.html

どなたかご存知の方がいれば宜しくお願いします。
0875名前は開発中のものです。2015/01/15(木) 10:14:13.95ID:HMTMhFFq
>>873
キーが押されたらボックスのサイズを変更すればいいんじゃねぇのか…
ttp://docs.unity3d.com/ScriptReference/BoxCollider-size.html
コピペすれば動くスクリプトをよこせとかいう話なら知らん。
0876名前は開発中のものです。2015/01/15(木) 10:15:31.13ID:9lJS5okU
>>873
if(Input.GetKeyDown(KeyCode.Return)) {
BoxCollider2D c = ObjectA.GetComponent<Collider2D>().collider2D;
c.size.x = ?;
c.size.y = ?;
}
こんな感じ?
0877名前は開発中のものです。2015/01/15(木) 10:21:25.80ID:T2bkWcMv
>>875
>>876
ありがとうございます!これで何とかなりそうです!助かりました
0878名前は開発中のものです。2015/01/15(木) 10:41:27.58ID:9lJS5okU
教えてもらってばっかりだった俺が始めて人の役に立ったか・・・
感涙
0879名前は開発中のものです。2015/01/15(木) 14:56:59.35ID:/OwRxtNz
Relief Terrain Pack が75%セール中で、血反吐を吐きそうな程迷ってる。
0880名前は開発中のものです。2015/01/15(木) 15:50:00.71ID:n/ZaH6ND
>>879
迷う必要はないですよ。血を吐くなんて体に毒です。早くかいましょう
0881名前は開発中のものです。2015/01/15(木) 15:51:58.05ID:ZyaXwmyl
何をか家
0882名前は開発中のものです。2015/01/15(木) 15:53:30.03ID:aTdTmcFj
>>879
これ定価の時にこうたやめた音頭で買ったやつだ、ぐぬぬ
この値段なら速攻買ってた
0883名前は開発中のものです。2015/01/15(木) 17:55:34.72ID:/OwRxtNz
>>882
使ってみた感想おねがい!
0884名前は開発中のものです。2015/01/15(木) 18:13:35.67ID:ZeNQj1qq
>>856
その選択肢なら、圧倒的にメタセコ

まずメタセコはモデラーとしてかなり優秀。
このソフトで作業が遅い進まないなら、どんなツール使ってもろくなモデル作れないと思うよ。
メタセコ単体での機能はそれほどでもないが、プラグインとして結構すごい機能がそろってる。

まぁガンバレ
0885名前は開発中のものです。2015/01/15(木) 18:47:20.95ID:aTdTmcFj
>>883
ぶっちゃけより自然な表現をTerreinで作りやすくなる
でもいっちゃん美味しいのはTerreinに穴あけてトンネル作ったり、別の地形のモデルをTerreinに乗せたときにブレンドでメッシュ変形してくれる事

とりあえずTutorial Movie全部みてから決めると良いよ
0886名前は開発中のものです。2015/01/15(木) 18:48:40.65ID:HMTMhFFq
>>882
そうだそうだ、情報開示を要求するうう!

アセットストアのレビュー見てるかぎり
評価はすごい高いよなぁ。
AAAでブリリアントでアウスタンディングでオウサムでグレートな感じ?
買おうかなぁ…あと4時間踊って決めるか
0887名前は開発中のものです。2015/01/15(木) 18:49:53.98ID:HMTMhFFq
って書き込んだら開示されてたーw
わかった、もう踊りはやめだ。買う。買った。
0888名前は開発中のものです。2015/01/15(木) 22:39:06.98ID:VfPf70uq
>>885
ありがとん!
あと、20分なやむ!
0889名前は開発中のものです。2015/01/15(木) 23:15:11.79ID:G/3xpgbR
>>884
うーん、メタセコの頂点をちまちま動かして行く感じがどうしても
やってられーーん、ってなるんだよね(そんな状態で有料版に手を出せるわけでもなく)
まぁメタセコの方は触った時間が少ないってのもあるだろうけど。相性ってあるよね。
助言ありがと。でももう俺はスカルプトリスで行きます。がんばるよ。
0890名前は開発中のものです。2015/01/15(木) 23:34:22.25ID:5UcZKuHr
画面の中央から一番近いオブジェクトを取得する方法ってありますか?
奥行きなどは考慮しないで良いのですが
0891名前は開発中のものです。2015/01/15(木) 23:50:39.34ID:YOU4j5db
>>890
ビューポート座標で比較するんじゃだめ?
0892名前は開発中のものです。2015/01/15(木) 23:53:43.96ID:n/ZaH6ND
>>890
奥行きなどを考慮しないなら、アセットをかうのがいいですよ
0893名前は開発中のものです。2015/01/16(金) 00:19:02.05ID:osYQqc/p
リストに全オブジェクト突っ込んで座標のxとyの絶対値を足したものを低い順でソートかけるとか
0894名前は開発中のものです。2015/01/16(金) 01:34:43.39ID:CleK3PYn
>>890
一行書けば答えをくれる関数はあるのかって意味ではない。
自分で実装するなら可能に決まっている。
スクリーンスペースでやるかカメラとの角度でやるかどっちかだろうな
0895名前は開発中のものです。2015/01/16(金) 02:01:16.72ID:D9aJuvX7
uGUIを使っています。
文字表示をする場合、UI.textをgameObjectとして設置するのとLabelをスクリプト側で生成するのって
どちらがいいのでしょうか?
0896名前は開発中のものです。2015/01/16(金) 02:46:21.28ID:mkwfQAQj
>>891-894
ご教授ありがとうございます。
申し訳ないのですが、複数(多く)のオブジェクトの情報を取得したい場合は
全てのオブジェクトの親になるオブジェクトを作り、それから(必要であればtagなどで不要分を弾いて)取得すれば良いのでしょうか?
それとも、ビューポート(カメラの範囲/角度)内のオブジェクトのみを検出する関数などがありますか?
0897名前は開発中のものです。2015/01/16(金) 03:13:52.29ID:SN93z5yh
>>890
馬鹿な俺は、emptyオブジェクトを中央において、全オブジェクトの距離を比較して、選択する。

似た手法で、2000オブジェクトくらい参照させたら、fpsが20近く下がった
0898名前は開発中のものです。2015/01/16(金) 03:58:32.46ID:MOwyZ3Z3
>>895
どちらかというと、アセットをかうのがいいと思いますよ
0899名前は開発中のものです。2015/01/16(金) 04:20:47.56ID:CleK3PYn
>>896
カメラ範囲内のオブジェクトを返す関数はない。
tagで取得する時はGameObject.FindGameObjectsWithTag()とかはある。
http://docs.unity3d.com/ScriptReference/GameObject.html
結構重いはずなので毎フレームチェックするのなら初期化したときや生成したときに
オブジェクトを登録する配列なりリストなりをどこかに持っておくべき。
0900名前は開発中のものです。2015/01/16(金) 04:41:33.23ID:+bwYcgHW
>>899
カメラが一個ならOnBecameVisible,OnBecameInvisibleでカメラ視界に入ったかどうかをつかってListに登録とかできるんだけどカメラが複数あると(バックミラーとか)駄目なのよねー
0901名前は開発中のものです。2015/01/16(金) 04:55:26.65ID:CleK3PYn
オブジェクト側から登録ってやり方がありならOnWillRenderObject()もありかな〜。
http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnWillRenderObject.html
これならカレントのカメラ次第でリストに登録を選べる。

ただOnWillRenderObjectにしてもOnBecomeVisibleにしても
判定自体はその後に回さなきゃなのでExcuteOrderを指定するなり
LateUpdate()を使うなりしないとかもだけどね
0902名前は開発中のものです。2015/01/16(金) 10:32:26.50ID:Yt3w7dJo
>>879
2Dでしかゲーム作ってないのにみんなが安い安い言うから買ってしまった
動かすキャラクタもアセットストアで買えばそのうち3Dでゲーム作れるかな・・・
0903名前は開発中のものです。2015/01/16(金) 11:07:26.84ID:ts++5XXP
>>874
GL.Colorが端末だとちゃんと機能しないとかチラっと聞いたことがあるようなないような
で、↓
ttp://posposi.blog.fc2.com/blog-entry-270.html
こちらの人のやり方というか、マテリアル生成のところを丸パクで使ってますが
標準のシェーダや自前シェーダとの混在が問題なく出来てます
0904名前は開発中のものです。2015/01/16(金) 11:20:28.28ID:ts++5XXP
>>896
> それとも、ビューポート(カメラの範囲/角度)内のオブジェクトのみを検出する関数などがありますか?
UnityEngine.GeometryUtility を使ってできるんじゃかなろうか?
フラスタムカリングに使われてるクラスだからこれで視界の中のものかの判定ができる


そもそもだけど、カメラの視線方向へのレイとオブジェクトの位置の距離を調べて
最近点のものを探すだけだと思うんだけど、違うかな?
Unityの機能っていうよりも算数的なやり方も必要?
0905名前は開発中のものです。2015/01/16(金) 13:01:16.96ID:finv0FT/
長方形のオブジェクトを縦にしたり横にしたりっていうのは
普通transformのangleでやるものですか?
0906名前は開発中のものです。2015/01/16(金) 13:46:11.38ID:ts++5XXP
>>905
向きを変えたいならtransformのRotateの操作で行う
形状を変えたいなら同じくtransformのScaleの操作で行う
上記の詳細は↓
http://docs-jp.unity3d.com/Documentation/ScriptReference/Transform.html

縦に○○する、横に○○する、でしょ日本語なら
0907名前は開発中のものです。2015/01/16(金) 13:48:34.96ID:finv0FT/
>>906
ありがとうございます!見てみます
0908名前は開発中のものです。2015/01/16(金) 14:33:08.45ID:VERftY4W
Raycast使った対象オブジェクトにくっついてるスクリプトを使うと
コンソール欄がデバッグ文で埋め尽くされちゃうんですが
一度だけスクリプトを呼び出すようにすることはできますか?
updateに書かない方がいい?
0909名前は開発中のものです。2015/01/16(金) 14:47:44.09ID:ts++5XXP
>>908
使われ方がイマイチわからないんだけどDebug.Log()を毎回コールされる位置においてるのがマズイなら
そうしないだけではないの?
毎回呼び出してる(?)なら呼ばなければいいだけだし

何を問題としているのかがちょっとわからないのでもう少し伝わるように丁寧にお願い
0910名前は開発中のものです。2015/01/16(金) 15:06:31.64ID:1VTsmxOR
>>903
情報ありがとうございます。
似たようなプログラムをいくつか組んでみてはいるんですが標準のシェーダと共存できるもの、できないものの違いがまだはっきりとわかっていません。
ただGL.Linesが消えてしまうのを回避する方法はいくつかわかりました。
0911名前は開発中のものです。2015/01/16(金) 15:22:39.76ID:ts++5XXP
>>910
端末向けに作ったことないので(動作検証してもらったことはありますけども)
イマイチな返事でもうしわけない

おわびに・・・
> 【Unity】ドット絵がぼやけて表示される【Android】
素材のインスペクタにある Filter Mode を Bilinear から Point に変更すると
テクスチャ補間が線形補間から近傍点になってドットの滲みは解消できるよー

ただ、表示座標がきっちりな液晶のピクセルの座標になっていないと波打つように伸縮するので注意
0912名前は開発中のものです。2015/01/16(金) 16:00:33.05ID:fkoRlV3H
>>904
>そもそもだけど、カメラの視線方向へのレイとオブジェクトの位置の距離を調べて
>最近点のものを探すだけだと思うんだけど、違うかな?
>Unityの機能っていうよりも算数的なやり方も必要?

その通り
カメラの向いている方向に円柱型の判定を行う数学計算をすればいい
もしくはunity側でそういうコリダーを置いて安定を行うとか
0913名前は開発中のものです。2015/01/16(金) 16:01:37.79ID:fkoRlV3H
・・・ごめん、円錐型の方が良いな、そういう計算
0914名前は開発中のものです。2015/01/16(金) 16:42:57.43ID:ZjU+PjG/
コリダーって言うなコライダーと言え
0915名前は開発中のものです。2015/01/16(金) 17:34:56.85ID:CleK3PYn
この話って元々カメラの一番正面方向にいるオブジェクトはどれか、
なので描画範囲内にいる、っていう中途半端な選定って無意味なんだよね、実はw
0916名前は開発中のものです。2015/01/16(金) 17:51:35.57ID:fkoRlV3H
ヌルというな。ナルと言えだな・・・
0917名前は開発中のものです。2015/01/16(金) 18:02:31.32ID:mkwfQAQj
カメラのレイと全てのオブジェクトとの距離を何らかの方法で取得して
その距離が最も近いオブジェクトが弾き出せれば良い。という事でしょうか

全てのオブジェクトの情報を取得するのは
http://baba-s.hatenablog.com/entry/2014/07/29/082441
辺りを参考にすれば出来そうなのですが、
Rayを使う場合、RaycastHitやdistance以外の使い方がよく分かりません。
Rayとオブジェクトとのxやy軸(≒z軸を考慮しない)の距離を測る方法は、異なる関数あるいは処理が必要、で合ってますか?

全てのオブジェクトの距離を計測し終えたら、配列処理などで何とか求めれば良いでしょうか
レス数が900を超えています。1000を超えると表示できなくなるよ。