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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/05/08(木) 08:44:31.15ID:3QHRiisF
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

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

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

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

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

■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名前は開発中のものです。2014/05/08(木) 08:45:09.24ID:3QHRiisF
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名前は開発中のものです。2014/05/08(木) 08:45:47.13ID:3QHRiisF
Unityで作るスマートフォン3Dゲーム開発講座 Unity4対応←mecanim対応はこれだけ。
http://www.amazon.co.jp/gp/product/4798126195/

Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~←ちょい古い
http://www.amazon.co.jp/gp/product/4797365331/

Unityではじめるゲームづくり←ちょい古い
http://images.amazon.com/images/G/01/richmedia/images/cover.gif
http://www.amazon.co.jp/gp/product/4797367725/

Unityライブラリ辞典 ランタイム編←英語が読めない奴は必須な。
http://www.amazon.co.jp/gp/product/4877832858/

プログラミングC# 第6版←やさしいC#の方がいいかも。
http://www.amazon.co.jp/gp/product/4873115175/
0004名前は開発中のものです。2014/05/08(木) 08:46:57.56ID:3QHRiisF
立てたよ
【3Dゲームエンジン】Unity質問スレッド9
http://toro.2ch.net/test/read.cgi/gamedev/1399506271/
0005名前は開発中のものです。2014/05/08(木) 08:48:08.35ID:3QHRiisF
いきなり誤爆したわw
0006名前は開発中のものです。2014/05/08(木) 09:28:02.26ID:O/Tpi+Qf
(誤爆も含めて)おつ
0007名前は開発中のものです。2014/05/08(木) 11:14:46.96ID:ymMQN2Ep
>>1
0008名前は開発中のものです。2014/05/08(木) 13:04:26.13ID:mjizF8+L
>>1

今年の分の隔離施設おつ


ttp://mimizun.com/log/2ch/mental/1140179016/
0009名前は開発中のものです。2014/05/08(木) 13:45:04.18ID:wJDFFJYB
NGUIの有料版使ってる人にお聞きしたいんですが
1枚の画像から複数のスプライトを取り出すことって簡単にできますか?(古いバージョンにあったnew spriteボタンのような)

あとスプライトの切り出し範囲(左上端の座標および切り出しサイズ)を数値入力以外にも指定する方法はありますか?
画像上をドラッグして範囲を決めたり
0010名前は開発中のものです。2014/05/08(木) 13:56:11.65ID:ymMQN2Ep
>>9
既存のAtlas化済み画像から個別のスプライトをGUIの領域指定で再定義したいって事なら無理
Unityの方のSprite機能でSprite定義ならそういう機能はある、使い方はpng等のimportした画像の設定を
Texture Type ->Sprite
Sprite Mode -> Multiple
にしてSpriteEditorボタンで領域指定してTrimして行く
これで作ったspriteはNGUIのUnity2DSpriteでNGUI Widgetとして使える
0011名前は開発中のものです。2014/05/08(木) 14:02:33.78ID:wJDFFJYB
>>10
Unityにスプライト機能が標準で搭載されていたとは・・・!
教えていただきありがとうございます これでGUI作成が進められます
0012名前は開発中のものです。2014/05/08(木) 15:03:53.83ID:wJDFFJYB
Spriteに分けられるならば無料版のNGUI2.7でも可能だろうと思っていましたが
Unity側で分けられたSpriteをNGUI側でも認識できるのは有料版のみなんでしょうか?

Sprite設定を行ったpngをAtlasMakerに読み込ませても親のpngのみ選択可能になります
0013名前は開発中のものです。2014/05/08(木) 16:11:44.42ID:yfMSPJbS
超初心者なんですが3Dモデルの内部データやテクスチャデータを編集しにくい形で
第三者にひとまとめにして渡すことは可能ですか?
0014名前は開発中のものです。2014/05/08(木) 16:34:23.30ID:IFZS+jKA
それはUnityの話じゃねぇw

max,ma,mb,blendとかのそのソフトネイティブの形では渡さない、
以外の方法はないよ。
FBXじゃ編集されちゃうっていうなら無理としかいえない。
テクスチャはjpgみたいな不可逆で渡すくらい。

ゲームエンジンがそのデータを解析して使える以上
それを編集させないなどということはあり得ない。
0015名前は開発中のものです。2014/05/08(木) 16:47:19.69ID:ymMQN2Ep
>>12
Unity4対応のNGUIじゃないと駄目なのでフリー版だと使えない>>Unity 2D Sprite Widget
0016名前は開発中のものです。2014/05/08(木) 17:14:15.46ID:kDxMxoJz
キャラにアタッチしたスクリプトの中でUpdateが一回呼ばれる間に、
OnCollisionStayが11回も呼ばれるんだけどこれはこういう仕様なの?
OnCollisionStayは11倍の速度で動く、みたいな

ヒットしてるのは全部床
0017名前は開発中のものです。2014/05/08(木) 17:27:09.23ID:IFZS+jKA
公式のリファレンスによれば1フレームに1回呼ばれる

ttp://docs.unity3d.com/Documentation/ScriptReference/MonoBehaviour.OnCollisionStay.html
OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.
0018名前は開発中のものです。2014/05/08(木) 17:28:00.64ID:yfMSPJbS
>>14
Unityアセット形式(拡張子)みたいなのがあるといいなって思ったんですが無いんですね・・・
逆に言えばアセットストアのモデルはすべて生データ触れるんですね
ありがとうございました
0019名前は開発中のものです。2014/05/08(木) 18:07:58.35ID:wJDFFJYB
>>15
ありがとうございます
便利で長く使っていけるAssetみたいなので購入を考えてみます
uGUIの話もとんと聞かなくなりましたし・・・
0020名前は開発中のものです。2014/05/08(木) 18:15:57.33ID:UD6dL3TY
>>17
なるほど、では子オブジェクトにつけた複数のコライダーのHITを各々検出してるということになりますね
親にrigidbodyをつけるとコライダーは擬似的に合体して、衝突としては一つのコライダーとして扱われてるのかと思ってました

勉強になりました
0021sage2014/05/08(木) 20:02:49.92ID:eoii56Pp
はじめまして。unityでゲームを作っています。
Androidでメニューボタンを押下したときに、
ActivityのonCreateOptionsMenu(Menu menu)でメニューを表示させたいのですが、
どうにも上手く出来なくて困っています。
UnityPlayerNativeActivityを継承したクラスを作り、
onCreateOptionsMenuをオーバーライドし、
jarファイルとAndroidManifest.xmlをPlugins/Androidの下に配置して
いけるかと思ったのですが・・・。
unityではonCreateOptionsMenuは使用できないのでしょうか?
何か解決策等ありましたら教えてください。よろしくお願いします。
0022名前は開発中のものです。2014/05/08(木) 20:46:25.33ID:ymMQN2Ep
google:unity3d android onCreateOptionsMenu
幾つか答えが掲載されてた
メニューボタンでAndroidのMenu操作コードを実行したいのならこの辺
ttp://forum.unity3d.com/threads/98315-Using-Unity-Android-In-a-Sub-View
単純にメニューボタンをハンドリングしておきたいだけ(GUIをUnityで作ったりとか)ならこの辺り読めばいけそう
ttp://stackoverflow.com/questions/20232878/androids-menu-button-in-unity3d-apps
0023名前は開発中のものです。2014/05/08(木) 22:05:36.37ID:DAok8Z1E
windows8環境で、メニューからアセットストアを選んでも反応がない。
ビルド設定画面まで出なくなってしまった。
エラー表示等もなし・・・
0024名前は開発中のものです。2014/05/08(木) 23:35:22.94ID:e9Za/Z97
Animatorコンポーネントをスクリプト制御しようと思っているのですが、
スクリプト側でPlayメソッド用いて指定アニメの再生が出来て
GetCurrentAnimatorStateInfoで得られるnormalizedTimeで
アニメーションの進行状況が確認出来るとこまでは分かったのですが、
アニメーションを停止させるにはどうすれば良いでしょうか?
speedを0にすると止まりはするものの、内部的な処理は行われてるのか
Spriteに対して直接カラー設定しようとしても色が変わらず悩んでます。
(Animatorをオフにするとカラー設定反映されてるのでAnimatorが何かしら干渉してるのだと思ってます)
0025名前は開発中のものです。2014/05/09(金) 00:39:01.31ID:mHKGxDol
>>22
返事ありがとうございます。
やりたいこととしては前者で、
URLまで載せて頂いたので、独力で頑張ろうと思ったのですが、
英語が分からなくて挫折してしまいました(申し訳ないです)。
unityのBuildSettingsでGoogleAndroidProjectにチェックをいれて、
eclipse用にexportし、srcフォルダ内にあった
「UnityPlayerNativeActivity.java」を参考にして色々いじっていたのですが、
onCreate(Bundle savedInstanceState)内で、setContentView(playerView);を行うと
メニューが出なくなっているようでした。
かといってコメントアウトするとunity上で作成した画面自体が表示されなくなってしまうので
削るわけにもいかず・・・。
恐らく当方、見当違いのことをやっているのかもしれません。
もし宜しければ、詳しく解説頂けると幸いです。
0026名前は開発中のものです。2014/05/09(金) 01:32:01.21ID:L3zQBn//
>>24
Animatorを切るしかないんじゃないか?
Speedを0にしても値が変化しなくなるだけで
AnimatorがEnableである限りその値を書き続けるはず。
0027名前は開発中のものです。2014/05/09(金) 04:26:00.18ID:zbhmQ9KK
OnCollisionEnterで返ってくるCollision情報から、
衝突したアチラのゲームオブジェクト名は取得できますが、
コチラの何というゲームオブジェクトと衝突したかはどうやって取得したらいいんでしょうか
0028名前は開発中のものです。2014/05/09(金) 05:19:14.05ID:L3zQBn//
OnCollisionEnterは「この」コリダー/リジッドボディが他のリジッドボディ/コリダーに接触し始めた時に呼ばれる。
ttps://docs.unity3d.com/Documentation/ScriptReference/Collider.html
OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
名前が欲しければnameで取れる
0029名前は開発中のものです。2014/05/09(金) 06:07:59.15ID:zbhmQ9KK
>>28
うーん、「この」ゲームオブジェクトにはRigidbodyはつけてるもののColliderはつけてないんですよ
子オブジェクトにあれこれとColliderをつけていてどれが当たり元なのかがよくわからないというのが話の骨子で。
キャラの五体のボーンの中にそれぞれ単純な形態(BoxColliderとか)のコリダー付ゲームオブジェクトを入れ込んだり…しますよね?

で、こちら側の「どの」ゲームオブジェクト(右腕なのか左足なのかとか)に当たったのかを名前等で知りたかったんです。
0030名前は開発中のものです。2014/05/09(金) 08:18:17.64ID:jfMPaAIY
仮面ノリダーだの化石ホリダーだのと・・・
0031名前は開発中のものです。2014/05/09(金) 09:39:54.99ID:QFcwuWjE
>>29
子オブジェクトそれぞれにRigidbodyつけて、親とJointで連結するばいいのでは
個別に判定できるようになるから、後は親オブジェクトに通知するなりヒットフラグを立てるなりお好みで
0032名前は開発中のものです。2014/05/09(金) 10:30:37.08ID:L3zQBn//
>>29
あ〜、なるほど。同時に二つのコリダーに接触してる場合もありえるので
適切かどうかはわからんが

void OnCollisionEnter(Collision col){
string a = col.contacts[0].thisCollider.name;
swicth(a)
case "hoge":

}

とかはあり得そう。
contactsの配列がどう生成されるのかよくわからんので
どの要素をとるべきなのかとかはちょっとわからん。
>>31の言うように子供につけて通知の方が確実ではあるよなぁ
0033名前は開発中のものです。2014/05/09(金) 12:05:01.51ID:zbhmQ9KK
>>31
>>32
ありがとうございます!
同じところで詰まっていたので助かります
今試せないので夜に試してみますねー
0034名前は開発中のものです。2014/05/09(金) 20:38:02.07ID:LXM3F8c4
Resourceにあるhtmlをもっとも簡単に表示する方法教えて。
0035名前は開発中のものです。2014/05/09(金) 22:14:58.35ID:YTw2sslt
前のXPからwindows8の新しいPCに入れ替えたのですが、
下記エラーが出たり出なかったりします

NullReferenceException: Object reference not set to an instance of an object
hogeMotion.hoge (System.String s) (at C:/Documents and Settings/hoge/My Documents/Test/Assets/hogeMotion.cs:185)

前のPCでも稀に出てたんですが再起動したら直ってたので放置してました

これだけだと情報が少なすぎて何のこっちゃわからんと思われるでしょうが
問題は上記エラーの絶対パスアドレス、これは前のPCのものなので新PCでこれが表示されるのはおかしいですよね?
これを直す方法があれば教えていただけたら

気持ち悪いのは、このhogeMotion.cs自体は上記パスは間違ってるものの一応ちゃんと読み込まれてある程度動作してるんです

ちなみにこのエラー箇所は、アニメーションイベントにつけた呼び出し関数のところで
この関数の中からさらに別のゲームオブジェクトにつけた関数をsendMessageで呼んでます
0036名前は開発中のものです。2014/05/09(金) 23:11:39.18ID:hbFTmLk6
メッシュ同士の加算減算(ブーリアン?)は可能なんでしょうか
あるオブジェクトのメッシュから別の非表示メッシュの形状を切り抜きたいのですが
■ このスレッドは過去ログ倉庫に格納されています