-
前の企画書の一部。
全てをプログラム上で連動させる。
アニメーションではなくごまかしが効かない
のが難点ではある。モデルガンやガスガンを
触ったことがある人なら分かると思う。
撃つ瞬間も楽しいが、撃つまでの過程も楽しい
と言うことを。ここら辺は普通のFPSなら
ゲームテンポが落ちないようスムーズな
自動リロードが始まる。
しかしこの部分こそ、言わばショートケーキ
でいうイチゴの部分なのかもしれない、と
私は思っている
って事で再び銃が戻ってきた。
プロトタイプとはいえ機構を作るのは
やはり面倒だ。ゲームによってはハンマー
が常におちてたりと現実ではありえない
挙動だったりと。銃へのこだわりは
それぞれFPSによって違うので、
リロードアニメーションなどを見比べてみると
大体そのゲームがどこまでこだわってるかが
分かって楽しい。
今回は左クリックでトリガーが動くように
してみた。まだハンマーは稼動しない。
更に言えばシングルアクションとダブルア
クションを両立させなければいけない。
ちょいとこれが面倒。
PR -
マルチプレイによるマッチメイキング機能を
使用するには20人以内で収めないと有料になってしまう
為現在のゲームを再検討することにした。
壁にぶち当たる。
このゲームはこのゲームでセーブしつつ
本命の銃の機構に赴きを置いたサバイバルゲーム
の銃の部分にフォーカスを当て、簡単なAIを倒す
FPSを製作してはどうか?と言うことになった。
実は既にRecieverと言うハンドガンのメカニズムを
全て手動で行うゲームが出ている。これをヒントに
シミュレーターとゲームの丁度良いバランス取りに
したゲームを作ろうと思う。
と言うより既に取り掛かっている。 -
新たに新規でプロジェクトを立ててみて
Quaternion.AngleAxisで回転を試みる。
もちろんTransform.rotationと
RigidbodyのmoveRotationを使って。
軸さえ指定すればやはりちゃんと回った。
問題はソースコードに問題あり。
というかこれしかないよね。 -
残念ながら前回の記事は嘘と言う事になる。
実際レイヤー番号を入れてみたものの全く反映
されている気配が無かったのだ。
結果から言うと成功。
ただしやり方が違っていた。このレイヤーのID?
を取得するにはビット演算という多少面倒な事を
しないと取得できないらしい。しかしそんなものは
必要なくとても簡単な方法があったので書き留めて
置く。そしてそのコードを書いてくださった方、
本当にありがとう。
クラスのメンバに「public」としてLayerMask型を宣言
してやる。これだけ。後はこのスクリプトをアタッチ
しておけば現在のレイヤーが選べるようになっている。
一番下にあるように「Mask」という項目が追加される。
「Maskは」自分のつけた変数名になるのでそこは注意。
スクリプトにいったん戻り
レイヤーマスクの引数にこの変数を添える。私は
そのままでも反映の確認が取れたが、メンバとして
.valueを付けるとの事。今度こそ反映されるはずだ。
是非やってみて欲しい。
私はこれで余計な当たり判定に悩まされずに済んだ。
カクカクしたボックスの挙動もスムーズになった。
とりあえず一歩前進である。