- 1 名前:名前は開発中のものです。 mailto:sage [2014/06/26(木) 23:02:03.72 ID:t35CWy1R.net]
- 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質問スレッド9 peace.2ch.net/test/read.cgi/gamedev/1399506271/ ■本スレ 【3Dゲームエンジン】Unity総合スレッド22 toro.2ch.net/test/read.cgi/gamedev/1395140574/ ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/japan/ ・ユーザーガイド&リファレンス japan.unity3d.com/developer/document/ ・チュートリアル japan.unity3d.com/developer/document/tutorial/ ・スクリプトリファレンス docs-jp.unity3d.com/Documentation/ScriptReference/ ・FAQ answers.unity3d.com/index.html ・MSDN msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
- 349 名前:309 mailto:sage [2014/07/08(火) 09:51:12.27 ID:4qnhUGqB.net]
- >>332
ありがとうございます。 hit.pointは衝突した座標が取得できると思うのですが そこから立方体の各頂点、面はどうすれば判別できるでしょうか? 見当違いなこと聞いてたらすみません。
- 350 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 10:02:05.26 ID:ZJvtMt/G.net]
- >>333-316
返信ありがとうございます。 今度からはちゃんとバックアップ取っておくように気をつけようと思います‥‥ エラーが出てる箇所は if(transform.position.y < fallLimit || transform.position.x < cam.transform.position.x -8){ Application.LoadLevel("menu"); } Destroy(gameObject); } ↑の if(transform.position.y < fallLimit || transform.position.x < cam.transform.position.x -8){ この部分なんですが、どこがおかしいのかよろしければ教えて頂けないでしょうか?
- 351 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 10:28:29.63 ID:ytRwZWLO.net]
- >>313
ttp://uwebkit.com これがWindowsで使えるWebViewを提供してる、ただしプラットフォームがWin,Mac,iOSのみ Win側の実装は別プロセスでWebKitブラウザサーバが動いていてそいつにレンダリングさせた画像を取得する方式 俺はコレとGreeのWebViewのAndroidとをラッパーと#ifでAPIそろえてから使ってる。 uWebKit単体はテクスチャレンダリングとかも含んでるのでAndroidを捨てるなら3Dゲームのシーン内で看板にしたりとかもできる
- 352 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 10:28:45.55 ID:t1kUpUtT.net]
- >>340
恐らくだが、 コンタクトポイントは物理エンジンが 衝突検知したときに生成してよこしてくる。 ttp://docs.unity
- 353 名前:3d.com/ScriptReference/Collision-contacts.html
The contact points generated by the physics engine. コリダー自体はメッシュコリダーだけではなくスフィアやカプセル、 キューブなんかもあるのでコンタクトポイント生成の仕組みに 頂点や面は常に関係している訳ではない。 ということはメッシュコリダーを使った時に頂点や面の情報を提供するには 特別にその為の機能が実装されていてその情報をストアするデータ構造が 用意されていなければならないはずだがそういうものはない。 てあたりから考えるにコンタクトポイント配列から一番近い面、頂点なりを 割り出す機能を自分で実装するしかない、のではないかな。 [] - [ここ壊れてます]
- 354 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 10:33:31.76 ID:t1kUpUtT.net]
- >>341
その中身だと多分cam、が割り当てられていないとか 実行時に消滅しちゃってるとかそんな話じゃない?
- 355 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 11:08:22.80 ID:ZJvtMt/G.net]
- >>344
ご指摘通りcamが割り当てられていなかったみたいでした‥‥。 助かりました。ありがとうございます!
- 356 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 12:18:46.50 ID:QX88T4yM.net]
- >>333
>>335 ありがとございます Raw Mocap Dataってアセットを使ってたんですが、 どうやらここのFBXデータは軒並みレガシー化が出来ないようです 理由はよくわかりませんがメカニム専用に作られてるんでしょうね 他のアセットでは出来ました 使いたいモーションはここのやつだったので残念です
- 357 名前:309 mailto:sage [2014/07/08(火) 12:42:36.02 ID:4qnhUGqB.net]
- >>343
ありがとうございます。 そうですよね…… そもそも衝突したオブジェクトが立方体かどうかなんて エンジン側には関係ないわけで、自分で計算するしかありませんよね。 その計算方法がいまいちピンとこないのですが……数学がんばっとけばよかったな。 また質問させていただくかもしれません。 回答くださった方、ありがとうございました。
- 358 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 12:43:59.96 ID:Qd6T63my.net]
- >>338
ダメに決まってんだろこのアスペが。
- 359 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 12:48:54.92 ID:t1kUpUtT.net]
- >>346
ちょっと開いてみたがこのデータはモデル(メッシュ)が入ってないんだわ。 なのでレガシーにしてプレビューしたいならまずRawMocapDataの 一番上の階層のDefaultAvatarのリグをレガシーに設定した上で Animationsの中のクリップをレガシーにしてプレビューの右下にある 人マークをクリックしてotherを選べばFBXやPrefabの一覧が出てくるので そこでさっきレガシーに設定したDefaultAvatorを選べばプレビューできる。 少なくとも俺のところではできた。
- 360 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 13:23:17.22 ID:xirEgGux.net]
- >>349
アセットをかったほうがいいよ
- 361 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 13:57:39.34 ID:ddu7OeuU.net]
- RPG、SRPG系ゲームのセーブ・ロード機能を作りたいです。
ググってみるといくつかサイトが見つかったのでバイナリでデータを 保存するという処理を見つけました。 ttps://github.com/KentaYanase/KentaYanase/blob/master/Unity/SaveLoad/SaveLoad.cs これってRPG、SRPG系ゲームのセーブ・ロード機能として使えますか? あと実際ちょっとこの処理を使ってセーブをやってみたのですが、この処理の使い方に 「セーブしたい時はコードから"SaveLoad.Save();"とするだけです」と書いてありました。 なので、SaveLoad.Save();と書いてコールしてみましたが、以下のエラーが出ました。 IOException: Sharing violation on path C:\Users\user\Documents\RPG test\Save\SaveData.dat デバッガで追ってみると上記コードの137行目bf.Serialize(fs, data);でdataの中身がnullでした。 おそらくこれが問題だと思うのですが、dataの格納処理はCrateSaveFileメソッドでのみやっています。 しかし、SaveLoad.Save();と記述してコールするとCrateSaveFileメソッドはコールされないようです。 これではどうやってもdataに値は格納されないと思うのですが、これは上記の元コードが 間違っているのでしょうか?それとも私の解釈が間違っているのでしょうか?
- 362 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 14:07:46.08 ID:baCtLp31.net]
- >>348
回転していない原点中心の立方体だったら点がどの面上か判定するのは簡単でしょ 逆に言えば逆行列を掛けてその状態までもっていけばいいんじゃないのかな 力技でいいなら立方体のコリジョンを面ごとに分割してもいけそうな気がする 試してないからうまくいくかは知らん
- 363 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 16:59:41.35 ID:XshOldtu.net]
- >>351
見る限りは初回のみCreate、以降はSaveで呼び出すみたい。
- 364 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 18:29:48.19 ID:ddu7OeuU.net]
- >>353
確かにその分岐で起動するとエラーメッセージは出なくなりました この処理ってどう見てもsettingsクラスとconfigクラス内のものだけを バイナリファイルにセーブする、っていう意味ですよね? つまり主人公のパラメータだのセーブ時の主人公の位置だの シーン名だの敵の位置だのイベントフラグだの、それら全部を settingsかconfigクラスに列挙してdataの対象にする必要がある、という事ですよね?
- 365 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 18:43:34.20 ID:t1kUpUtT.net]
- そりゃそうだ。俺が何をセーブしたいか自動で判別してくれる
セーブロードクラスとか怖すぎるだろw まぁゲームコントローラーで作った独自クラスの中身を セーブするように改造してもそれほど面倒ではなさろうだけど
- 366 名前:309 mailto:sage [2014/07/08(火) 18:45:16.78 ID:4qnhUGqB.net]
- >>352
私へのレスかな?(違ったらスミマセン) 実はその立方体は絶えず向きを変えながら動きまわってまして。。。 衝突点(RaycastHit.hit)と立方体の原点(RaycastHit.transform.position?)は取れると思うので どうにか導きたい。 考えてみます。ありがとうございます。
- 367 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 19:02:51.92 ID:F4NuZqsK.net]
- >>354
俺もその投稿みたとき「何をセーブするの?」って思ったよw そのアセットは触ったこと無いけど、 C#はクラスデータをserialize化する機能があるから、それでパックしてるんだろうね となるとポインタ的な何かが必要で、それが無くてNULLなんじゃね?
- 368 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 19:33:47.74 ID:ddu7OeuU.net]
- >>357
単純にdataインスタンスにシリアライズしたsettingsクラスとconfigクラスを 入れるメソッドを経由してなかったからみたいです これって例えばパラメータとかフラグ管理してるコンテナクラスとか 色んなマネージャークラスや敵クラスとか、ロード時読み出したいクラス全部に System.Serializable ()]属性付けないといけないって事ですよね?
- 369 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 19:42:19.15 ID:GK/wakWz.net]
- >>349
ありがとうございます! 確かにおっしゃる通りで、DefaultAvatarをコピってDefaultAvatarLegacyってのを作って それをLegacyに設定すると表示されるようになりました、感激です! ただ Raw Mocap Dataのうち例えば Idle/Idle_Neutral_1 Idle/Idle_Neutral_2 など、表示はされるもののTポーズのまま動かない、みたいな状態になるものが多いですね Idle/IdleR_To_IdleL_1 Idle/IdleR_To_IdleL_2 とかはピボットの位置と大きくずれてたり でもだいぶ核心に近づいてきました!
- 370 名前:333 mailto:sage [2014/07/08(火) 21:23:19.99 ID:baCtLp31.net]
- >>356
レス番号間違えたけどさっきのは329へのレスね 立方体が動き回っていても位置(position)と回転行列(rotation)が分かれば問題ないはず 衝突点と立方体中心の差分を取って回転行列の逆行列を掛ければ333に書いた状態になる(多分)
- 371 名前:314 mailto:sage [2014/07/08(火) 22:38:42.03 ID:A3tN0KUo.net]
- >>356
難しく考えすぎだと思う hit.pointはワールド座標ですが
- 372 名前:transform.InverseTransformPoint(Vector3)でキューブオブジェクトのローカル座標に変換できます
後は(1,0,0),(-1,0,0),(0,1,0),(0,-1,0),(0,0,1),(0,0,-1)との内積を計算して1に最も近いのがヒットした面の法線方向です 立方体なら簡単に分かる問題 void Update () { if(Input.GetMouseButton (0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray,out hit)) { var hitPointLocal = transform.InverseTransformPoint(hit.point); var faces = new Vector3[] { Vector3.right, -Vector3.right, Vector3.up, -Vector3.up, Vector3.forward, -Vector3.forward, }; var face = faces.OrderBy((c) => Mathf.Abs((1.0f - Vector3.Dot(c,hitPointLocal)))).First(); Debug.Log (face); } } } こんな感じでどうでしょうか?(Linq使ってるのでusing System.Linq;を頭に追加してください) [] - [ここ壊れてます]
- 373 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 22:43:57.76 ID:A3tN0KUo.net]
- あ、すまん。hitPointLocalは正規化したほうがいいかも
- 374 名前:名前は開発中のものです。 mailto:sage [2014/07/08(火) 23:47:44.77 ID:GNYY4mLA.net]
- >>358
自前でやるのが筋。 とか思っちゃうおれはオールドタイプなのか? ゲームシーンをごっそりセーブするなら、 Save Game-JSON+Binary っていうアセットはどう?
- 375 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 00:59:16.29 ID:w8x3TA41.net]
- >>363
ありがとうございます。 そのアセット知らないので、ちょっと調べてみます
- 376 名前:名前は開発中のものです。 [2014/07/09(水) 06:19:09.35 ID:qEp+Q++O.net]
- Unity2Dでsin cosを使ってオブジェクトを滑らかにカーブ移動させるのに、
参考になるようなサイトはないでしょうか?
- 377 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 10:09:57.48 ID:kwPBdcPP.net]
- >>365
普通に使えばええやん ゲームで滑らかにカーブ移動させたいならスプラインとかエルミート曲線の方が良くないか?と思わないでも無いけど どんな移動させたいのか具体的に書いてくれれば幾らでも参考サイトや有用Assetやらコードやら示してやれるがこの質問だけだとどもならんよ
- 378 名前:名前は開発中のものです。 [2014/07/09(水) 11:28:06.03 ID:CEnQGpTX.net]
- >>366
アセットを買えばどもなるよ。
- 379 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 11:32:48.63 ID:kwPBdcPP.net]
- >>367
今回の質問には私の知っているAssetがあるが、使っても居ない君には示すこともできないだろうwwww
- 380 名前:名前は開発中のものです。 [2014/07/09(水) 12:10:31.54 ID:CEnQGpTX.net]
- >>368
アセットを買わないと知っているから持っているに変わらないよ。
- 381 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 12:23:24.35 ID:pJQ0Abwo.net]
- 今日のアセット担当は日本語レベルが低いな
- 382 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 12:29:16.04 ID:UnwO4uOl.net]
- だいぶあせっとるんだろう
- 383 名前:名前は開発中のものです。 [2014/07/09(水) 12:30:02.63 ID:CEnQGpTX.net]
- >>370
アセットを買えば理解できるようになるよ。
- 384 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 12:58:05.82 ID:waqeFJ7J.net]
- 必死にレスしてるw
- 385 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 15:23:38.35 ID:H9+HAVhV.net]
- 天安門事件
- 386 名前:309 mailto:sage [2014/07/09(水) 15:44:09.25 ID:bOZmpXlN.net]
- レス遅くなり申し訳ありません。
>>360 >>361 あ、ローカル座標に変換できるのですか。 確かにそうであれば動き回ろうと関係無い…… お二人はそれ前提で話されてたんですね、難しく考えすぎていました。 コードまで載せてくださってありがとうございます。 実装の参考にさせていただきます。 Linqは知りませんでした。SQLをそのまま書けるイメージでしょうか。 面白そうです。 ありがとうございました!
- 387 名前:名前は開発中のものです。 [2014/07/09(水) 16:44:41.03 ID:CEnQGpTX.net]
- >>375
アセットを買えばもう少し人生の余裕が出来るよ。
- 388 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 17:05:38.35 ID:69aPN37H.net]
- >>376
アセットおじさん。 彼女ができるアセットを教えてください。
- 389 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 17:16:02.29 ID:c/2zjphJ.net]
- アセットおじさん
オレが寝てても妖精さんが勝手にコードを書いてくれるようになるには 具体的にどのアセットを買えばいいのか教えてください。
- 390 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 17:20:08.47 ID:kwPBdcPP.net]
- おじさんの弱いところは358の返しに
ttps://www.assetstore.unity3d.com/en/#!/content/18705 これを貼らないところかww
- 391 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 18:00:23.83 ID:K5w5Fazd.net]
- うにてぃちゃん、えらくすさんだトコ住んでるんやな
誰か可愛い部屋つくったれや
- 392 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 18:09:35.30 ID:g5+qSqKX.net]
- >>379
3枚目のSSで、もうほとんど M字開脚&アヘ顔ダブルピースを喚起
- 393 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 18:27:00.09 ID:yYdGlLLJ.net]
- ちょっと待って、>>371がなんか言ってる
- 394 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 18:41:53.55 ID:69aPN37H.net]
- >>380
とりあえず、これ置こか? https://www.assetstore.unity3d.com/jp/#!/content/8329
- 395 名前:名前は開発中のものです。 [2014/07/09(水) 19:55:30.85 ID:ly6OeI7iU]
- マルチレンダしたいのですが、カメラ1つ増やさないと絶対にできないんでしょうか。
カメラのSetTargetBuffersやグラフィックのSetRenderTargetを使ってマルチレンダ自体は しているのですが、マルチレンダをしたカメラの出力先がレンダテクスチャになってしまうので 仕方なくもう1つのカメラを使って画面に出力結果を出している感じです。 ドローコールが2倍になるのは避けたいです。 あとカメラとグラフィックの2つの関数の違いがわかりません。
- 396 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 19:33:46.82 ID:CEnQGpTX.net]
- >>380
アセットを買えば部屋もつくってもらえると思いますよ。
- 397 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 19:44:59.75 ID:He9lO1nK.net]
- 珍しくアセットおじさんがまともなこと言った
- 398 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 19:50:35.88 ID:4BHyJEoT.net]
- 作成した飛行系キャラクターに歩くモーションを適用したら
地面に降りて歩くようになってしまったんですけど これは足のIKとかが関係してるのでしょうか? どうやったら浮くようになりますか?
- 399 名前:名前は開発中のものです。 mailto:sage [2014/07/09(水) 19:56:04.45 ID:X3K0xNpT.net]
- animatorコンポーネントの
ApplyRootMotionの項目のチェックをはずす。
- 400 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 03:37:17.91 ID:xx5UL/cu.net]
- AというオブジェクトのTransform(ポジションとローテーション)を
BというオブジェクトのTransformに近づけていくのに簡潔な書き方ってないでしょうか 下記のように書いたんですが float x = Mathf.Lerp(A.transform.position.x, B.transform.position.x, t);. float y = Mathf.Lerp(A.transform.position.y, B.transform.position.y, t);. float z = Mathf.Lerp(A.transform.position.z, B.transform.position.z, t);. float rotationX = Mathf.Lerp(A.transform.rotarion.x, B.transform.rotarion.x, t);. float rotationY = Mathf.Lerp(A.transform.rotarion.y, B.transform.rotarion.y, t);. float rotationZ = Mathf.Lerp(A.transform.rotarion.z, B.transform.rotarion.z, t);. A.transform.position=new Vector3(x,y,z); B.transform.rotation=new Vector3(rotationX,rotationY,rotationZ); これだとちょっと冗長すぎて、もっと簡潔な書き方があると思えてなりません どなたかアドバイス願えますでしょうか
- 401 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 03:40:59.03 ID:xx5UL/cu.net]
- あ、コードの最終行は
× B.transform.rotation=new Vector3(rotationX,rotationY,rotationZ); ○ A.transform.rotation=new Vector3(rotationX,rotationY,rotationZ); でした というか欲を言うと A.transform += (A.transform-B.transform)*0.1f みたいに一行で全て済むのが理想ですが、さすがにこれはないですよね…
- 402 名前:346 [2014/07/10(木) 05:46:31.66 ID:xAErvCZm.net]
- >347
レスありがとうございます 2D横シューティングでよくあるような雑魚敵が画面真ん中くらいまで直進した後、 画面内側へ向かってカーブしていく動きを作ろうと思っています
- 403 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 05:52:23.17 ID:2vomgG9s.net]
- iTweenを覚えたらいいのに
- 404 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 07:29:03.59 ID:bIU8XwO6.net]
- 移動中に攻撃したり撃破されたりする処理を書くことを考えたら
自分で移動処理書いたほうがいい気もする
- 405 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 08:00:45.27 ID:9ExPOmiK.net]
- >>388
おおっ そんなに簡単に出来るんですか ありがとうございました
- 406 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 09:1
]
- [ここ壊れてます]
- 407 名前:4:32.54 ID:eKSeBp7C.net mailto: >>389
まぁ A.transform.position = Vector3.Lerp(A.transform.position,B.transform.position,t*Time.deltatime); A.transform.rotation = Quaternion.Lerp(A.transform.rotatin,B.taransform.rotation,t*Time.deltatime); とかだろうな。 [] - [ここ壊れてます]
- 408 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 09:14:35.97 ID:U1Yt5b0K.net]
- >>389
positionに対してはVector3.LerpとかVector3.SmoothDampを使えばいい rotationはQuarternionだからVector3は使えないし、xyzを線形補間してもスムーズに変化しない Quarternion.SLerpを使おう
- 409 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 09:17:10.37 ID:/MrudUJp.net]
- >>391は>>392が答えてくれてるけどiTweenってAsset買うか
https://www.google.co.jp/search?q=Hermite+curve をググると良い Unity上の実コードだと wiki.unity3d.com/index.php?title=Hermite_Spline_Controller ここに実サンプルがある
- 410 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 12:19:31.02 ID:zK1oDZ7N.net]
- iTweenってタダだろ
- 411 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 14:31:24.08 ID:YqQyc3Kt.net]
- >>392,375,376,367
ありがとうございます! 全部参考にさせて頂きます!
- 412 名前:名前は開発中のものです。 [2014/07/10(木) 17:44:54.12 ID:1NZl2Q51O]
- 四次元のQuaternionと三次元のVector3が何故掛け算出来るのか理解出来ません
例えばtransform.rotation * Vector3.forwardをすれば ローカル座標のz軸をワールド座標に変換して出力する。
結果がこうなるもんだと覚えるしかないと思ってます
- 413 名前:名前は開発中のものです。 [2014/07/10(木) 20:19:25.24 ID:Ntyozi8+.net]
- レースゲームを作りたくて移動のキー入力まではしたんですが
キーを離した瞬間物体がビタッと止ります。 車のような制動距離や遠心力を付けるにはここからどうすればいいでしょうか。 void Update () { if (Input.GetKey (KeyCode.UpArrow)) { transform.Translate(transform.forward* 1f); } if (Input.GetKey (KeyCode.DownArrow)) { transform.Translate (transform.forward * -1f); } if (Input.GetKey (KeyCode.RightArrow)) { transform.Translate (transform.right * 1f); } if (Input.GetKey (KeyCode.LeftArrow)) { transform.Translate (transform.right * -1f); }
- 414 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 20:27:57.36 ID:2vomgG9s.net]
- Rigidbodyでしょうね
- 415 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 20:32:16.10 ID:mOHUqZSy.net]
- >>401
ホイールコライダー使うのもいいかも
- 416 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 20:41:35.99 ID:KpRwf/VL.net]
- >>401
アセットを買って使えばいいかも
- 417 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 21:02:10.49 ID:eKSeBp7C.net]
- >>401
とりあえずColliderとRigidbodyつけて if (Input.GetKey (KeyCode.UpArrow)) { rigidbody.AddForce(transform.forward*0.1f) } とかやっていけば多少それっぽくなる。 勿論このままだと無限加速してとんでもないことにはなるし 横滑りも収まらないのでアレだが。 無料のアセット配ってるのでみてみれば? ttps://www.assetstore.unity3d.com/jp/#!/content/10
- 418 名前:名前は開発中のものです。 [2014/07/10(木) 21:26:22.26 ID:Ntyozi8+.net]
- >>402
>>403 >>404 さっそくの返答ありがとうございます。 wheel colliderとRigidbodyをつけてみますスクリプトを書き換えてみます。
- 419 名前:名前は開発中のものです。 [2014/07/10(木) 23:24:40.19 ID:ZuKA9b6a.net]
- >>401のレースゲームみたいなので制動距離つけるには3DにしてFrictionつければいいと思うのだけど、
もしそれをRigitbody2Dで実現するとしたらどうしたらいいと思います? updateで速度と反対方向にaddForceをかけ続ける感じになるでしょうか。 それならそもそもUnity使うより他の2Dエンジン使ったほうがいい、ってのはあるかもしれませんが…
- 420 名前:名前は開発中のものです。 mailto:sage [2014/07/10(木) 23:58:50.73 ID:Z7LGASn7.net]
- ご存知の方がいたら教えていただきたいです。
Facebook SDK for Unityについて。 FB.AppRequestで送ったリクエストは、 スマホ用Facebookアプリのお知らせエリアに 表示できないんでしょうか?また、何か表示させる方法はありますか? Webブラウザ版のFacebookでは問題なく確認できました。
- 421 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 00:33:28.98 ID:numCCkDS.net]
- >>407
それじゃダメなん?w そもそも自動車の場合進行方向と横方向では 挙動自体が違う訳で本当にそれっぽくしようと思ったら そんな単純にはいかんと思う。
- 422 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 02:22:02.11 ID:z/FG1Lf53]
- 2Dゲーム作っているんですが
SpriteEditorでアトラスの切り出し&中心設定が面倒なんで テキストデータかなんかから一気にスプライト作れませんか?
- 423 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 01:45:42.27 ID:RH+BKqCS.net]
- 物理演算が必要なMMOを作ろうとした場合、敵の座標計算や物理演算などをサーバー側でやってもらいたいのですが、unity の物理演算をこなしてくれるサーバーシステムってあるのでしょうか?
可能であれば、Unityでプログラミングしたものをサーバー側(Linux)で画面ナシで動かせるど有り難いのです。
- 424 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 02:13:53.43 ID:numCCkDS.net]
- >>411
この辺? ttp://docs-jp.unity3d.com/Documentation/Manual/CommandLineArguments.html
- 425 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 02:18:08.01 ID:numCCkDS.net]
- 特別なサーバーシステムといったものはないと思う。
サーバー的に動くプレイヤーをNoGraphicsで動かすとか?
- 426 名前:名前は開発中のものです。 [2014/07/11(金) 02:28:50.92 ID:LjXj+et2.net]
- >>407
お答えありがとうございます。現在3Dで製作しています。 >>402 、>>403 、>>404 までのを参考にSphereColliderとRigidbodyを付けてスクリプトを書き換え その後、Frictionをいじったらビタ止りはなくなりました。(ブレーキ付けないといけないですね汗) 現在 void Update () { if (Input.GetKey (KeyCode.UpArrow)) { rigidbody.AddForce(transform.forward*=10f); } if (Input.GetKey (KeyCode.DownArrow)) { rigidbody.AddForce (transform.forward*=-10f); } if (Input.GetKey (KeyCode.RightArrow)) { rigidbody.AddForce (transform.right *=10f); } if (Input.GetKey (KeyCode.LeftArrow)) { rigidbody.AddForce (transform.right *=-10f); } 教えてもらったやつそのままですが(´;ω;`) >>409 言われてみれば横方向と進行方向ではだいぶ違いましたw もう少し調べて進行方向どブレーキを追加できるようがんばってみます。
- 427 名前:371 [2014/07/11(金) 02:29:14.38 ID:Ndb5x14T.net]
- >>392 373 377
ありがとうございます
- 428 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 02:57:51.08 ID:/uldMMue.net]
- あらら
名前残ってるじゃんw かっこわりぃorz 特に意味は無いんでお気になさらないでくださいまし。
- 429 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 06:13:13.30 ID:gotoO2+E.net]
- 物凄く初歩的な質問で申し訳無いんだけど、
playmakerで『扉を1度クリックすると90度だけ開けて、もう一度クリックすると90度閉まる』 みたいな動きって、アクションブラウザのどの機能をどう設定したら出来るのかな TransformのRotateを使うと90度で止まらずにいつまでもぐるぐる回転し続けてしまって上手くいかない……
- 430 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 07:46:59.09 ID:h0v6u8eB.net]
- >>417
そういうときはQuaternion.Lerpを使うといい 使用例はググればすぐに出る もしくはiTweenを使うか
- 431 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 10:02:08.17 ID:4wDtwqZb.net]
- >>417
普通はアセット買って使うと思います
- 432 名前:名前は開発中のものです。 [2014/07/11(金) 11:41:34.25 ID:3PaAgeVz.net]
- unityでゲームアプリ作ってます。
ios版だとロード時間が18秒なのに、 android版だとロードに82秒もかかります。 android版は何か特別な設定がいるのでしょうか? ちなみに、テスト機種はiphone4sとnexus7(2012)です。
- 433 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 12:35:10.29 ID:IsWzNpN0.net]
- 多分Texture周りじゃないかなぁ
減らしてみるといいかも
- 434 名前:名前は開発中のものです。 [2014/07/11(金) 12:53:38.30 ID:3PaAgeVz.net]
- >>421
テクスチャ周りが原因だとすると ios版もロード時間がかかるのではないでしょうか? あるいはandroidはテクスチャの数や大きさに極端に弱いのでしょうか? 元々はios版でもロード時間が50秒ほどかかってましたので、 ドローコール対策も含め、テクスチャの
- 435 名前:圧縮、サイズ減少、
数そのものを減らすなどの対策はして、現在のロード時間に 持っていきました。 この状態でandroid版も作れば問題ないだろうと思ってましたが、 まさかのロード時間4倍強に驚き、今回質問させて頂きました。 [] - [ここ壊れてます]
- 436 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 13:16:41.05 ID:IsWzNpN0.net]
- apk内にandroid非対応な画像形式でもってると、
起動するときに再圧縮したような記憶があるよ 調べもしないでてきとーなこといってっけどなw これが原因かどうかはETC圧縮を始めから持ってるとかでやるといいと思う。
- 437 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 14:02:32.00 ID:peacAnX5.net]
- >>422
アセット買って使うと早いと思いますよ
- 438 名前:名前は開発中のものです。 [2014/07/11(金) 14:32:43.51 ID:3PaAgeVz.net]
- >>423
起動時に再圧縮していれば android版だけロード時間遅いのも納得できますね。 ちなみに自作のテクスチャは全てPNG形式で、 Unity上で各画像に対して「Override for Android」に チェックを入れ、アルファ無し画像に関しては 「RGB Compressed ETC 4 bits」を、アルファ有り画像は 「Compressed」を選択するようにしています。 ただ、アセットストアで購入したものも多数あり、 それらの圧縮が漏れてる可能性もあるので、 もう少し調べてみます。 >>423 ロード時間を短くするようなアセットがあるのでしょうか? 少し調べてみましたが、それらしいのが見つけられませんでした。 よろしければ、お勧めのアセットを教えて頂けますでしょうか。
- 439 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 17:22:11.52 ID:/EkrBbsZO]
- >>417
iTweenで行けた!ありがとう!
- 440 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 17:47:16.34 ID:gotoO2+E.net]
- >>418
iTweenで行けた!ありがとう!
- 441 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 19:08:07.87 ID:F1C1ztkp.net]
- 質問良いですか?
c#でVector3の配列を作ってインスペクタで入力したいのですがどう宣言したらいいですかね? public Vector3[] hairetu=○○○○; ググり方が悪いのかこの○○○○の部分をどう宣言したらいいのかわかりません
- 442 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 19:17:46.48 ID:F1C1ztkp.net]
- 今は一個一個Vector3を作ってStart()関数内でVector3[]の配列に移動させるという
やり方でちゃんと動いているのですがどうみてもこれは違うだろと思い質問しました
- 443 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 19:24:58.03 ID:vZ0nnfC1.net]
- 単純に
public Vector3[] hairetu; ではあかんの?
- 444 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 19:29:01.28 ID:F1C1ztkp.net]
- >>430
おおおぉ 出来たようです! サイズの指定なしでは配列の宣言なんて無理だと思い込んでました インスペクタでサイズの指定も出来ます どうもありがとうございます こんなシンプルで良かったんですね〜
- 445 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 19:36:54.95 ID:DF7rDM9S.net]
- 最初からサイズまで指定したければ
public Vector3[] test = new Vector3[10]; とか書く方法もある。
- 446 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 19:55:37.74 ID:rjhmR5tU.net]
- なぜVector系はnewでインスタンス化する必要があるのか
その理屈が分かりません。なぜですか?
- 447 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 20:10:53.00 ID:rq/v5QCI.net]
- >>433
ポールがそう作ってしまったから
- 448 名前:名前は開発中のものです。 mailto:sage [2014/07/11(金) 20:18:50.89 ID:DF7rDM9S.net]
- むしろその質問の意味がわからんw
Classである以上コンストラクターを呼び出して インスタンスを生成するってのはそういうるーるなんじゃねぇのかw
- 449 名前:名前は開発中のものです。 [2014/07/11(金) 20:50:32.36 ID:Bika1xz9.net]
- Unityからプログラミング始めた人はクラスとかわからないし、
UpdateとかStartがどのプログラミング言語にもあると思い込んでると思うんだ。 ちなみに揚げ足取るわけじゃないけどVector3はクラスではなく構造体なんだ。
|

|