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

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

■ このスレッドは過去ログ倉庫に格納されています
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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0051名前は開発中のものです。2014/12/12(金) 03:23:30.33ID:OxFs15cw
>>50
アセットを買えばいいと思いますよ
0052名前は開発中のものです。2014/12/12(金) 12:34:44.08ID:pfh2wSkZ
>>50
アセットを紹介できるようになるアセットを買えばいいと思いますよ
0053名前は開発中のものです。2014/12/12(金) 12:57:05.76ID:LxWSHUbb
c#でfloatの丸めを行いたいんだけど上手い方法はありませんか?

0.5を基準にして0.3は0に、0.8は0.5に、1.3は1にするような丸めなんですが・・・
0054名前は開発中のものです。2014/12/12(金) 13:01:54.57ID:fmKr78xt
倍にしてfloorして半分にする。
精度が気になるならDoubleにキャストして計算して元に戻す。
まぁ後は速度との兼ね合いか。
0055名前は開発中のものです。2014/12/12(金) 13:06:33.99ID:mm3wUm28
>>53
2倍して整数化してからfloatへ変換して半分にする

float halfFix(float src) {
long twice = src*2;
return twice * 0.5f;
}
0056名前は開発中のものです。2014/12/12(金) 13:06:59.14ID:xJGupvzP
0.99も0.5でいいのん?
0057名前は開発中のものです。2014/12/12(金) 13:27:18.31ID:4A7CjQ+r
>>53
floatの丸めは、アセットをかえば簡単にできると思いますよ
0058名前は開発中のものです。2014/12/12(金) 13:33:07.07ID:mm3wUm28
2倍してroundしてから半分の方がいいか
float resut = Mathf.Round(srcValule*2)*0.5f
0059名前は開発中のものです。2014/12/12(金) 14:17:19.86ID:DTUyPxVa
カードゲームの「全てのカードをシャッフルする」という処理を
どのように組めばいいのか、いまいち分かりません
Randam.rangeを使うだろうというのは分かるのですが・・・

どなたか教えて下さい
もしくは参考ページがあれば・・・
0060名前は開発中のものです。2014/12/12(金) 14:22:45.17ID:4A7CjQ+r
>>59
そのような処理はスクリプトに頼らずともアセットをかえばいいと思いますよ。
アセットストアで検索しましょう
0061名前は開発中のものです。2014/12/12(金) 14:54:44.55ID:mm3wUm28
>>59
各カードと乱数を保持するクラスを作る
具体的には下記
class CardRandPair {
public readonly SomeCard card;
public readonly int r;
public indexPair(SomeCard c) {
card = c;
r = Random.Range(0,N);
}
}
ここでRandom.Rangeの引数Nは最大枚数なので>>59が決めろ
これをすべてのカード要素についてListに(allShuffleとかの名前で)枚数分突っ込んでrについてソートする事でシャッフルした結果が得られる。
List<CardRandPair> sortedList = allShuffle.OrderBy(o=>o.r).ToList();
SomeCard firstCard = sortedList[0].card; // シャッフル後の一枚目
実際のコードは>>59次第。
0062名前は開発中のものです。2014/12/12(金) 15:17:07.68ID:DTUyPxVa
>>61
ありがとうございます!
まだちょっと内容理解できてないので、調べながら理解します。
0063名前は開発中のものです。2014/12/12(金) 15:29:55.51ID:4A7CjQ+r
スクリプトの勉強よりアセットを探して買ったほうがいいですよ
0064名前は開発中のものです。2014/12/12(金) 16:03:20.45ID:ZiekBGEQ
アセットおじさん今日も元気だね。
Unityから金をもらってやってるんだよね?
Unityはアセット販売の中間マージン取ってるもんね。
要はステマだよね?
0065名前は開発中のものです。2014/12/12(金) 16:20:06.74ID:mm3wUm28
>>62
割とまじめな話C#以外でも良いからアルゴリズム関係の本とデータ構造の本何種か読むべきだと思う
つかこのスレV_Xの件含めても数学の基礎(高校二年の夏まで)とかプログラミングの基礎とかちょっと足らないと思うよ。
0066名前は開発中のものです。2014/12/12(金) 16:26:58.34ID:4A7CjQ+r
アセットをかえばスクリプトもアルゴリズムもデータ構造も考えずにゲームを作れますよ
Unityはアセットがあるので素晴らしいですね
0067名前は開発中のものです。2014/12/12(金) 16:36:23.72ID:ZiekBGEQ
アセットおじさんって邪魔者扱いされる事に悦を感じるタイプ?
0068名前は開発中のものです。2014/12/12(金) 17:14:35.02ID:YI67Z0oG
ある、2Dの入門書を立ち読みしてたんだけど、中盤までは入門書によくある、ゲーム製作をやってたんだけど、最後の最後で、いきなりPlayerPrefsをListで丸め込んで、Systemクラスでセーブデータを一から制作するスクリプト組んでてワロタwww
0069名前は開発中のものです。 転載ダメ©2ch.net2014/12/12(金) 20:33:38.23ID:C+nwNaI5
2dゲーム作ってる人いたら聞きたいのだけど
Uguiが新しく出て、どこからどこまでSprite画像のままにして、どこからどこまでCanvasのイメージにした?
Uguiが自動で解像度とか調整してくれるみたいだから、ボタンだけじゃなくて全部Canvasのイメージにした方がいいかな?

今自作のUIだとゲーム画像もボタンもゲーム画像かボタンかで分けてるんじゃなくて、
シーン移動で消えていい画像と消えたら困る画像で分けてるから、そのままCanvasぶち込めた方が移行が気楽なんだよね・・・
0070名前は開発中のものです。2014/12/12(金) 20:46:27.07ID:Y1NXW6QA
スクリプトエディタって何使ってる?
ずっとSublimeText使ってたけどMonoDevelopが良くなったと聞いて一度試してみたけど
日本語の全角がEnterで確定するまで表示されないのが嫌で戻してしまった
0071名前は開発中のものです。2014/12/12(金) 20:58:57.94ID:4A7CjQ+r
>>69
アセットをかえば気楽ですよ
0072名前は開発中のものです。 転載ダメ©2ch.net2014/12/12(金) 21:18:23.72ID:C+nwNaI5
Spriteと違ってCanvas単位じゃないと描写順指定できないのが使いづらいな
描写順が違うゲームオブジェクトを子にできないやん・・・
0073名前は開発中のものです。2014/12/12(金) 21:19:00.53ID:DTUyPxVa
>>61
すみません、

>public readonly SomeCard card;

このフィールドは各カードのクラスですよね?
0074名前は開発中のものです。 転載ダメ©2ch.net2014/12/12(金) 21:51:20.65ID:C+nwNaI5
つかこれCampusポンポン作っていいのかな
カメラと連動してるから重くなりそうでこえーな
0075名前は開発中のものです。2014/12/12(金) 22:09:13.57ID:LAQX7U6J
今週からはじめた超初心者です。
入門の本を読みながらやっていますが、
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.GUI.Label (Rect position, UnityEngine.GUIContent content, UnityEngine.GUIStyle style)
UnityEngine.GUI.Label (Rect position, System.String text, UnityEngine.GUIStyle style)
DeathCounter.OnGUI () (at Assets/script/DeathCounter.js:21)
というのが大量に出てきました。ver4.6です。
コードは下のところになにかあるらしいのですが、よくわかりません。
どうしたら消せますか><

function OnGUI () {
if( deathCount >= 20 )
{
GUI.Label( Rect ( Screen.width / 2 -100, 250, 200, 80) , "GAME OVER" , style );←ここ
if( GUI.Button(Rect ( Screen.width / 2 -100, 200, 200, 30), "Go title" ))
{
Application.LoadLevel("title");
}
}
}
0076名前は開発中のものです。2014/12/12(金) 22:43:43.52ID:mm3wUm28
>>73
各カードのというかカード情報を保持した基底クラスかインターフェース
SomeCardなのは>>73が実装を公開しないのでfoo bar的な何かとしての表現
0077名前は開発中のものです。2014/12/12(金) 23:13:34.89ID:jvtIT3SK
SDUnityちゃんよかさ、3Dのほうの武器衣装はどうなったんだよクソUnityJapan
0078名前は開発中のものです。2014/12/12(金) 23:26:33.46ID:Pl1FDrto
>>75
4.6でレガシーなGUI使ってるからです。uGui使いましょう。
これまで出てるUnity参考書のUI関連の説明は今後一切使われない機能です。
0079名前は開発中のものです。2014/12/12(金) 23:55:35.20ID:DTUyPxVa
>>76
すみません、ありがとうございます
頑張ってみます
0080名前は開発中のものです。2014/12/13(土) 00:08:21.37ID:u/v5rIqC
>>75
やや説明不足。
GUIのStyle変数をしっかり宣言and代入した?

多分、入門書を写経してプログラミングの練習を兼ねてるんだろうけど、
ここで躓くようじゃあまりお勧めできない。
一度簡単な入門書でいいから、プログラミングの本を読むべき。
ただし、UnityScriptは、ほぼUnity独自言語なので、C#を練習するのをおすすめする。

まあ、>>78の通り、4.6からはunity uiがついたから、GUIクラスの仕様はあんまり覚えなくてもいい気はする。
0081名前は開発中のものです。2014/12/13(土) 00:20:40.01ID:oglOOFaz
結局NGUIとuGUIどっち使えばいいのか分からん
0082名前は開発中のものです。2014/12/13(土) 00:31:41.11ID:JHOLttqF
俺はNGUIがっつり使っちゃってるので、逆になかなかuGUIを評価するタイミングを作れなかったりしてます。リリース間隔をキープしたいもので。
まあ安定してるし、枯れたというのかな、トラブル対策は割とググれば出てくるので安心感はありますよ。
でも今からやるならuGUIでいいんじゃなかろうか。。標準じゃない技術はアセットストアモノとぶつかって技術的負債になるかもだし。
uGUIってTexturePackerも不要なのかな?なんかいろいろ依存減らせそうなんで年末年始あたりでuGUIを遊んでみたいです。
0083名前は開発中のものです。2014/12/13(土) 00:41:02.36ID:CFcCu7NT
2Dゲーム作ってるんだけど仕上がりのファイルサイズをなるべく小さくするには何をしたら効果的?
アセット以外の解決法教えて。
0084名前は開発中のものです。2014/12/13(土) 01:18:06.57ID:JHOLttqF
2Dでってことは、重いのは画像なんかな。TexturePackerは割と細かく画質指定できて詰め込めるので助かってるよ。有料だけど

音周りは最初に見直すべき。書き出し音質が低くていい効果音とか、そもそも末尾無音が余計に含まれてるフリー素材なんかは自前で削れる。ソフトなければとりあえずフリーのaudacityあたり入れれば対応可能

初期ダウンロード量が不満で、かつ自前サーバのあてがあるなら是非アセットバンドルも試してほしい。割と手軽に追加ダウンロードに逃がせる
収益の動線があるならAWSとか乱用きても屁でもないコストで済みますよ
0085名前は開発中のものです。2014/12/13(土) 01:35:55.74ID:k31GkvhA
>>83
アセットをかう以外の解決方法はないと思いますよ
0086名前は開発中のものです。2014/12/13(土) 01:49:30.10ID:p5N5n4vx
>>83
画像を小さくする、粗くする
プロ版を使う
0087名前は開発中のものです。2014/12/13(土) 01:59:54.52ID:VWU9dyGs
>>83
textureのimport設定を16ビットカラーとか圧縮テクスチャにする
soundのクォリティを下げる(ヘッドフォンで聴くと駄目さが目立つかもだけど)
演出などの外だし可能なテクスチャをWWWクラスでWebServerから読み込む
ステージデータを分割してAssetBundleに外だしにしておく
.netのライブラリがサブセットで足りるならsubsetの方にする(デフォルトはsubsetだったはず)
PluginsとかResourcesフォルダにいらないものが無いかチェックする

くらいじゃないかな?
0088名前は開発中のものです。2014/12/13(土) 03:33:13.17ID:pDmtf91S
>>70
C#なのでVisualStudioを使ってる
むしろVisualStudioがあるからC#を選択した
0089名前は開発中のものです。2014/12/13(土) 04:31:16.71ID:5QZmz8Ar
新PC買おうと思うんですけど、グラボはどの程度必要ですか?
今オンボでもそこそこって聞いたんで、オンボでもunityできるなら
それでいいかなと思ってるんですが
0090名前は開発中のものです。2014/12/13(土) 04:41:05.92ID:ufEVaM5G
Boo使ってる人はおらんの?
0091名前は開発中のものです。2014/12/13(土) 06:03:24.76ID:VWU9dyGs
>>89
作りたいものの表現に必要なグラボがあれば大丈夫
スマフォ開発に使うんならIntelの最新のオンチップでも平気だけど、良いグラボは有っても損しないんでとりあえず買っとけとしか。
0092名前は開発中のものです。2014/12/13(土) 10:23:29.79ID:h0vFOfRm
>>78
>>80
ありがとうございます!
4.6からなにか変わったのは見ましたが、参考書のは今後は参考にならないんですね
特にGUITextだかのとこですよね(・・)
C#の方をべんきょうします><
0093名前は開発中のものです。2014/12/13(土) 10:29:39.09ID:7rlX3LYX
Booは5で切捨てがきまっちゃったからなぁ…
0094名前は開発中のものです。2014/12/13(土) 11:01:50.08ID:eW3odmiH
Booイングの嵐だったな
0095名前は開発中のものです。2014/12/13(土) 11:32:57.06ID:NlTF0Oe7
>>92
c#の勉強は不要ですよ。アセットをかえばいけると思います
0096名無しさん@そうだ選挙に行こう2014/12/13(土) 13:04:00.20ID:wD+9JnNL
>>93
まじか。というか誰か使ってたのかアレ
存在意義が全く分からん
0097名無しさん@そうだ選挙に行こう2014/12/13(土) 13:35:11.58ID:VWU9dyGs
>>96
Booってpythonもどきなんか誰得って感じでしかない、metaclass挙動期待して使うとひどい目に遭う
UnityJSもJavascriptと同様のプロトタイプベースだと思って居る人が触ると結構ひどい目に遭うが単純なスクリプトならこれで十分だ

プログラムが苦手な人にC#は覚えにくいかもしらんが.net使うなら一番使いやすいんだよな、
んでもって駄目な人はあきらめるかBehavior DesiginerとかAntalesとかPlaymaker買えばいいんだ。

UnityにはClojureCLR導入希望とか言ってみるテスト
0098名無しさん@そうだ選挙に行こう2014/12/13(土) 15:46:13.14ID:LddFh83S
c#だけでいいよ
jsもだめ
0099名無しさん@そうだ選挙に行こう2014/12/13(土) 15:53:19.54ID:Ojiafx8P
アセットだけかえばいいと思いますよ
0100名無しさん@そうだ選挙に行こう2014/12/13(土) 16:05:02.20ID:hUqDxVaQ
Javaから入ってきた奴にもC#は馴染みやすいしな
0101名無しさん@そうだ選挙に行こう2014/12/13(土) 16:11:59.00ID:siH1hr2W
純正アセットのtps用キャラクターコントロールがエラー吐いてるんですが何が原因なんでしょうか。
スクリプトは弄ってなく、新しいプロジェクトで試しても同じエラー吐きました。
0102名無しさん@そうだ選挙に行こう2014/12/13(土) 16:17:08.48ID:VWU9dyGs
>>101
まずエラー内容を書こうや
0103名無しさん@そうだ選挙に行こう2014/12/13(土) 16:17:52.71ID:wD+9JnNL
C#だけ使えればいいよ
そのままVisualStudioで開いて編集できるし
→ Unity(゚听)イラネ
0104名無しさん@そうだ選挙に行こう2014/12/13(土) 16:20:22.16ID:VWU9dyGs
>>103
Unity使う理由はマルチプラットフォームだからなんだが
Windowsだけで良いならVSとC++で良くないか?

自分はどっちかつーとスマフォ向けしかやってないからPCでもデバッグできるだけで十分ありがたいんだけど
0105名無しさん@そうだ選挙に行こう2014/12/13(土) 16:22:34.99ID:siH1hr2W
>>102
すいません、たった今自己解決しました。
カメラのタグを設定し直したところ直りました。
まだ未熟でしてタグを使い分ける意味すら理解できてなかったので
0106名無しさん@そうだ選挙に行こう2014/12/13(土) 16:31:11.52ID:iD1rFMS7
なぜ使用言語の話になるんだ
MonoDevelopはちゃんと使われてるのか
そうでなければどんなエディタが使われてるのかが知りたかったのだが・・・
0107名無しさん@そうだ選挙に行こう2014/12/13(土) 17:02:49.66ID:ksgIVuYO
技術的な質問でもないし、どっちかっていうと総合スレ向きの話題だね。
0108名無しさん@そうだ選挙に行こう2014/12/13(土) 19:10:29.46ID:aYwSrjZb
>>105
SampleAssetBetaかな?
あれすごく使いやすいよね。

SampleAssetBetaのモデルサイズを小さくして、やってみたらすごく不安定な挙動をするは、だから俺は、ステージのモデルの方のサイズを合わせたが。

よく考えてみたらrigidbodyだから当然なんだろうけど、あのサードパーソンコントローラーのフィールドが未だにどう影響するかわからない。
0109名無しさん@そうだ選挙に行こう2014/12/13(土) 19:27:24.08ID:z+tiCzdl
スーパーマリオのようなアクションゲームで
耐久力のあるクリボーのような敵を作っています。

前進するクリボーにファイヤーボールを当てたとき、
クリボーがガクガク揺れながら、
それでも近づいてくるような演出をしたいです。

このとき、ガクガクの表現をpositionでやろうとしたのですが、
移動もpositionでやっていたため、
positionの変更がかちあってしまいます。

何か解決法方はないでしょうか。
0110名無しさん@そうだ選挙に行こう2014/12/13(土) 19:31:06.66ID:LddFh83S
y座標だけ値を与えればええんちゃうの
0111名無しさん@そうだ選挙に行こう2014/12/13(土) 19:36:29.34ID:z+tiCzdl
>>110
縦横にガクガクしたいです
0112名無しさん@そうだ選挙に行こう2014/12/13(土) 19:55:21.44ID:ufEVaM5G
>>93
そらショッキングだわ…
Pythonのインデント文法好きなんだよね
0113名無しさん@そうだ選挙に行こう2014/12/13(土) 20:03:05.74ID:DB8baQvw
スーパーマリオブラザーズは女性差別ですしセクハラですよ。
なんで、あんな酷いセクハラ作品が子供たちに大ぴらに売られているのでしょう?

まず、男二人が主人公で、捕まるのは女性。これは明らかに女性差別です。

主人公は女好きの象徴ともいえるイタリア人の男。これも子供の教育にはよくありません。

特に二人のあの鼻!!卑猥すぎます。子供が性犯罪オス原因の一つです。

そして敵がクリボーにノコノコ。これらはキノコに亀です。明らかに男性器を象徴しています。

それにクリボーってなんですか!!クリ○リスと棒を合体させた非常に卑猥なネーミングですよ。
パワーアップアイテムもそうです。キノコに花。これも男性器に女性器です。
しかも、大きくなるんですよ。勃起です勃起。子供には早すぎます。

あのスターってなんですか?よく男性の読むいかがわしい漫画で女性の乳首や性器を隠すのに用いられるのが星マークですが、それが逃げる、マリオが追いかける、
こういった姿は見せたくないものを無理やり剥ぎ取ろうとするレイプを連想させます。
あぁ、もう言い尽くせません。

大きくなったり、土管に入る、ブラックパックンフラワーなんて、
もう言うまでもない下品なキャラクターばかりのこの作品。
女性の地位向上を阻んでいますよ。皆さんもそう思いますよね?
0114名無しさん@そうだ選挙に行こう2014/12/13(土) 20:08:18.67ID:VWU9dyGs
>>109
一番簡単なのは
たぶん今はクリボーに制御スクリプトとスプライト着いてると思う。
其れを階層2個で表すようにして、制御スクリプト単体のゲームオブジェクトとその子供にスプライトイメージのゲームオブジェクトの親子関係にする
子スプライトオブジェクトにガタガタ揺らすスクリプトをつけておいて、ダメージ時だけスクリプトが有効になるように親から制御する。
0115名無しさん@そうだ選挙に行こう2014/12/13(土) 20:44:27.68ID:Ojiafx8P
>>109
キャラクターにいろんな動きをさせたいのならアセットをかうのが一番ですよ
0116名無しさん@そうだ選挙に行こう2014/12/13(土) 21:00:14.85ID:pHafisVb
スクリプト内で、cubeのプレハブにレンガのマテリアルを貼り付けて
Instantiateしてるんですが、InstantiateすればするほどDrawCallが増えていきます。
色々なサイトにResources.Loadを使用すればDrawCallは増えないと書いてあったので、
その通りにしているつもりなのですが。
どうにかしてDrawCallを増やさないようにできないでしょうか?

コードは下記の通りです。

for (int i=0; i<100; i++) {
var obj = Instantiate (this.WallCubePrefab) as GameObject;
obj.transform.renderer.material = Resources.Load("Materials/wall01") as Material;
}
0117名無しさん@そうだ選挙に行こう2014/12/13(土) 21:12:42.90ID:siH1hr2W
皆さんってタイトルだけでシーンにしてますか。
それともゲームのシーンにタイトルを表示させてるだけですか。
0118名無しさん@そうだ選挙に行こう2014/12/13(土) 21:20:06.66ID:LddFh83S
ん?
0119名無しさん@そうだ選挙に行こう2014/12/13(土) 21:42:57.79ID:eW3odmiH
>>109
クリボーの座標用の変数を作る(変数A)
クリボーの移動(移動だけで揺らさない)は変数Aを操作する
クリボーオブジェクトの実際の移動は変数Aを参照する
振動する際は変数A+振動で処理する(変数Aに振動分は加算しない)
大体こんな感じで移動と振動を分けて処理できる
あとはやりやすいようにアレンジすればいい

>>117
ゲームの規模によるし処理の仕方による
タイトルで特別なことをやらないならば分けた方がいいんじゃない?
0120名無しさん@そうだ選挙に行こう2014/12/13(土) 21:56:05.84ID:yjLBOHqb
cameraで画面に表示する際の描写に関して質問です
MainCameraとは別にcameraを用意して、

□mainCamera…主画面
■camera…バックミラーのような別画面を小窓で表示する

〜画面〜

□□■←cameraの表示
□□□
□□□←MainCameraの表示


という風な画面の設計にしています。
このcamera■の部分を半透明にして、下に隠れているMainCameraの映像を表示させたいのですが、Inspectorの項目を見ても操作出来そうになく悩んでいます。
pro版ではRenderTexturを使用することで実現できるようですが、無料版でスクリプトを書くことで実現することは出来ないでしょうか。
0121名無しさん@そうだ選挙に行こう2014/12/13(土) 22:19:27.51ID:Ojiafx8P
>>120
カメラを別々に扱いたい時は、アセットをかえばいいと思いますよ
0122名無しさん@そうだ選挙に行こう2014/12/13(土) 22:48:04.76ID:VWU9dyGs
>>116
後からMaterialをResource.Loadで貼り付けてるから別の(newされたMaterial)になってる
Prefab自体にあらかじめマテリアルをつけておけば同じ参照を持つようになる。
0123名無しさん@そうだ選挙に行こう2014/12/13(土) 23:44:01.83ID:eW3odmiH
>>120
作りたい絵の状況は想像できるけど簡単には無理だろうね
半透明にしたオブジェクトを子にしてそれを別レイヤーに設定すれば半透明で合成できるけどぐちゃぐちゃになるしね…
白とかを重ねて各オブジェが発光してるような効果を付ければ求める表現に少しは近づくかもしれないね
できるならゲームの設定を変えて半透明じゃなくても違和感無いようにした方がいいんじゃない?
01241162014/12/14(日) 00:47:52.16ID:uXGnrAMa
>>122

ttp://tokyo.supersoftware.co.jp/code/1189

上記ページに
Resource.Loadを使用し、且つInstantiateを使用しなければ
Materialの実態を1つに保つことが可能と記述してあるのですが、
間違いでしょうか?

なお、Prefab自体に予めMaterialを付けてもダメでした。
もしかしてStaticにチェック入れないとバッチングされない??
0125名前は開発中のものです。2014/12/14(日) 01:03:23.16ID:Jmgvm1+3
>>124
使い回したいんならforループん中でリソースロードしたらダメかと
先に変数にロードしといて代入だけにしたらどうですか
0126名前は開発中のものです。2014/12/14(日) 01:08:13.15ID:PSIwH7L8
>>120
右上のカメラの表示をだな、1フレームごとにオンオフすれば半透明っぽく見えないこともないかもしれない・・・
0127名前は開発中のものです。2014/12/14(日) 01:58:58.55ID:3/mBLENb
>>114
>>119
オブジェクトを入れ子にするか、
positionを移動用、表示用二つ用意するしかなさそうですね。

ありがとうございます。
0128名無しさん@そうだ選挙に行こう2014/12/14(日) 03:05:10.21ID:728trdVQ
Enumを他のコンポーネントのクラスで使う場合はどうしたらいいですか?
例えばアイテムの種類を判別するために、enumを定義してない別のコンポーネントのメソッドに引数で渡したいと考えてます。
enumを定義したクラスでenum型は作れたのですが、publicにしても呼び出せないのでしょうか?
0129名無しさん@そうだ選挙に行こう2014/12/14(日) 03:19:10.71ID:v71vNirD
>>128
アセットをかえば解決しますよ
0130名無しさん@そうだ選挙に行こう2014/12/14(日) 03:21:44.86ID:DHXImQd8
そのクラス.enume型 識別子;
みたいに使えなかったっけ?
っていうか、Unityの話じゃないよなこれw
0131名無しさん@そうだ選挙に行こう2014/12/14(日) 04:34:29.84ID:2iGreumT
>>116
このコードのマテリアルを貼ってる行をコメントアウトすると本当にDrawCall減る?
もしかしたら別の要因で増えてる可能性もあるのかなと思った
0132名無しさん@そうだ選挙に行こう2014/12/14(日) 06:34:51.18ID:bIE5hAWx
なんだこのスレは・・・初めて見たけどアセットを(ryばっかりで吹いてしまった
01331162014/12/14(日) 08:29:29.05ID:uXGnrAMa
>>125
for文の外にResources.Loadを移動しても結果変わらずでした。

var mat = Resources.Load("Materials/wall01") as Material;
for (int i=0; i<100; i++) {
var obj = Instantiate (this.WallCubePrefab) as GameObject;
obj.transform.renderer.material = mat;
}

>>131
プレハブ自体のマテリアルにあらかじめ"Materials/wall01"のマテリアルを設定しておき、
for文内のマテリアル貼ってる行をコメントアウトしても結果変わらずでした。

for (int i=0; i<100; i++) {
var obj = Instantiate (this.WallCubePrefab) as GameObject;
// obj.transform.renderer.material = Resources.Load("Materials/wall01") as Material;
}

プレハブのstaticチェックをONにしたところ、
DrawCallが200から30くらいまで一気に減りましたが、
staticにはしたくないので、いまいちです。

マテリアルのシェーダって関係あるのかなと思い、
Self-Illumin Parallax Specular から diffuse に変えてみましたが
変化なしでした。
0134名無しさん@そうだ選挙に行こう2014/12/14(日) 10:17:40.08ID:v71vNirD
>>133
アセットをかえば問題解決すると思いますよ
0135名無しさん@そうだ選挙に行こう2014/12/14(日) 11:07:01.50ID:gPK3+jGL
アセットすすめるなら質問に沿った物のURL貼ってくりー
0136名無しさん@そうだ選挙に行こう2014/12/14(日) 11:13:23.83ID:2iGreumT
>>133
いや、そうではなくマテリアルを一切貼らないことで
原因がマテリアルにあるのか、プレハブにあるのかを切り分けたかったのよ
0137名無しさん@そうだ選挙に行こう2014/12/14(日) 11:46:45.51ID:ZflZLQ3r
>>135
要望に沿った物のURL貼っちくりー
0138名無しさん@そうだ選挙に行こう2014/12/14(日) 12:26:04.27ID:wvs/UOoX
>>133
Drawcallを減らす事ができるアセットをかえばいいのではないでしょうか
0139名無しさん@そうだ選挙に行こう2014/12/14(日) 16:43:28.39ID:u8/kuIOL
そういえば、フリーのunityでもvideoテクスチャが使える無料アセットがあるで、
必要な人は使ってみーや
0140名無しさん@そうだ選挙に行こう2014/12/14(日) 16:44:34.53ID:Yypij2ZP
unityは四角メッシュ使えませんか?Meshクラスを見ても三角メッシュで代用しなければならないようなので困っています。
0141名無しさん@そうだ選挙に行こう2014/12/14(日) 17:34:42.27ID:UR8ROkKv
困るもんなのか?
普通はメッシュといったら三角だけだと思うが
何のソフトか知らんが四角メッシュだって内部的には三角で処理されてると思うぞ
0142名無しさん@そうだ選挙に行こう2014/12/14(日) 17:42:25.37ID:eEMc3sFU
4角メッシュを取り扱うツールの方が少ない。

別になくても困らないし、3角メッシュが仮に使えなくなる方が圧倒的に不便
0143名無しさん@そうだ選挙に行こう2014/12/14(日) 17:53:48.77ID:TBkx5nLD
おぬぬめの金属シェーダーおすえて
0144名無しさん@そうだ選挙に行こう2014/12/14(日) 18:08:43.77ID:wvs/UOoX
>>140
アセットをかえば四角メッシュも使えると思いますよ
0145名無しさん@そうだ選挙に行こう2014/12/14(日) 18:16:47.77ID:eEMc3sFU
>>143
assetstore言ってこい
0146名前は開発中のものです。2014/12/14(日) 20:35:18.04ID:ujABnizn
>>140
何がどう困るの?
自動で三角に変換されて困った事一度もないけど?
0147名前は開発中のものです。2014/12/14(日) 20:38:41.21ID:ZflZLQ3r
彼は三角メッシュじゃないと精神が不安になってしまうのだよ
0148名前は開発中のものです。2014/12/14(日) 20:39:07.68ID:ZflZLQ3r
三角じゃなく四角か
01491162014/12/14(日) 21:38:25.35ID:uXGnrAMa
>>136
マテリアル一切貼らずにチャレンジしてみました。
結果としては、状況変わらずDrawCallが増加しました。

ということは、プレハブが原因ですかね。
Cubeをプレハブ化してるだけなんですが。。。
0150名前は開発中のものです。2014/12/14(日) 21:53:48.32ID:TPWhtJ0u
プレハブはソースの上の方で一度Resources.Load("WallCubePrefab")してるだけじゃないの?
そこは関係ないような。
■ このスレッドは過去ログ倉庫に格納されています