■ このスレッドは過去ログ倉庫に格納されています
【3Dゲームエンジン】Unity質問スレッド26 [無断転載禁止]c2ch.net
- 1 :名前は開発中のものです。:2016/08/06(土) 10:54:54.50 ID:D8D0bsd/.net
- 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。
■本スレ
【3Dゲームエンジン】Unity総合スレッド28 [転載禁止](c)2ch.net
http://echo.2ch.net/test/read.cgi/gamedev/1454596460/l50
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・ユーザーガイド
http://docs.unity3d.com/ja/current/Manual/UnityManualRestructured.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【3Dゲームエンジン】Unity質問スレッド25
http://echo.2ch.net/test/read.cgi/gamedev/1465721773/
- 66 :名前は開発中のものです。:2016/08/18(木) 13:36:21.50 ID:teq4h2ez.net
- AIプロ「なん・・・だと?」
- 67 :名前は開発中のものです。:2016/08/18(木) 17:04:25.12 ID:Jg4NmsH4.net
- 他と比べてゲームはアルゴリズムが複雑すぎる
- 68 :名前は開発中のものです。:2016/08/18(木) 19:38:53.05 ID:EkYF26JR.net
- 複雑なゲームプログラム作る人なんて何十人のプロジェクトでもたった数人の秀才たちだけ
ほとんどのゲーム関係者はプログラミングとは関係ないとこで仕事してる
- 69 :名前は開発中のものです。:2016/08/18(木) 20:25:45.32 ID:ykSiB8IJ.net
- 腕の良いプログラマが公開してるデモや技術資料をたまに見るが、
ああいう人達が何かゲームを完成させたという話をあまり聞かない
- 70 :名前は開発中のものです。:2016/08/18(木) 20:35:44.29 ID:5n3D0lf1.net
- あまり?じゃあいくつ聞いたんだよ
- 71 :名前は開発中のものです。:2016/08/18(木) 21:31:28.29 ID:a2KvP8wo.net
- まあ成果物を公表する機会ってあんまり無いしなあ
Unityなら同人ゲームとか作ってれば別だろうけど
- 72 :名前は開発中のものです。:2016/08/18(木) 21:34:39.09 ID:pW4GFcrv.net
- 同人ゲー作ってないで会社で働いてるんじゃないの
腕があるなら引っ張りだこだろうし
- 73 :名前は開発中のものです。:2016/08/18(木) 21:45:01.08 ID:mgBlCt7n.net
- >>69
そりゃあ畑が違うからね。
プログラマはソースを読み書きできるのであって、ゲームデザインできるわけじゃないよ。内部のロジックは作れるけど、ゲームの「画作り」とかレベルデザインはまた別の才能が必要だと思う
- 74 :名前は開発中のものです。:2016/08/19(金) 01:41:09.99 ID:6ZlOkFXp.net
- unity2dって画像の背景をあらかじめ自分で透過処理しておかないといけないんですか?
背景が真っ黒なキャラクター画像を使いたかったのですが・・・
- 75 :名前は開発中のものです。:2016/08/19(金) 02:59:18.74 ID:/EjNTis4.net
- >>74
パンがなければケーキを食べればいいじゃない
レタッチソフト使えないならシェーダ評価すればいいじゃない
- 76 :名前は開発中のものです。:2016/08/19(金) 08:11:59.03 ID:6ZlOkFXp.net
- >シェーダ評価すればいいじゃない
すまん、くわしく
- 77 :名前は開発中のものです。:2016/08/19(金) 08:37:39.96 ID:057SvZeP.net
- >>76
こういう話
http://wiki.unity3d.com/index.php/Transparent_Single_Color_Shader
- 78 :名前は開発中のものです。:2016/08/19(金) 13:05:13.62 ID:MfZolbIM.net
- >>75
>シェーダ評価すればいいじゃない
プログラマーぽい言い方w
憧れるww
- 79 :名前は開発中のものです。:2016/08/19(金) 20:48:26.53 ID:El7UuHQ0.net
- プロシージャルで実行時にデータを生成するものを生成後にシリアライズして保存しておきたいのですが、
prefabutility.replacePrefab()で値を保存しようとしてもエディタ上でしか動きません。
単純に生成したデータを取り出しやすい形でシリアライズしたいだけなのですが、別に良い方法は有りますでしょうか。
playerprefsに入れるのはなんか違うし……
- 80 :名前は開発中のものです。:2016/08/20(土) 09:17:20.49 ID:G6/l+4JG.net
- >>79
UnityのGameObjectとかのクラスを含んでいないなら普通にシリアライズして書き込み可能なPathに突っ込めば良いのだけど。(XMLでもJSONでも、実験以外オススメはしないけどPlayerPrefsに文字列として突っ込んでも良いし)
含んでいると実行時はちとムリじゃないかな?(Prefabの書き換えはEditor用だし)
- 81 :名前は開発中のものです。:2016/08/20(土) 10:40:36.50 ID:59ryz1Y8.net
- >>79
それはゲーム業界では一般的にセーブ機能と呼ばれるものだよ…
ttp://magnaga.com/unity/2016/01/11/unity-save/
- 82 :名前は開発中のものです。:2016/08/20(土) 11:12:38.40 ID:Lc7rc6VO.net
- 公式のライブトレーニングで最近Scriptable Objectsが続いてるから推奨してるのかもよ
外部ファイルに保存するよりずっと手軽だよ
- 83 :名前は開発中のものです。:2016/08/20(土) 13:29:13.76 ID:SUxNn72f.net
- ゲーム外時間をオフラインでチェックできるプラグイン無料でどっかにないかな
最近のアプリはオフラインで時計いじっても変えられないよね
- 84 :名前は開発中のものです。:2016/08/20(土) 14:38:41.15 ID:ZZLoYJLd.net
- ゲーム外ってどういうことかな
察するに時計変更系の不正対策かな
単にゲーム中時間を計測するならdeltaTimeでも加算して永続化しとけばいいと思うけど、ゲームしてない時の時間を裏取るならオンラインでNTPサーバでも参照するしかないんじゃない
- 85 :名前は開発中のものです。:2016/08/20(土) 15:23:43.95 ID:yunjYFxQ.net
- 放置系アプリの時刻操作を不正と言われるのはしっくり来ない
時計進めなかったらクリアまでリアルで数百年掛かるアプリとか平気であるからな
- 86 :名前は開発中のものです。:2016/08/20(土) 19:00:11.82 ID:QRMw57ry.net
- そんなゲームは捨ててしまえw
- 87 :名前は開発中のものです。:2016/08/20(土) 21:05:06.49 ID:l+d3uJAW.net
- >>85
クッキークリッカー系のアプリに終焉を求める方がどうかしてるけどなw
- 88 :名前は開発中のものです。:2016/08/21(日) 22:36:17.83 ID:LLQDZSWg.net
- AdMobのネイティブ広告って、
まだUnityに対応してないんでしょうか?
- 89 :名前は開発中のものです。:2016/08/21(日) 22:49:08.97 ID:ju/x4vEG.net
- 質問です
unityでexcelのような表を表示させて、データをいじれるようにしたいのですが、GUI並べて、それっぽいものを作るしかないでしょうか?
それとも、excelみたいなGUIはあるのでしょうか?
- 90 :名前は開発中のものです。:2016/08/21(日) 22:56:40.80 ID:ahGGETms.net
- >>89
作り付けの表計算機能はない。
だから「GUI並べて、それっぽいものを作るしかない」ね
- 91 :名前は開発中のものです。:2016/08/21(日) 23:59:36.50 ID:9ZwIxvTH.net
- >>90
ありがとうございます
やってみます
- 92 :名前は開発中のものです。:2016/08/22(月) 20:02:22.42 ID:YEl/jjEb.net
- 作ったプロジェクトをUSBで他のPCに移動しても使えるようにするにはどうすればいいですか?
- 93 :名前は開発中のものです。:2016/08/22(月) 20:23:54.38 ID:7Sz325Im.net
- 使えないっけ?
- 94 :名前は開発中のものです。:2016/08/22(月) 22:02:49.64 ID:s9Czu+9v.net
- いやそのまま開けるだろ
5.4になって変わったのか?
- 95 :名前は開発中のものです。:2016/08/22(月) 22:49:40.81 ID:FlKvhPf4.net
- ファイルシステムや文字コードの違いでそのままじゃ開けないとか以外は
- 96 :名前は開発中のものです。:2016/08/23(火) 09:27:08.38 ID:rq7/gI1u.net
- >>92 新規でプロジェクト作って移動したいプロジェクトを新規で作ったプロジェクトと同じ名前にして起動すればいい
もちろん同じフォルダ内に置いて
- 97 :名前は開発中のものです。:2016/08/23(火) 10:12:55.75 ID:aTSn8auE.net
- そんな事しなくて普通にファルダコピーしただけで動く
もちろんアセットにしてエキスポート、インポートしても動く
新しいバージョンから古いバージョンへは基本動かない
- 98 :名前は開発中のものです。:2016/08/23(火) 10:30:08.16 ID:KzCtSrx9.net
- Gitお勧め
- 99 :名前は開発中のものです。:2016/08/23(火) 11:30:43.03 ID:VUOsRbsD.net
- 素朴な疑問なんですが、
デフォルトの MainCamera と Canvas の領域がまったく異なるのはどうしてですか?
Camera の範囲を Canvas にあわせているのですが、正しいでしょうか?
- 100 :名前は開発中のものです。:2016/08/23(火) 11:41:09.94 ID:yDD6X/jq.net
- >>99
Canvasは同じスペース上にあるけど描画の仕組みは
他のオブジェクトと根本的に違う。
カメラを合わせる必要はない。
インスペクター上でRenderModeをScreenSpace-Cameraにして
カメラを指定してやれば自動でカメラにあうようになる。
- 101 :名前は開発中のものです。:2016/08/23(火) 12:20:51.53 ID:bTRjFqhU.net
- Canvasは何であんな邪魔くさい形で表示してるんだろうな
シーンビューに置く必然性が無いんだから別窓に分ければ良いのに
- 102 :名前は開発中のものです。:2016/08/23(火) 13:08:05.08 ID:VUOsRbsD.net
- >>100
ScreenSpace-Cameraが便利そうなのでこれでやってみます。
ありがとうございました。
- 103 :名前は開発中のものです。:2016/08/23(火) 13:38:49.19 ID:JkGv7l3C.net
- Photonを使って2DアクションCo-opゲームを作ってるんですが
敵の同期をする時、プレイヤーと同じように位置とアニメーションを同期すると
通信負荷が限界に達するようで切断してしまいます。
ダメージ処理も含めて敵の同期はクライアントで行うべきという記事を読んだのですが
ランダム系のAIステートを同期するためにはどうすべきでしょうか?
どうしてもマスタークライアントで処理したものを全員に送る形しか思いつかないのですが…
- 104 :名前は開発中のものです。:2016/08/23(火) 16:13:30.25 ID:Vwkbt73+.net
- >>103
セッションを作成するときに共通の乱数のシードを設定して、各クライアントはそれで初期化すればよろし。さすれば自然とランダム系の動きも同期するで。
(組み方にもよるけど)
- 105 :名前は開発中のものです。:2016/08/23(火) 17:51:30.39 ID:JkGv7l3C.net
- >>104
シードを知りませんでした…、ありがとうございます。
あらかじめRandom.Seedで値を設定しておけばRandom.Rangeで求めた数値を
Seed値に合わせ全てのクライアントで同じ結果にできるのですね。
- 106 :名前は開発中のものです。:2016/08/23(火) 18:12:23.61 ID:ZYrHvchU.net
- そう、同じ数字が同じ順番で出てくる
通常はそれじゃ困るので時刻をシードにしたりしてるが
同じデータを再現したいとき等はあえて数字を固定するね
- 107 :名前は開発中のものです。:2016/08/23(火) 19:06:02.52 ID:DD/wzxta.net
- >>103
104と別解だとステートの変更をマスターからスレーブへ通知するってやり方もあるよ
- 108 :名前は開発中のものです。:2016/08/23(火) 22:23:03.50 ID:twPCWgkX.net
- >乱数
Unityは大丈夫だったと思うけど、
たまに、そのマシンあるいは同じOSでしか再現してくれないのがあるよな
- 109 :名前は開発中のものです。:2016/08/23(火) 23:32:55.03 ID:8PzqXbjG.net
- どうしても心配な場合はメルセンヌ・ツイスターとかのライブラリ使った方がいいな。
UnityのAssetStoreにもあるし。
- 110 :名前は開発中のものです。:2016/08/24(水) 11:37:53.38 ID:9ebosI1v.net
- uGUI と重なる Sprite の当たり判定について質問します。
OnMouseDown イベントで IsPointerOverGameObject() が true ならば無視するようにしました。
これで、ボタンなどが手前にある場合は成功しました。
しかし、 uGUI Image が背後にある Sprite でも IsPointerOverGameObject() が true になってしまいます。
見た目上は Sprite が手前にあるので、そちらだけ反応させたいのですが
前後関係を含めた当たり判定はありますか?
- 111 :名前は開発中のものです。:2016/08/24(水) 12:09:20.98 ID:xr1E26+3.net
- 質問です。
レトロゲームの「クイックス」のように
囲まれた範囲を領地化するために
範囲を取得したいのですが、
案が浮かびません。
何か方法はありますでしょうか?
- 112 :名前は開発中のものです。:2016/08/24(水) 18:39:39.29 ID:xoHq8QPD.net
- >>111
ゲームの内容に寄る
領地がConvexポリゴンで表せるかとか、ちなみにQIXのは矩形リージョンの集合に分割することで領域を区別してた
- 113 :名前は開発中のものです。:2016/08/24(水) 19:48:18.11 ID:wzwl+oL+.net
- Unityでシーンが大量にあると、起動が遅くなったりしますか?
他にも何かデメリットはありますか?
- 114 :名前は開発中のものです。:2016/08/25(木) 00:03:13.61 ID:DgLaV+Bt.net
- すみません、初心者な質問です。
enemy.AddComponent(
- 115 :名前は開発中のものです。:2016/08/25(木) 00:06:50.32 ID:DgLaV+Bt.net
- すみません、初心者な質問です。
enemy.AddComponent("Halo")
でHaloのコーンポネントをスクリプト上で作ったCubeに追加したいんですが。
上記コード(参考にしてる本が古い)が最新でないらしく。
UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent(enemy, "Assets/spaceship.js(82,9)", "Halo")
に変換されて、Haloを追加できていないままになります。
これはスクリプト上で解決できますか?
- 116 :名前は開発中のものです。:2016/08/25(木) 00:17:31.21 ID:wn30Advx.net
- >>115
なんか言ってることが曖昧というか
質問に適切な情報がない気がする
Haloがコンポーネントならこれじゃないの
http://qiita.com/junya/items/e462163cb4c170918e76
gameobjectならgetcomponent
- 117 :名前は開発中のものです。:2016/08/25(木) 00:47:36.56 ID:DgLaV+Bt.net
- var enemy:GameObject = GameObject.CreatePrimitive(PrimitiveType.Cube)
でCubeを新規に作って、それにHaloのコンポーネントを追加したいのです。
>>116のように
enemy.AddComponent.<"Halo">()
enemy.AddComponent.<Halo>()
でもダメだったので…。
- 118 :名前は開発中のものです。:2016/08/25(木) 00:55:14.47 ID:QLIUawhG.net
- 初心者です。
この状態になったのですが普通の状態の左下右にあったバーを表示させて、
もとのUIに戻したいです。どうすればよいでしょうか?
http://imgur.com/qvHMF2J.jpg
- 119 :名前は開発中のものです。:2016/08/25(木) 00:59:50.05 ID:QLIUawhG.net
- すみません。解決しました。
- 120 :名前は開発中のものです。:2016/08/25(木) 01:21:55.31 ID:wn30Advx.net
- >>117
http://www.cho-design-lab.com/2013/08/18/unity-reference-other-script/
MonoBehaviour継承してないとか?
- 121 :名前は開発中のものです。:2016/08/25(木) 02:35:35.69 ID:/Ws0o294.net
- >>115
そこ、できるなら無視して消してしまった方がいい。
実はHaloコンポーネントの扱いはどういうことになっているのかよくわからない。
リファンレスにも載っていないしC#でもAddComponentできないし
通常のやり方でGetComponentもできない。
なぜこのようなオブジェクトになっているのか謎。
- 122 :名前は開発中のものです。:2016/08/25(木) 02:53:23.67 ID:DgLaV+Bt.net
- >>120
>>121
回答ありがとうございます。
なるほど、Haloコンポーネントだけおかしいのですか。
無視してHalo無しで先に進んでみます。
- 123 :名前は開発中のものです。:2016/08/25(木) 04:04:43.41 ID:uIbWNalU.net
- >>112
囲み方等のルールは
クイックスと同じ想定ですが、
領地に表示させるものの都合もあり
フィールドは粗めのマスで区切る予定です。
領地情報を変数配列に保存するつもりではありましたが、
実装できるのであれば
他の手段でも構わないです。
- 124 :名前は開発中のものです。:2016/08/25(木) 16:42:42.05 ID:83VqBRCc.net
- uGUI の RectTransform で Streach を使おうと思っています。
Left, Top, Right, Bottom を 0 にして
Min X,Y Max X,Y の設定だけを使い、ウィンドウサイズの違いに対応したいと思っています。
しかし、 Min X,Y Max X,Y の設定は面倒な上、
GUI をマウスで移動させて調整したいのに Left, Top, Right, Bottom が変更されてしまいます。
マウスでの GUI の編集の結果を Min X,Y Max X,Y だけに反映させる方法はありますか?
- 125 :名前は開発中のものです。:2016/08/25(木) 23:03:29.78 ID:u1xY0SXd.net
- おう、Unityスレにしては珍しくちゃんと質問に答えられる奴らがレスしてるね。ええこっちゃ
- 126 :名前は開発中のものです。:2016/08/26(金) 00:47:58.60 ID:Ve5Y7ZDo.net
- >>123
領地の概念が何処にあるかってのが結構重要、123が言うマス目単位でよければ囲った領域を2D矩形の集合に変換してからマス目の重心が分割した矩形に入るかどうかを普通に2Dの当たり判定で行えば良い
領地が空間を区切る様に3D空間内に存在するのであればBSP(Binary Space Partitioning)による超平面分割で領域判定をするのだけど、この場合領地の取り合いでBSPの論理演算(切り取りとか付け足し)をしないと行けない
なので本当にゲームに依存する。
特に前出のQIXの場合は領地は一度取得したら変更が起きないし領地の取得面積の算出だけなので8Bitマシンでも作れたんだぜよ。
- 127 :名前は開発中のものです。:2016/08/26(金) 00:51:13.86 ID:Ve5Y7ZDo.net
- >>126
補足
囲った領地を3角形ポリゴン(あるいは矩形)の集合にして領地のマス目の重心座標がポリゴン(あるいは矩形の)の内側にあるか判定し、入っていたらマス目に誰の領地かフラグつけるって意味ね
- 128 :名前は開発中のものです。:2016/08/26(金) 10:28:04.76 ID:oDcylQEX.net
- >>124
RectTransformは各プロパティが勝手に連動するんだっけ
Left他を毎回0で上書きしてみたら?
- 129 :名前は開発中のものです。:2016/08/26(金) 11:48:43.44 ID:nqvhB+27.net
- >>128
0にしてもなぜか1.1くらい強制的に値が再設定されたりすることもあり
まだよくわからないのですが、
今は L, B, R, T は 0 に上書きしてから max/min を設定して調整しています。
- 130 :名前は開発中のものです。:2016/08/26(金) 13:06:34.38 ID:ooIqDkZ9.net
- >>129
場所固定の親オブジェクト作って、
アンカーを上基準にしてみるとか
- 131 :名前は開発中のものです。:2016/08/26(金) 15:26:29.66 ID:gJpqV1j9.net
- >>127
詳しい回答ありがとうございます。
囲った部分の集合体を作るという所が
まだ方法を想像出来てませんが、
色々調べながらやってみます。
- 132 :名前は開発中のものです。:2016/08/27(土) 07:49:36.25 ID:7xLav6Bo.net
- 教えてください。
リジッドボディのmassは大きければ重く、他のmassが小さいオブジェクトがぶつかった時に余り動かないモノかと思ったのですが、実際に数値を入れてみると1でも1000でも違わない動作し みたいなんですが、認識間違ってますか?
衝突時、重いものはあまり動かず軽い方は跳ね飛ばされるのはスクリプトでマメにするしかないですか?
- 133 :名前は開発中のものです。:2016/08/27(土) 12:32:31.82 ID:ndq4XMCo.net
- >>132
試してみるとmass1と10の動きはやっぱり全然違うので
何かを勘違いしているのだろう。
- 134 :名前は開発中のものです。:2016/08/27(土) 13:41:17.84 ID:a/bQ85qY.net
- 広告の表示について質問です。
今度アイモバからadmobにきりかえようと設定をしたところうまく広告が表示されませんでした。
試行錯誤したところコードやプラグインの問題ではなくbundle identifierをかえたら解決しました。
アドモブかunity側の問題か不明ですが同じ用な現象が起きた方いらっしゃいますか?
- 135 :名前は開発中のものです。:2016/08/27(土) 15:14:44.15 ID:S8c/2UBo.net
- >>132
物理演算で変化するのはrigidbodyの値だけだから、
transformで動かしてると物理挙動は効かないと思う
- 136 :名前は開発中のものです。:2016/08/27(土) 19:37:45.17 ID:tQuxWCnP.net
- unityに表示させたドット絵がすごく汚くなるんですけど、どうしてでしょうか?
見づらいですが、こちらが元のタイルを一般的な画像ビューアで拡大させたものです
ちゃんとドットの大きさがそろっています
http://i.imgur.com/tJw22uP.png
しかし、unityで表示させるとこのようにドットの大きさがめちゃくちゃになります
http://i.imgur.com/y0fkdWc.png
FormatはTruecolorですし、Filter ModeはPoint(No filter)にしています
どうしたらいいんでしょうか?
- 137 :名前は開発中のものです。:2016/08/27(土) 19:53:49.97 ID:gJhSoj/G.net
- >>136
https://blogs.unity3d.com/jp/2015/06/19/pixel-perfect-2d/
- 138 :名前は開発中のものです。:2016/08/27(土) 19:54:17.38 ID:7xLav6Bo.net
- >>133
ご回答ありがとうございます。
そうなんですか、私の方で数値変えてみてやったのですが変わらなかったので…
飛行機と弾で、それぞれ100000と0.0001とか極端な値をそれぞれに入れて、やってみたのですが変わったように見えなかったので。
そもそも勘違い?どこだろう?
- 139 :名前は開発中のものです。:2016/08/27(土) 19:56:23.93 ID:7xLav6Bo.net
- >>135
ご回答ありがとうございます。
はい、トランスフォームで動かしています。これでは反映されない?反映される方法はございますか?
- 140 :名前は開発中のものです。:2016/08/27(土) 21:40:30.66 ID:ndq4XMCo.net
- >>138
transform.positionに固定した値を入れれば位置は必ずその位置になる。
もしそういう形で位置を移動させているならRigidbodyの動作は無意味になる。
Rigidbodyというのは何か、というと物理エンジンに従って
transformの位置や回転の値を書き直すものだ。
そうやって物理的な挙動を再現している。
Rigidbodyが勝手にtransformの位置や回転を毎フレーム書き直しているから
自動で動いている、ように見えるってことだ。
しかしスクリプトで固定の位置を書き込んでしまえばRigidbodyの書き換えが
上書きされてしまって無意味になる。
とまぁそういうパターンはあり得る。
動かすときに例えば
void Update(){
transform.Translate(Vector3.forward*Time.deltatime);
}
というような書き方をしてやればRigidbodyの計算結果を反映したうえで
動かしてくれるようにはなる、はずではある
- 141 :名前は開発中のものです。:2016/08/27(土) 22:51:58.08 ID:tQuxWCnP.net
- >>137
ありがとうございます
- 142 :名前は開発中のものです。:2016/08/27(土) 23:42:05.66 ID:2W6/iIAR.net
- なんで誰も>>140の大嘘にツッコミ入れないんだろう?
>>138
物理挙動をしている(=RigidbodyがアクティブでisKinematicがfalseの)オブジェクトの位置操作はAddForce系のメソッドを使う、これ鉄則
- 143 :名前は開発中のものです。:2016/08/28(日) 00:12:50.39 ID:554Md0BG.net
- 一応マジレスしておく
1. FixedUpdate(物理処理)
2. OnCollision(衝突処理)
3. Update(イベント処理)
4. 描画処理
Unityは毎フレームこんな流れで動いてて、
物理的な計算は「FixedUpdate」で行われるから、
その後にある「Update」でtransformを弄ると描画に物理挙動が乗らない
物理計算された値をUpdate内で上書きする形になるから描画まで持って行けないんだね
だから物理的な挙動をさせたければFixedUpdate内にtransformの処理を書くか、
Rigidbody.positionのような次のフレームの物理フェイズで遅延実行される方法を使うべき
- 144 :名前は開発中のものです。:2016/08/28(日) 04:25:12.65 ID:OAHf0gRx.net
- いや、Rigidbodyの挙動とtransform.Translate()は共存できるよ。
Update()でTranslate()をデルタタイムで使えばRigidbodyの物理挙動+
Translate()の移動が行われる。
問題なのはTranslate()での移動ではRigidbodyのVelocityは変わらなくて
だからTranslate()で衝突しても速度0の状態での衝突扱いになる。
あと速度自体への影響はでないけどFixedUpate()で
RigidbodyのMovePosition()を使ってやると衝突補間に便利な場合がある。
そこまでは必要ない場合でもtransformでの操作より
Rigidbody.positionを使う方が計算が一部省略されて
動作が多少なりとも軽くなる場合がある(複数のColliderを付けてる場合など)
Rigidbodyを使っている場合AddForceで操作できれば物理的挙動としては
それが一番整合的になるのは確かなんだが実際には
それでゲーム的操作を行うのは難しい、場合がある。
だからRigidbody.MovePosition()みたいな関数も用意されてる訳で。
>>138の話は多分transform.positionに直接値を放り込んでるからで
それだとRigidbodyが行う全ての操作が上書きされるからRigidbodyの動作は
全く反映されない、ということなのではないかな、と推察されるわけだ
- 145 :名前は開発中のものです。:2016/08/28(日) 09:41:01.55 ID:oOAtXjvY.net
- 山の中のシーンを作っているんだけど、VRでみると遠景ビルボードの木々が頭の動きに合わせて動いちゃうのを修正する方法ないですか?
ビルボード開始距離を大きくすれば一応解決するけど重いので、それ以外の方法で。
検索しても見つけられなかったので助けて。
- 146 :名前は開発中のものです。:2016/08/28(日) 11:19:44.80 ID:554Md0BG.net
- 近くにある物体に仮の距離を与えて遠近法を表現したいなら、
カメラの視野角と物体の距離から三角関数で実際の位置と仮の位置の辺の長さを取り、
その二つを比べた倍率でtransformを操作すれば可能だと思う
要はカメラに追従するようにビルボードを動かすだけ
たぶんRotateAroundが便利に使える
- 147 :名前は開発中のものです。:2016/08/28(日) 15:43:00.08 ID:b+0+q4aE.net
- 2Dのキャラを使うときはSpriteとuGUI Imageとどっちがいいですか?
画面サイズを変えたときにサイズを自動で変えてくれるImageを使いたいのですが
Spriteのほうが一般的な気がしたので、Imageでは不都合なことがあれば教えてください。
- 148 :名前は開発中のものです。:2016/08/28(日) 20:20:46.57 ID:cjw/eqlt.net
- mmd4mecanimで読み込んだモデルに影が出ないです
ステージと人型モデルを読み込みました
unity 5.4 personal 64bit
directional light soft shadows
すべてのモデルで
cast shadow on
receive shadows チェック
- 149 :名前は開発中のものです。:2016/08/28(日) 21:24:45.43 ID:SoRnCkXj.net
- 140-144
ご回答ありがとうございます。
確かにトランスフォームで値を入れてます。詳細な動作の流れを書いて頂きまして、確かにそれだとリジッドボディが意味なくなりますね。ためになりました。重ねてありがとうございました。
- 150 :名前は開発中のものです。:2016/08/29(月) 12:09:22.22 ID:h9z6iyfn.net
- 最近unityを始めたがこれだけ2chが役に立ったのは初めてだw
- 151 :名前は開発中のものです。:2016/08/29(月) 19:20:35.73 ID:6cvUMb4l.net
- マルチプレイゲームの作成で困っています
オブジェクトを生成するスクリプトのOnStartServer()関数内で、Resouseフォルダからspriteを配列に4つ読み込んでランダムに選び、オブジェクトのSpriteRenderer.spriteに渡す形で、ランダムな見た目のオブジェクトを生成させました
ホストでは見た目が適用されますが、クライアントでは未設定のままスポーンしてしまいます
そのままではセットされているspriteが同期されなかったので、使用するスプライトをSyncVar属性にした変数に格納し、ホストとクライアントそれぞれでSpriteRenderer.spriteに渡しましたがそれでも同期されません
NetworkTransformのようにコンポーネントをアタッチしなけば同期されないのかと思い、ネットで検索してみましたがそのような情報にたどり着けませんでした
どうすればオブジェクトにアタッチしたSpriteRendererの情報を同期できるのでしょうか?
こういうワードで検索すればわかるという情報や、同期させる方法を教えてください
- 152 :名前は開発中のものです。:2016/08/29(月) 21:44:51.67 ID:hTPmcjqf.net
- ゲーム画面からゲームオーバー画面になる時Object.DontDestroyOnLoadを
つかってgameover_seを鳴らしたいのですがObject.DontDestroyOnLoadを
どこに使えばよいかよくわかってません。分かる方いらしたら教えて下さい。
- 153 :名前は開発中のものです。:2016/08/30(火) 01:02:18.49 ID:Fe7iYYg+.net
- キャッシュクリア
Caching.CleanCache();
で、ちゃんとキャッシュがクリアされたかどうかって
どうやって確認すればよいですか?
Android iPhone WindowsでのUnityエディタ 一通り教えて下さい
- 154 :名前は開発中のものです。:2016/08/30(火) 11:47:33.23 ID:t/Tyc2RD.net
- タダで?
- 155 :名前は開発中のものです。:2016/08/30(火) 12:22:57.36 ID:dsj9Rh90.net
- さすがにタダとは・・・
いま手持ちが3000万しかないですけどそれでよければ
- 156 :名前は開発中のものです。:2016/08/30(火) 18:35:44.03 ID:9J760vKu.net
- その言葉が聞きたかった!
- 157 :名前は開発中のものです。:2016/08/30(火) 20:33:47.29 ID:S4aL+a/c.net
- >>156
はやまるな、まだ円と決まったわけじゃない!
- 158 :名前は開発中のものです。:2016/08/30(火) 20:58:29.71 ID:+v1Rag2d.net
- 3000万砂粒(お金ですら無い)
- 159 :名前は開発中のものです。:2016/08/30(火) 21:01:17.65 ID:/f9EBd4g.net
- 本当に持ってんなら外注した方が早いよね・・・
- 160 :名前は開発中のものです。:2016/08/30(火) 21:24:47.71 ID:xe/VHIDF.net
- 3000万円の借金かもしれない
- 161 :名前は開発中のものです。:2016/08/30(火) 23:06:51.15 ID:pgKesBZq.net
- 4足歩行動物のモデルで、歩くアニメーションを作ったんですが、
これを摩擦計算を使って実際に歩かせたいです。
が、足先にコリジョン&摩擦を設定しても前に進んでくれません。
そのようなことって難しいのでしょうか?
- 162 :名前は開発中のものです。:2016/08/30(火) 23:16:51.80 ID:xe/VHIDF.net
- 目の前に3000枚のお札を並べたら歩く
- 163 :名前は開発中のものです。:2016/08/30(火) 23:50:05.40 ID:OrMz97C5.net
- 携帯アプリなどのゲームでよくあるデッキ作成画面(パズドラ的な)を作っています。
自分の所持しているモンスターの数だけgameobjectを並べて、アイコンを表示させ、そのオブジェクトをクリックするとListの中に追加されるように作っています。
オブジェクトをクリックすると「何番目のオブジェクトか」を仮のintのListに追加して、最後に仮りのオブジェクトリスト各々に紐付いたモンスターIDを引っ張ってきて保存という形式にしました。
一通り作ってからモンスターの表示ソートを実装したいことを思い出して、どのようにソート機能を作ろうか悩んでいます。
オブジェクトごと入れ替えるか、オブジェクトはそのままで中身(アイコン)を入れ替えるか、など構成を悩んでいるのですが、参考になりそうなサイトとかございませんでしょうか。
- 164 :名前は開発中のものです。:2016/08/31(水) 00:34:47.08 ID:V7VNIgNJ.net
- どっちもやってみて今の実装に対してパフォーマンスがいい方を選べばいいんじゃない?
ちなみに俺ならオブジェクトとアイコンはそのままで座標をリストの順に変えて並び替えるかな
- 165 :名前は開発中のものです。:2016/08/31(水) 00:50:40.54 ID:/WI208fI.net
- >>161
可能だよ。一番親になっているオブジェクトに
胴体のColliderとRigidbodyをつけて
足にもColliderをつけてAnimatorのApplyRootMotionは切る。
それで動くはず。
まぁほぼ100%の確率でその場でこけるだけだとは思うが
- 166 :名前は開発中のものです。:2016/08/31(水) 12:56:19.85 ID:Q6SFBAyP.net
- そういえば、Youtubeにガンダム使って、物理演算歩行やってる人いたね。
あれ、面白かったなぁ
総レス数 1001
277 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200