lem*_*unk 1 c# mono unity-game-engine
使用Unity3d 4.1.2,C#mono.
转到以下脚本:
using UnityEngine;
using System.Collections;
public class PlayerMove : MonoBehaviour
{
public float MoveSpeed = 30.0f;
public float maxVel = 0.000000001f;
// Use this for initialization
void Start ()
{
//Physics.gravity = Vector3(0,-50,0);
}
void FixedUpdate()
{
maxVel = 20f;
MoveSpeed = 50.0f;
if(Input.GetKey(KeyCode.D))
{
rigidbody.AddForce(Vector3.right * MoveSpeed);
Debug.Log("BEFORE = " + rigidbody.velocity.magnitude);
}
if(Input.GetKey(KeyCode.A))
{
rigidbody.AddForce(Vector3.left * MoveSpeed);
}
rigidbody.velocity = Vector3.ClampMagnitude(rigidbody.velocity, maxVel);
Debug.Log("AFTER = " + rigidbody.velocity.magnitude);
}
// Update is called once per frame
void Update ()
{
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到工作正常,夹具有一些问题,但最终让它工作.
有一个问题......
在Unity的物理引擎中,我将y值更改为-30,并将材料"反弹"设置为1,因此它不会消耗能量.
问题是我的夹具是夹紧回弹效应,因为夹具影响所有轴:(因此刚体永远不会返回到它的y位置.
有没有办法改变夹子只影响x轴?我一直无法找到任何相关信息.
欢呼的家伙
是的,只夹x值:
Vector3 clampVel = rigidBody.velocity;
clampVel.x = Mathf.Clamp(clampVel.x, min, max);
rigidBody.velocity = clampVel;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3262 次 |
| 最近记录: |