【3Dゲームエンジン】Unity質問スレッド10
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/06/26(木) 23:02:03.72ID:t35CWy1RWindows/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質問スレッド9
http://peace.2ch.net/test/read.cgi/gamedev/1399506271/
■本スレ
【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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0582名前は開発中のものです。
2014/07/18(金) 21:53:23.43ID:/oNhM106アセットを買うとできると思いますよ
0583名前は開発中のものです。
2014/07/18(金) 22:17:57.70ID:PvmDoNWL皆さんありがとうございます!
やはりblender一択ですか・・・
地道に使い方を覚えるとします!
ありがとうございました!
0584名前は開発中のものです。
2014/07/18(金) 23:04:43.99ID:DtLEcxCaMicrosoftのsurfaceProでunityを使ってる人はいますか?
使用感を教えて欲しいです
0585名前は開発中のものです。
2014/07/18(金) 23:32:46.68ID:DtLEcxCa0586名前は開発中のものです。
2014/07/19(土) 00:03:30.09ID:5QLuHNxhrest positionとpose positionの話しならずっとpose positionでした
0587名前は開発中のものです。
2014/07/19(土) 00:49:47.88ID:MrfyLpS8描画とゲームロジックは分離させることはできますか?
プロトタイプとして、今CUIでコマンドを打ってゲームをするような感じにしているんですが、
それをUnity側と接続させるうまい方法というか、
イメージがあればお聞かせください。
0588名前は開発中のものです。
2014/07/19(土) 01:08:08.03ID:bXbU1jhLロジックの入出力部を別に作ればいいんじゃね?
0589名前は開発中のものです。
2014/07/19(土) 01:37:52.43ID:MrfyLpS8また、盤面上にある駒(Unity側)とロジックが持っている駒の位置情報などはどういって結びつける感じですか?
0590名前は開発中のものです。
2014/07/19(土) 02:00:43.94ID:x9+tGG3Z大枠のGamePlayスクリプトを作ってそのGamePlayにコマのゲームオブジェクトを持たせる
GamePlayがターンなどのゲームの流れを管理して個々の駒にメッセージを
送るなりコマのスクリプトにアクセスするなりして動かす
というのでどうか
0591名前は開発中のものです。
2014/07/19(土) 02:11:36.63ID:bXbU1jhLそれを3D上の座標に変換して描画オブジェクトの駒を動かしてやる機能をつくればいい。
入力はどうしてるのかわからんけどどの駒をどの位置に動かす、って関数はきっとあると思うので
動かした駒とその位置をロジックで使っている形に変換してその関数に渡せばいい。
処理を軽くするようにするならCOM側が手を打ったならその情報だけを
変更情報として渡すようにしてやるとかありえるけど一番単純なところでいえばそんなところじゃない?
そういう構造ならCUI用のロジックはほぼ変換いらんでしょ?
0592名前は開発中のものです。
2014/07/19(土) 02:31:59.17ID:dH/4qyVd0593名前は開発中のものです。
2014/07/19(土) 02:49:04.82ID:vP5ff9W/ここであえてmmdといってみる
0594名前は開発中のものです。
2014/07/19(土) 03:01:13.63ID:dH/4qyVd0595名前は開発中のものです。
2014/07/19(土) 03:23:19.52ID:e/afiuZHアセットを買えばいいと思うけど、どうかなあ?
0596名前は開発中のものです。
2014/07/19(土) 03:46:14.91ID:zFiOj//f問題なく分離できるが?
Threadベースでも何でも良いんじゃないのとしか言えない。
0597名前は開発中のものです。
2014/07/19(土) 04:03:56.44ID:dP02e2t2というように1シーン内に複数のloadlevelがある場合、例えば
シーンA内の家1に入る → 家1から出る → キャラクターはシーンA内の家1の前に表示される
シーンA内の家2に入る → 家2から出る → キャラクターはシーンA内の家2の前に表示される
という感じで同じシーンの複数の特定場所に分岐してオブジェクトを表示させるには
どうしたらいいでしょうか?
0598名前は開発中のものです。
2014/07/19(土) 04:04:57.86ID:e/afiuZHいいアセットがありますよ。アセットストアで検索しましょう
そして、かいましょう
0599名前は開発中のものです。
2014/07/19(土) 04:28:28.93ID:vP5ff9W/面倒くさいけどシーン変更後の保持ようオブジェクトに、キャラクターの位置か、フラグで場所を特定するのが一番かな?
ただ、3Dゲームなら家の中も一つのステージでまとめた方がいいと思う。
何度も頻繁にシーンチェンジするのはNPCの位置保持とか、フラグ管理の手間と、レスポンスの悪さが目立つかと
0600名前は開発中のものです。
2014/07/19(土) 04:36:22.98ID:bXbU1jhLそれ一々ロードレベルしないとだめ?
同じレベルに作っといてフェイドで移動しちゃえば?
家に入った時別シーン(的)になるのは屋外マップと
屋内マップでスケールが違うからであって
同じレベルに作っとけばいいじゃん。
まぁどうしてもロードレベルしたいなら
管理用のオブジェクトをDontDestroyOnLoadにでも
しとけばいいとは思うけど。
ttp://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html
0601名前は開発中のものです。
2014/07/19(土) 08:00:34.25ID:MrfyLpS8ありがとうございます。
なんとなく分かった気がします。
そこらへんって、インターフェース、アダプター、デリケート、コールバック
とか呼ばれるものを利用するんですかね?
ここらへんが難しいです。
勉強しよう。
0602名前は開発中のものです。
2014/07/19(土) 08:22:57.26ID:bXbU1jhL使わなければできないとも思えないけど使えるだろうし
使えば便利なことは多いだろうな〜と思う。
0603名前は開発中のものです。
2014/07/19(土) 09:00:41.34ID:bXbU1jhLこの辺とかか?
ttp://docs.unity3d.com/Manual/PublishingBuilds.html
モバイル系はわからんけどMac版だと一ファイルに、PC版だと
exeとデータフォルダがいる、とか書いてあるな。
0604名前は開発中のものです。
2014/07/19(土) 11:32:07.14ID:wERfnOIb0605名前は開発中のものです。
2014/07/19(土) 12:11:07.92ID:zFiOj//fApplicationName.appはフォルダーや
0606名前は開発中のものです。
2014/07/19(土) 12:30:09.09ID:3Tb1kqQUggればいいと思うよ
0607名前は開発中のものです。
2014/07/19(土) 12:35:27.89ID:q4gzDzqN0608名前は開発中のものです。
2014/07/19(土) 16:58:27.80ID:dP02e2t2ありがとうございます。
それをまず考えたんですが、
家1に入ったらフラグ1を立ててpositionをxxに、
家2に入ったらフラグ2を立ててpositionを○○に・・・
とする事になると思いますが、家などシーン変更のポイントが多いと
分岐も膨大になりますよね
なので、他に手段はないかな、と思って質問させて頂きました
でもやっぱりloadlevelするのであれば、こう処理するのがセオリーですよね
>>600
その方法は全く思いつきませんでした。
同一シーンの離れた場所に町フィールド、家1の中、家2の中などを作り
フェード中に行きたい場所のpositionにキャラクターオブジェクトを移動させる、
という事ですよね?
明らかにこの方法の方がよさそうなので、やってみます
ありがとうございました。
0609名前は開発中のものです。
2014/07/19(土) 17:29:02.70ID:zFiOj//f普通に家の中を作り込んでおくだけだよ、家の外に居るときは家の中のオブジェクトを不可視(gameObject.SetActive(false)する)にしておく
逆に家の外にいるときは各家の中のオブジェクトを不可視化して描画への負担を減らしている。
AssetStoreで大きめの街を含んだファンタジー系のアセットにそういうロードレベル制御込みのがあって
一つくらい買って勉強代だと思えば安い部類に入るとは思う、具体的には
ttp://mindscape3d.com/m3d/
ここの作品でFanasy Villageシリーズがまさにそれ。
外から見える煙突の煙とかも部屋の中に入ると抑制されるので構造の勉強としては非常に役立つと思う。
$40なので高めの技術書籍一個分くらいだし。
0610名前は開発中のものです。
2014/07/19(土) 18:19:00.46ID:dP02e2t2なるほど、そういう手法もあるんですね
でもそれって例えば、家の外にいる時に不可視にする家の中のオブジェクトを
一つ一つ全てコードでSetActive制御しないといけないですよね?
やるとすると、interfaceでも作って全オブジェクトで共通化するとかですかね?
アセットはお金の問題でなく、技術的にちょっと厳しいんです・・・
簡単と言われるNGUIは買ったんですが、NGUIですらいまいち理解できなくて・・・
もちろんこれからも頑張って勉強してNGUI使えるようにはなろうと思いますが、
どの道理解できないのなら、自分で考えて実装する方がいいのかなと思って
アセット購入は、買ってもまたNGUIみたいに理解できず使えなかったら・・・
と思うと、ちょっと購入を躊躇しています
0611名前は開発中のものです。
2014/07/19(土) 18:30:17.67ID:MNYx6pYr0612名前は開発中のものです。
2014/07/19(土) 18:52:16.94ID:Nd2spbHe0613名前は開発中のものです。
2014/07/19(土) 18:56:23.02ID:zFiOj//fいくつか限定できる条件を挙げると
1:家の中の物は家からスタートしない限り必ずOffで開始できる
2:家の中のオブジェクトは家に付けた管理用のScriptに列挙する(>>612さんはこれらを纏めたEmptyGameObjectを採用する事を示唆している)
3:開始自にStart()でOffにする、
4:家の中に入った事はTrigger条件付きの当たり判定に任せる
5:当たり判定でOnCollisionが機動されたら家の中に居る事が明白
こういう細かい事を積み上げたスクリプトがあるわけ
なので家の中と外を制御するのは各家に付けた制御スクリプトだけの範疇になれる。
>>610の要望だとこの制御スクリプトのOnCollisionから家の中で起きるイベントなどの機動も可能なわけ
そういう訳でおすすめしたAssetだったりする。
0614名前は開発中のものです。
2014/07/19(土) 19:15:57.31ID:dP02e2t2ありがとうございます。
0615名前は開発中のものです。
2014/07/19(土) 22:54:44.74ID:xxrmwC4qUV切り替えするだけならSpriteとAnimator使う方が良い気がしてたのですが
エフェクト系のアセット見てると単純なUV切り替えのみでも
ParticleSystemで組んでるものをちらほら見かけてちょっと疑問
0616名前は開発中のものです。
2014/07/19(土) 23:18:14.82ID:M1HLyx+qアセットを買えばいいと思いますよ
0617615
2014/07/19(土) 23:40:52.49ID:xxrmwC4q0618名前は開発中のものです。
2014/07/19(土) 23:48:35.32ID:6P+Lx5kR「アセット買え」だからなんか質スレとして
機能してない気がするよ。うん。
0619名前は開発中のものです。
2014/07/19(土) 23:53:39.40ID:bXbU1jhL0620名前は開発中のものです。
2014/07/20(日) 00:00:11.51ID:P9Nn2f63サーバーからpng画像を読み込んでアニメーション生成したいです。
(できるだけお金かからないと嬉しい)
0621名前は開発中のものです。
2014/07/20(日) 00:23:58.50ID:2L8JYstr複数pngを連続再生することでアニメーションしたいって事だよね?
WWWクラス使ってTextureを取り出すことはできるからそれでやるしか無い
枚数がそんなに無いのならAtlas化したテクスチャとUV座標のJSONをWWWから引き出して処理するのが一番良いのだけどね。
0622名前は開発中のものです。
2014/07/20(日) 00:54:05.21ID:4p7odt5Fもっと大きくなるようにフォントサイズ変更したいんですがどこを触るといいんでしょうか…
0623名前は開発中のものです。
2014/07/20(日) 01:02:28.06ID:P9Nn2f631枚のスプライトシートpngからアニメーション生成ってことでした。
WWWクラスで1枚の画像を読み込んでspriteに貼り付けるというのはできましたが、
アニメーション生成となるとどうなるんでしょうか?
0624名前は開発中のものです。
2014/07/20(日) 01:13:00.79ID:2L8JYstr自前でMeshのUVを操作する
ttp://answers.unity3d.com/questions/306959/uv-mapping.html
この辺とか参考になると思うがUnityのメニューのGameObject->CreateOther->Planeだと頂点数が多くて泣けるのでEditorScriptで4頂点のメッシュとかを作るようにすると良い
0625名前は開発中のものです。
2014/07/20(日) 03:29:45.20ID:P9Nn2f63Unityが3Dのソフトなの忘れてました。
2Dのスプライトアニメーションです・・・
せっかく答えてもらったのにすみません。
アニメーションじゃない場合は、こんな感じで画像切り替えできたんですが、
gameObject.GetComponent<SpriteRenderer> ().sprite = Sprite.Create (www.texture, new Rect (0, 0, 500, 500), new Vector2 (0, 0));
アニメーションの場合画像が変わってくれません。
foreach (var renderer in GetComponentsInChildren<SpriteRenderer>()) {
string spriteName = renderer.sprite.name;
renderer.sprite = Sprite.Create (www.texture, new Rect(0,0,51,54), new Vector2 (0, 0));
}
このrenderer.spriteとは別のところにテクスチャデータがあるんでしょうか?
0626名前は開発中のものです。
2014/07/20(日) 04:31:19.72ID:sXjYP593ttp://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/game/01.html
AnimationClipにVector2Dかなんかで記述されてるんじゃないの?
ただAnmationClipを生成して中身を記述するところまでは
スクリプトでプロシージャルにやることもできるけど
RuntimeAnimatorControllerの中身を自動生成する方法は
よくわからないんだよなぁ。
現状使っているRuntimeAnimatorControllerの中に生成した
AnimationClipをセットできる方法があればできそうなんだが。
あるいはもしレガシーアニメーションでできるならそっち使うとかか。
使えるかどうか知らんが。
0627名前は開発中のものです。
2014/07/20(日) 10:41:02.86ID:2L8JYstrforeach (var renderer in GetComponentsInChildren<SpriteRenderer>()) {
↑なんでこうなるん?
こんなんじゃだめなん?、spriteDefaultマテリアルにスプライト用のデフォルトマテリアル突っ込んでおけば
とりあえず拾った画像のAtlasの中身表示するけど。(空のゲームオブジェクトにこれつけるだけ)
↓
ttp://uproda.2ch-library.com/lib808283.cs.shtml
行が長すぎなのでちょっと↑借りた
0628名前は開発中のものです。
2014/07/20(日) 11:03:42.42ID:JHGH4lP+0629名前は開発中のものです。
2014/07/20(日) 11:51:32.02ID:aSd3xNHFお前が使って教えてやれよ
0630名前は開発中のものです。
2014/07/20(日) 12:40:29.66ID:JHGH4lP+0631名前は開発中のものです。
2014/07/20(日) 12:59:24.48ID:aSd3xNHF0632名前は開発中のものです。
2014/07/20(日) 13:06:25.96ID:t4k2PS7R0633名前は開発中のものです。
2014/07/20(日) 13:15:59.21ID:2L8JYstrやだよ、自分のアカウントを2chに晒すじゃんよ
でも質問者がgithub使ってるならpull request出すのはやぶさかじゃ無いぞ(でもなぁ、別アカ作るだろうなぁ)
0634名前は開発中のものです。
2014/07/20(日) 13:46:28.16ID:LaiAmwTSアセットを買えばいいと思いますよ
0635名前は開発中のものです。
2014/07/20(日) 16:43:44.28ID:phxW0KZj戻されるんですがなんなんですかこれは(´・ω・`)
ほかの設定をいじっても全部戻されます。
0636名前は開発中のものです。
2014/07/20(日) 16:46:41.71ID:vI5T99F6変更したらApplyボタンを押してください
0637名前は開発中のものです。
2014/07/20(日) 17:01:48.48ID:sHBrx8IO思っています。
vufoiaのSDKなんかは、プリミティブな図形なら
マーカーとして登録出来ますが、
例えば、人形のフィギアなんかをマーカーにしようとしたら、
どういう方法があるのでしょうか?
OpenCVなどの話も聞きます。
具体的には、下記のようなことをやりたいのですが。。。
https://www.youtube.com/watch?v=PtdxNAvso08
宜しくお願いします。
0638名前は開発中のものです。
2014/07/20(日) 17:03:55.64ID:HYSjYAsc時間差ですみません
同一シーンで移動するという事に関して追加で質問なのですが
移動する位置(transform.position)をコードに記載しないといけないですよね
例えば、家が2つあって家A接触時は7,5という位置に移動する、
家B接触時は-7,5という位置に移動する
という事は、同一シーン内で移動ポイントが6つあるとすると、
それぞれの位置(position)情報を書いたスクリプトファイルが
6つ必要になるという事ですよね?(移動ポイントにアタッチするスクリプト分)
0639名前は開発中のものです。
2014/07/20(日) 17:14:13.78ID:LaiAmwTSアセットを買うのが早いですよ
0640名前は開発中のものです。
2014/07/20(日) 17:29:40.98ID:WTjRJ0X/Unityのアニメーション機能(GUIのみ)で同じようなことはできますか?
たとえば、体のばらばらの部品を間接ごとに動作させる等。
他にも同じような機能があるツールがあれば教えていただければと思います。
0641名前は開発中のものです。
2014/07/20(日) 17:42:23.98ID:LaiAmwTSアセットを買えばできますよ
0642名前は開発中のものです。
2014/07/20(日) 17:45:59.06ID:phxW0KZjApplyを押しても強制的に戻されるので困っています…(´・ω・`)
0643名前は開発中のものです。
2014/07/20(日) 17:47:31.35ID:WTjRJ0X/0644名前は開発中のものです。
2014/07/21(月) 00:47:43.20ID:8FRsqu9A今macminiの2010年バージョンで不都合なく作業しています
それでWindowsのノートパソコンを買ってそれでもunityを動かしてみたいと
思ってるのですがどのくらいのスペックならunityを快適に動かす事ができますかね?
今市場に出てるノートパソコンで手頃なのはcpuがcore i3、メモリが4GB、グラフィックが
intel graphic 4600のもの辺りかと思っているのですがそれで満足に動くでしょうか?
0645名前は開発中のものです。
2014/07/21(月) 02:11:58.96ID:MegRUF8o一番簡単なのは、
板ポリにテクスチャを張って wrap をリピートにし、
オフセットをずらしていく、という方法でしょうか。
スプライトばかり弄ってて
mesh material の知識がないので、
板ポリを使わない方法や、
mesh material のわかりやすい
解説サイトなどあったら教えてください。
0646名前は開発中のものです。
2014/07/21(月) 03:46:29.83ID:BG+JFyPLハードウェア的に差がないなら大丈夫でしょ。
macminiがCore2Duoのならそれよりは早いはず。
>>645
2Dの方はさっぱりだけどマテリアルの解説なら
公式見るのがはやいんじゃね?
ttp://docs-jp.unity3d.com/Documentation/Components/Built-inShaderGuide.html
これはシェーダーの解説だけど要するに使うシェーダーと
それに放り込むデータ(テクスチャやカラー等々)のセットがマテリアル。
0647名前は開発中のものです。
2014/07/21(月) 04:41:30.96ID:PX7VUwQXアセットを買えばよいでしょう
0648名前は開発中のものです。
2014/07/21(月) 10:04:20.42ID:ZOxr8J7vRigidBodyでの実装に変えたり、メッシュとコリジョンを単純な球体へ差し替えても同様です。
Unityは全体的に処理速度が遅いのでしょうか?
実行環境はCore i7 メモリ8G Geforce 9800GTX+です
0649名前は開発中のものです。
2014/07/21(月) 10:46:59.77ID:km/+Xja7敵キャラのモデルデータが重いだけなんじゃねぇの?
0650名前は開発中のものです。
2014/07/21(月) 10:58:57.65ID:ZOxr8J7v>>648 に書いてありますが球体への差し替えも試しています
0651名前は開発中のものです。
2014/07/21(月) 11:50:14.83ID:0UN6mMjWでしょうか、と言うならまずやってみて、
それでうまくいかなかったんですが、、、と書くならみんな優しく教えてあげるんだけどな
やりもしないで聞くなんて絶対教えてやらん
0652名前は開発中のものです。
2014/07/21(月) 12:50:03.32ID:Snn9YfYN0653名前は開発中のものです。
2014/07/21(月) 13:29:07.72ID:8FRsqu9Aレスありがとうございます
やっぱり大丈夫なんですかね
他に実体験で>>644で言った程度のスペックでunityを動かしてる人おられませんか?
できるだけ多くの人の意見を聞きたいと思ってるんですけど
0654名前は開発中のものです。
2014/07/21(月) 13:52:58.21ID:m/7EUAn1アセットを買って使ってますが結構いいですよ
0655名前は開発中のものです。
2014/07/21(月) 15:23:31.20ID:lTCpVJ97ずっと似たような環境で作業してるけど問題は無いよ
unity起動やOSの再起動で時間は掛かるけどそれ以外不満はほぼない
でも最初に出来るだけ良い環境揃えれるなら少し無理してでも良いの揃えた方が作業の質はあがる
1週間分の給料やバイト代ぐらいの差なら、少し無理するぐらい頑張って良い環境でやるってのをお薦めする
0656名前は開発中のものです。
2014/07/21(月) 15:34:40.85ID:8FRsqu9Aありがとうございます
実際買うのは秋ごろになると思いますがその時に出てる普及機よりそこそこ良い物を
狙いたいと思います
0657名前は開発中のものです。
2014/07/21(月) 16:37:58.99ID:TPXqQ78Q内部ロジックとの橋渡し的なアダプター(C#)を作ったんだ。
ビルドしたDLLをAssetsに追加してscriptで使うことができた。
しかし、そのアダプターのソースを変更するとUnityには反映されない。
再び入れなおす必要があると思うんだが、そこら辺のうまい仕組みがあれば教えてください。
0658名前は開発中のものです。
2014/07/21(月) 17:13:42.65ID:m/7EUAn1アセット買えばいいと思うよ
0659名前は開発中のものです。
2014/07/21(月) 17:44:14.41ID:TPXqQ78Q0660645
2014/07/21(月) 17:53:04.74ID:MegRUF8o3D の知識が足りないことがわかったので、
今回は前時代的ですが、スプライトの制御で対応しました。
あと、もしよかったら、
もうひとつ相談にのって下さい。
class 内で public int[] XXX;
という宣言があったとき、
インスペクタービューの size にて、
XXX の要素数を指定できると思います。
(指定すると、element 0 などが出てくる)
このインスペクタービュー上の要素数指定を、
ソース上から行うにはどうしたら良いでしょうか。
0661名前は開発中のものです。
2014/07/21(月) 18:08:44.97ID:jLYQdsInデフォルトの配列長なら
public int[] XXX = new int[10];
みたいに書ける
0662名前は開発中のものです。
2014/07/21(月) 18:53:39.64ID:MegRUF8oありがとうございます。やってみます。
0663名前は開発中のものです。
2014/07/21(月) 22:26:22.82ID:MegRUF8o具体的にはAdlantis のアイコンバナーを
スクリプトのみで表示したかったのですが、
〜IconAttr[] icons = new AdlantisIconNative.IconAttr[2];
で上手くいかないです。
空の GameObject を作って、
そこにcsをアタッチ&インスペクターでsize 指定
だと出来るのですが…
0664名前は開発中のものです。
2014/07/21(月) 23:35:43.68ID:n0KrPFj0〜IconAttr[] icons = new AdlantisIconNative.IconAttr[2];
を書いてもサイズ指定がされないってことなのかなぁ。
何がどう「上手くいかない」のかよくわからん。
0665名前は開発中のものです。
2014/07/21(月) 23:52:04.78ID:m/7EUAn1アセットを買いましょう!
0666名前は開発中のものです。
2014/07/22(火) 00:26:36.01ID:ZXxF57+yデバッカで追いかけて変数の中身がどうなってるか見てみると良いんじゃない?
0667名前は開発中のものです。
2014/07/22(火) 00:37:49.01ID:SjiNIC9N0668名前は開発中のものです。
2014/07/22(火) 02:05:48.65ID:y4T+q+FxmonodepeloperでF5押してデバッグしようとするとunity起動画面になりますが
デバッガで中身追う時って必ず
unityを閉じる→monodepeloperでF5押す→unityを起動する
という手順を踏まないといけないんですか?
しかも上記手順でデバッガ使って、shift+F5で一度デバッグ終えて
再度monodepeloperでF5押すとまたunity起動画面が出ます
すでに起動していると多重起動できないとか言われるので起動中のunity閉じて
また開き直す、というのをデバッグのたびにやっています
こんなのってないですよね?
0669名前は開発中のものです。
2014/07/22(火) 02:14:08.30ID:TPoxIKzq2.Unity側でPlayボタン押して実行
3.ブレークするのでステップ実行
(4.デバッグが終わったらmonodeveloperでRun→Detach)
でやってる
0670名前は開発中のものです。
2014/07/22(火) 02:44:26.60ID:y4T+q+Fxやってみました
確かにいちいち起動する必要はなくなりましたが、それって
一度shift+F5でデバッグ終えて、再度F5でデバッグするとブレークポイント
スルーしませんか?
今試したらスルーしたので、デバッグのたびに>>669の1の手順を
実行する必要がありました
一度デバッグ終えると、アタッチした設定が解除されているように思うのですが
デバッグのたびに1の手順はやらないとだめですか?
0671名前は開発中のものです。
2014/07/22(火) 03:04:28.67ID:qp0V0ed2原因はわからんけど正直ありえんかなぁ、て感じはする。
手元でやってるプロジェクトはPhenomII X4 955メモリ16Gとかだけど
弾丸系のオブジェクトまで含めるとゲームオブジェクトの数は200近く、
もしくはそれ以上になるが別に60fps以上出ている。
カードはGF4300なのでしょぼしょぼだし。
0672名前は開発中のものです。
2014/07/22(火) 03:06:48.75ID:qp0V0ed20673名前は開発中のものです。
2014/07/22(火) 03:14:17.03ID:TPoxIKzqShift+F5すると解除されるが、毎回する必要はないのでは。
プロセスアタッチしたままでもソース編集もビルドもできるし、
Unity側でPlayする度にデバッグできるから不便に感じたことないなあ。
0674名前は開発中のものです。
2014/07/22(火) 03:18:02.67ID:y4T+q+FxBP張る→1の手順→UnityでPlay→BPで停止する
→shift+F5でデバッグ停止(BPは張ったまま)→再度UnityでPlay
→BPで停止しない
となります
なので、shift+F5で停止後は再度1の手順をしないといけないのかな
と思ったんです
0675名前は開発中のものです。
2014/07/22(火) 04:21:36.84ID:sZjVjlhGアセットを買えばいいですよ
0676名前は開発中のものです。
2014/07/22(火) 04:51:13.46ID:92xEwXlbprivate void OnCollisionEnter(){
Debug.Log("OK");
}
だけのスクリプトならしっかり衝突機能が働くのですが
プレイヤーの動く処理を付け足したスクリプトにすると働かなくなります
using UnityEngine;
using System.Collections;
public class Player3D : MonoBehaviour {
private void Update(){
Physics.Linecastを利用した地面判定
}
void FixedUpdate (){
rigidbody.velocityとrigidbody.AddForceによる移動処理
}
private void OnCollisionEnter(){
Debug.Log("OK");
}
}
このスクリプトを付けたオブジェクトには
Box Collider(Triggerなし)、rigidbody 、スクリプトをつけてます。
それ以外のオブジェクトは Box Collider(Triggerなし)をつけています
物理速度があまりに早いと無視されると聞きましたが 特に早すぎるわけでもなく
具体的な問題があまりわかりません…。
0677名前は開発中のものです。
2014/07/22(火) 06:38:24.39ID:zKOLe0no>>664
上手くいかないの詳細ですが、
スクリプト上で指定した
iconattr[2]
などの要素数は無視されて、
インスペクター上のsizeが優先されるようです。
スクリプトで iconattr[2]でインスペクターで size 0 だと、
スクリプトで各要素のpositionに値を設定しても
アイコンが表示されません。
逆に、スクリプトで初期化しなくても、インスペクターで size 2 など入れてると
スクリプトで各要素のpositionに設定した通り、
アイコンが表示されました。
デバッガでもおってみます。
0678名前は開発中のものです。
2014/07/22(火) 06:42:02.40ID:zKOLe0no自己レスで補足ですが、
この「インスペクター上での指定が優先される(?)」部分で、
gameobject をヒエラルキーに置くことを
強要されてるのが困っている点です。
0679名前は開発中のものです。
2014/07/22(火) 07:00:34.06ID:qp0V0ed2ああ、それはシリアライズされてるからで
とりあえず戻したければインスペクター上で
そのスクリプトをアタッチしてるとこの歯車アイコン押して
リセットを選べば初期状態に戻る。
そもそもインスペクター上でいじりたくないんだということであれば
[System.NonSerialized]とかつけておけばいい。
ttp://docs.unity3d.com/412/Documentation/ScriptReference/NonSerialized.html
HideInInspectorでもいいはずだけどなんか違ったはず。
0680名前は開発中のものです。
2014/07/22(火) 07:09:01.24ID:qp0V0ed2いや〜、それで普通に動く筈だなぁ。
それだけ見てる分には問題があるように思えない。
実際そんな調子のことはいっぱいしている。
勿論衝突検知は働いている。
つまり何かほかに原因がある。
0681名前は開発中のものです。
2014/07/22(火) 08:54:03.92ID:zKOLe0noヒントありがとうございます。
Adlantis の中を開けたら、
該当データは構造体で
そもそも sirialize されてたので、外してみました。
確かにインスペクターから消えました。
で、改めてソース上でオブジェクトを宣言して、
そこに Adlantis の cs を addcomponent したのですが、
構造体を new するのは出来ましたが、
new した構造体の中身に値を設定しようとすると
NullReferenceExeption になってるようです。
具体的には
new した iconattrの構造体配列[0].position.x = 0.0f;
で nullreferenceexeption って感じです。
直前で new 出来てて、そこでは止まっていないのですが。
名前空間&構造体&配列だから、
上手くいかないという事はないですよね…
おとなしくヒエラルキーにオブジェクトを作って
そこにアタッチすれば良いのでしょうけど、
なんか悔しいです。
■ このスレッドは過去ログ倉庫に格納されています