移動で作成してスクリプトにジャンプ機能を具現してみました。
Unity(ユニティ)整理:01.移動
ジャンプも基本的には移動と同じと思いました。
GameObjectにRigidbodyコンポネントを追加して重力を適用してから移動で利用して方式を応用しました。
1.Transform.Translate利用
--------------
if (Input.GetKey(KeyCode.Space))
{
transform.Translate(Vector3.up * Time.deltaTime *100 );
}
重力が強いなのか100ぐらいを乗じたらジャンプに見えました。
Positionを直接移動させたので不自然なジャンプです。
--------------
2.RigidBody.Velocity利用
--------------
private Rigidbody rb;
void Start () {
rb = GetComponent<Rigidbody>();
}
if (Input.GetKey(KeyCode.Space))
{
rb.velocity = new Vector3(0, 5, 0);
}
5ぐらいの設定でずいぶん良いジャンプです。
--------------
3.RigidBody.AddForce利用
--------------
private Rigidbody rb;
void Start () {
rb = GetComponent<Rigidbody>();
}
if (Input.GetKey(KeyCode.Space))
{
rb.AddForce = new Vector3(0, 100, 0);
}
100ぐらいの設定でずいぶん良いジャンプです。
--------------
問題がありました。
スペースキーをずっと押していると無限ジャンプになります。
Plainに触れている状態のみジャンプが可能にしてみました。
--------------
private bool isJumping=false; //ジャンプ処理したのかを確認するため
.
..
...
if (Input.GetKey(KeyCode.Space) && isJumping==false)
{
rb.AddForce = new Vector3(0, 100, 0);
isJumping=true;
}
--------------
ここまでにするとジャンプは1回しかできません。
Plainに触れたときisJumping=falseへ変更処理が必要です。
2つ方法で処理してみました。
1.OnCollisionEnter利用
--------------
Plain:Inspector:TagをGroundに設定しました。
private void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.CompareTag("Ground"))
{
isJumping = false;
}
}
Collider.OnCollisionEnter(Collision)
--------------
2.Physics.Linecast利用
--------------
Plain:Inspector:LayerをGroundに設定しました。
isJumping= Physics.Linecast(transform.position, transform.position - transform.up * 1.1f, LayerMask.GetMask("Ground") );
を
if (Input.GetKey(KeyCode.Space) && isJumping==false)
の上追加しました。
ジャンプ処理後の isJumping=true; はなくでも良かったので削除しました。
Physics.Linecast
--------------
Unity(유니티) 정리: 02.점프
2018년 3월 9일 금요일
피드 구독하기:
댓글 (Atom)
1、2、QWER! in OSAKA (大阪 2025/4/10(木) Yogibo META VALLEY)
https://www.creativeman.co.jp/event/qwer-osaka/ QWER - CREATIVEMAN PRODUCTIONS 主催:LIVET 企画:ソニー・ミュージックソリューションズ 招聘:クリエイティブマンプロダクション 制作協力:クリエイテ...
-
PART-1에 이어 정리합니다. https://youtu.be/I36KvRwpOvk WHO'S THE BRAVEST? 누가 가장 용감한가요? 유주 소원 예린 은하 유주 신비 엄지 유주 유주 신비 유주 은하 신비 0 0 1 3 2 0 신비)...
-
ニュースやネットでビットコインや仮想通貨の話が多くなり、 TVのCMにも出るようになりました。 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 200倍上がった! 何も意味ないことでギャンブルと違いない。 今、買うのは危ない。 ま...

댓글 없음:
댓글 쓰기