質問: ### 前提・実現したいこと Unityで弾幕ゲームを作っています。 TouchScriptというAssetを使用してプレイヤーをタッチ(現在はマウス)で操作しているのですが、X軸Y軸が共に0のところでプレイヤーを離すと、再度タッチしても反応がなく動きません。 3Dで作っていますが、プレイヤーは平面の範囲でのみ動きます。 どのような解決方法が考えられますでしょうか。何卒宜しくお願い致します。 ### 試したこと 1.プレイヤーにRigidbodyをつけ、X軸Y軸0のところでとどまらないようにしました。→操作性が悪くなりやめました。 2.重なり合っている背景とプレイヤーのLayerについてProjectSetting→Physicsのところで当たらないようにチェックを外しました。 ### 補足情報(FW/ツールのバージョンなど) Unity 2018.3.5f1 Personal
回答: こちらでも該当アセット入れて確認しました。 恐らくRenderModeが`Screen Space - Overlay`のCanvas(の中に入っているUI)か、カメラの子オブジェクト(見えないがColliderを持つオブジェクト)が入力を阻害しています。 以下のいずれかの方法で対応可能かと。 1.阻害しているオブジェクトのLayerを任意に設定後、StandardLayerコンポーネントの`Layer Mask`からそのLayerのチェックを外す (自分でStandardLayerを付与していない場合はMainCameraに付与してから上記設定にする) 2.阻害しているのがUIの場合:StandardLayerコンポーネントの「Hit 〜 UI」のチェックを外す(2箇所) (自分でStandardLayerを付与していない場合はMainCameraに付与してから上記設定にする) (UIも動かすつもりの場合はこれだとダメなので方法3以降で) 3.阻害しているのがUIの場合:CanvasのRenderModeを`Screen Space - Camera`に変更し、RenderCameraにカメラを設定 (この場合3D/2DオブジェクトがUIの上に重なるので問題がある場合は方法4で) 4.阻害しているのがUIの場合:タッチを阻害しているコンポーネント(TextやImage等)の`Raycast Target`のチェックを外す (TouchScriptだけでなくUnity標準のクリックも無効化されます)