"自作ゲーム"カテゴリーの記事一覧
-
マルチプレイによるマッチメイキング機能を
使用するには20人以内で収めないと有料になってしまう
為現在のゲームを再検討することにした。
壁にぶち当たる。
このゲームはこのゲームでセーブしつつ
本命の銃の機構に赴きを置いたサバイバルゲーム
の銃の部分にフォーカスを当て、簡単なAIを倒す
FPSを製作してはどうか?と言うことになった。
実は既にRecieverと言うハンドガンのメカニズムを
全て手動で行うゲームが出ている。これをヒントに
シミュレーターとゲームの丁度良いバランス取りに
したゲームを作ろうと思う。
と言うより既に取り掛かっている。PR -
新たに新規でプロジェクトを立ててみて
Quaternion.AngleAxisで回転を試みる。
もちろんTransform.rotationと
RigidbodyのmoveRotationを使って。
軸さえ指定すればやはりちゃんと回った。
問題はソースコードに問題あり。
というかこれしかないよね。 -
残念ながら前回の記事は嘘と言う事になる。
実際レイヤー番号を入れてみたものの全く反映
されている気配が無かったのだ。
結果から言うと成功。
ただしやり方が違っていた。このレイヤーのID?
を取得するにはビット演算という多少面倒な事を
しないと取得できないらしい。しかしそんなものは
必要なくとても簡単な方法があったので書き留めて
置く。そしてそのコードを書いてくださった方、
本当にありがとう。
クラスのメンバに「public」としてLayerMask型を宣言
してやる。これだけ。後はこのスクリプトをアタッチ
しておけば現在のレイヤーが選べるようになっている。
一番下にあるように「Mask」という項目が追加される。
「Maskは」自分のつけた変数名になるのでそこは注意。
スクリプトにいったん戻り
レイヤーマスクの引数にこの変数を添える。私は
そのままでも反映の確認が取れたが、メンバとして
.valueを付けるとの事。今度こそ反映されるはずだ。
是非やってみて欲しい。
私はこれで余計な当たり判定に悩まされずに済んだ。
カクカクしたボックスの挙動もスムーズになった。
とりあえず一歩前進である。
-
最近文字の大きさを少し大きくしてみたは良いものの、
逆にみにくいような気がしてならないんですが皆様の
意見お待ちしております。
さて、
話は本題に入りまして。
プレイヤーの中心からレイを真下に飛ばして
当たり判定を取っていますが、面の法線の逆側
(ポリゴンの裏側)からでもしっかり拾っている
ことが分かりました。あたった場所にテキトーな
モデルを配置することで発見することが出来ました。
しかしながらとても不思議な動きをします。
マップにあったと思ったら徐々にプレイヤーの位置
までモデルが上がってくるのです。
はてな?
例え二つ当たったとしてもどちらかの座標にモデル
が再配置されるはず。ここら辺は良く分からないので
LayerMask機能を使う事にする。
layermaskはただのint型の数値で、
ここにレイヤー番号を入れる事で定めた物しか
衝突しか検知しない様にできる引数みたいです。
これを利用すれば恐らくモデルが中に舞うと言った
現象には悩まされないと見ています。
まぁ、
やってから記事書けよって話なんですけども。
結果は後ほど。