UnityでFPSゲームを作る③RigidBodyとジャンプの実装

前回の記事

UnityでFPSゲームを作る②FPS視点操作の調整

 

前回までで基本的なFPSの視点操作を実装しました。

 

今回は物理演算(RigidBody)とジャンプを実装します。

①空のPlayerオブジェクトにRigidbodyコンポーネントとCapsule Colliderを追加。

設定は以下の通りです。

Use GravityにチェックをいれConstraintsのFreeze Rotationすべてにチェックを入れます。これで転がらなくなります。

 

Capsule ColliderはEdit Clliderをクリックし形を調整します。

CenterのYを調節し地面の高さより少し高くします。

 

 

床をすり抜ける場合は床にColliderが付いているかを確認してください。

 

②ジャンプを実装します。

新しいスクリプト、PlayerJump.csを作成し、Playerオブジェクトにアタッチします。

 

インスペクターでの設定は以下の通りです。

PlayerにPlayerをアタッチし、Upseedはスペースキーを押したときの力の大きさです。調整してみてください。

以下のようになります。しかしこのスクリプトには問題があります。

 

上記のスクリプトの問題点

  • 連打で連続して飛べてしまう。

次回はこの問題を解決してみます。

UnityでFPSゲームを作る②FPS視点操作の調整

前回の記事

UnityでFPSゲームを作る①FPS視点操作

前回の記事で作ったFPS視点のスクリプトの問題点を改良します。

 

前回のスクリプトの問題点

  • 視点が一回転できてしまう。

ので縦方向の視点操作を制限しましょう。

以下が前回のPlayerController.csを改良したものです。

これでいい感じに角度が制限させると思います。

 

UnityでFPSゲームを作る①FPS視点操作

Unity初の記事はFPSゲームを作っていきたいと思います。

作業環境

  • Unity5.5.2
  • windows10 64bit
  • CPU i7 6700K メモリ 16GB GPU GTX1060

参考にさせて頂いたサイト

① プロジェクトの作成。

3Dのプロジェクトとして新規プロジェクトをさくせいします。

②平面を配置

(0,0,0)に3dobjectのPlaneを配置します。

③Playerを作成

HierarchyにCreate emptyで空のGameObjectを作成します。

名前をPlayerにしタグをPlayerにします。

 

④CameraをPlayerの子オブジェクトに

 

⑤スクリプトの作成

以下のPlayerController.csを作成しMain Cameraにアタッチします。

 

 

コンポーネントの設定は以下の様にしてください。

Speedは歩く速度なので調節してみてください。

すると、マウスでの視点操作、WASDで移動ができます。

 

AngularJSでHello World


さて、AngularJSが動作する環境を用意した次は実際にAngularJSを利用してHello Worldを表示してみましょう。

仕組みとしては

  1. JSファイルでモジュール、コントローラーを作る
  2. HTML内のどの範囲で上のモジュール、コントローラーが動作するかを記述
  3. HTMLの{{}}内がjavascriptの変数として扱われAngularJSで操作できる

といった感じでしょうか。

なにはともあれコードを見ていきましょう。

AngularJSの機能はモジュールとメソッドという単位で実装していきます。

 

 

AngularJSの基本形

 


それでは早速AngularJSを書いていきましょう。

以下がAngularJSを導入したindex.htmlです。

キモは <html ng-app> angular.min.jsの読み込み、そして{{}}内でJavascriptの処理が行える点でしょう。

では定番のHello Worldを表示してみましょう。

こんな感じで{{}}内にjavascriptを記述できます。

が、これではAngularJSを使ってHello Worldを表示したとは言えません。

あくまでAngularJSを導入してJavascriptをbody内に記述できるようにしてHello Worldを表示したにすぎませんよね。

それでは次回AngularJSを使ってHello Worldを表示してみましょう。

Modifierの使い方①基礎編

今回は3DオブジェクトにModifierを追加していきましょう。

Modifierとは非破壊で簡単にオブジェクトのディテールアップ、造形が行える機能のことです。

Modifierにもいろいろありますが今回はその全てに共通している基礎について説明します。

真ん中にキューブだけの簡単なシーンがあります。

まずmodifierを適応したいオブジェクトを右クリックで選択します。

Modify Generate Deform Simulate という列がありますが今回はGenerateのArrayを使ってみます。

Array をクリックするとModifier パネルにArray が追加されます。

するとなんか伸びましたか?

実はこれは伸びたのではなく並べられているのです。

試しにそのArrayの様々なプロパティをいじってみてください。

数が増えたり、xyzにオフセット(間隔)を持たせることが可能です。

そしてもう一つ、共通して重要なのはこれ

  • カメラマーク レンダリングに反映するか否か
  • 目マーク  プレビューに反映するか否か
  • □マーク エディットモード時に反映するか否か
  • 逆三角 そのModifierによって生成された点にたいしてエディットモードで編集可能か

Apply  :適応(破壊)

Copy   :Modifierをコピーしてほかのオブジェクトにペーストできます。