トップページgamedev
9コメント9KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2013/12/22(日) 01:46:52.67ID:Mc3nIazw
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

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

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

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0002名前は開発中のものです。2013/12/22(日) 01:59:47.17ID:Mc3nIazw
UniqueUnityUsers

1、Hiroki Omae FF14、Dota系、タワーディフェンスなど様々なゲームを製作 Game Jam主催者
https://twitter.com/pigeon6
2、GameP-HiRo 「じんどろ」 http://www.youtube.com/watch?v=xjSyu88GSZY  お絵かきマルチプレーRTS
https://twitter.com/HiRoGameP
3、Unity仙人  海外のゲーム製作に携わる 海外ゲーム開発者
https://twitter.com/lucifuges
4、TreeBoa じんどろプロゲーマー審査機構JPO
https://twitter.com/treeboa2
http://www.youtube.com/watch?v=C3OFrAFXfPM&;feature=plcp
0003名前は開発中のものです。2013/12/23(月) 01:46:04.59ID:yJ6wlnFa
TreeBoa晒し上げ
0004名前は開発中のものです。2013/12/23(月) 06:39:18.73ID:r/IB6YQf
スクリプトで作成した3Dテキストのメッシュレンダラーの中の
Materials内にあるElement 0を「Font Material」にしたくて下記のように書いたんですが
設定されずに無視されてしまいます、どこが悪いかお分かりの方よろしくおねがいします

GameObject myTextObject = new GameObject ("3DText");
myTextObject.AddComponent ("TextMesh");
TextMesh textMeshComponent = myTextObject.GetComponent<TextMesh> ();
MeshRenderer meshRendererComponent = myTextObject.GetComponent<MeshRenderer>();
meshRendererComponent.materials = new Material[1];
meshRendererComponent.materials[0] = new Material(Shader.Find("Font Material"));
textMeshComponent.text = "text";
0005名前は開発中のものです。2013/12/23(月) 09:47:05.23ID:yJ6wlnFa
>>4
考えられるのは"Font Material"って<<シェーダ>>がプロジェクトに入っているかどうか。
自前のshaderであれば
yourShaderSource.shader ファイルに
Shader "Font Material"
と書いてある部分の文字列が Shader.Find("Font Material")
の引数と一致してるかどうか

そもそもshaderにMaterialとか名前つけてる時点で混乱が起きてると思うぞ
0006名前は開発中のものです。2013/12/23(月) 14:56:42.16ID:r/IB6YQf
>>5
ありがとう、ございます
とりあえずややこしい名前をやめて「shaderZOn」にして

meshRendererComponent.material = new Material(Shader.Find("shaderZOn"));

という書き方にすることで適用することができました。

ただこれ、文字幅の矩形がベタ塗りされるだけで、文字としてくりぬいてくれません。
検索しても3Dテキストを一から自前生成する方法はあまりヒットせず。
どなたかアドバイス頂けますでしょうか

フォントのTTFファイルはAssets/fontディレクトリに置いて
myFont = (Font)Resources.Load ("Arial");
〜〜
textMeshComponent.font = myFont;
と設定してます
Unityバージョンは最新、NGUIは使ってません

シェーダーは作った3DテキストのZ値を調整するために、これをそのまま使ってます
http://answers.unity3d.com/questions/22555/change-manually-guitextstext-color.html

参考
http://unityrakku.blog.fc2.com/blog-entry-13.html
0007名前は開発中のものです。2013/12/23(月) 22:37:24.26ID:r/IB6YQf
あれこれ変更してみて推測。
どうやらフォントはメタデータとして「Font Material」っていうマテリアルを持っていて
それを3DTextオブジェクトのElementに設定しないとダメっぽいです

とりあえずarialフォントの場所をAssetsのResourcesフォルダに変えて

meshRendererComponent.materials = new Material[1];
meshRendererComponent.materials[0] = (Material)Resources.Load ("arial");
meshRendererComponent.material.shader = (Shader.Find("shaderZOn"));
textMeshComponent.font = (Font)Resources.Load ("arial");

みたいに書いて実行してインスペクタを見ると、やっぱElementのとこにFont Materialが入らなくて
Default-Deffuseになってしまいます…
他は一応インスペクタ上では設定できてるみたいです
0008名前は開発中のものです。2013/12/24(火) 00:05:38.34ID:JjDXPmgk
できた
連休中にできてよかった…
0009名前は開発中のものです。2013/12/24(火) 18:46:13.44ID:q8bxQDw1
12月24日の午後9時から翌25日の午前3時までの6時間は
1年間で最もセックスをする人の多い「性の6時間」です。

貴方の知り合いや友人ももれなくセックスをしています。
普段はあどけない顔して世間話してるあの娘もセックスをしています。
貴方が片想いしているあの綺麗な女性もセックスをしています。
貴方にもし年頃の娘さんや姉・妹がいて、いま家にいないのでしたら間違いなくセックスしてます。
貴方と別れたあの娘も貴方がその娘にやってきたことを別の男にやられています。
貴方の将来の恋人や結婚する相手は、いま違う男のいちもつでヒィヒィ言っています。
すべてを諦めましょう。そして、ともに戦いましょう。
■ このスレッドは過去ログ倉庫に格納されています