ユニティ喜びスフィア

-2)物理Materical)を設定した後、衝突materical弾性特性のボールにボールをプルするプロジェクトビューに加え下に独自のコードを制御する能力をジャンプ// --1ボール
; SphereCollider sphereCollider
;公共bounceSpeedフロートが
フロートを公衆重力;
公共フロートmaxSpeed 1 =;
フロートRADIUS = 0;
フロート速度、
スタート(無効)
{
sphereCollider GetComponent =();
RADIUS = sphereCollider.radiusは;
}
ボールモバイルコンピューティングをドロップ//
)(ドロップを無効
{
シミュレートされた重力とを減算することによって各フレームについて//速度に影響する
スピード- =重力* Time.deltaTimeを。

達成可能な最大速度制限//ボール
; = Mathf.Clamp(速度、-maxSpeed、maxSpeed)速度
transform.position新しい新規のVector3 + =(0、スピード、0);
}
ボイドバウンス()
{
//ボールリバウンド検出スキップとき
IFを(速度> = 0)
{
リターン;
}
//ボールよりもわずかに小さいキューブの適切な場所、位置ずれを決定
するVector3 P = transform.position +新規のVector3( 0、-radiusを、0) ;
のVector3新しい新しいするVector3サイズ=(* RADIUSの0.5F、0.5FのRADIUS *、* RADIUSの0.5F)
。IF(Physics.OverlapBox(P、サイズ、Quaternion.identity、LayerMask.GetMask( "グラウンド"))の長さ> 0 )
{
速度= bounceSpeed;
}
}
更新()無効
{
バウンスを();
ドロップ();
}
1
2
3。
4。
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
}

//物体的旋转
にSystem.Collectionsを使用しました。
System.Collections.Genericを使用しました。
UnityEngineを使用しました。

InputLogicクラス公衆:{MonoBehaviour
//マウスの位置を記録
するVector3 lastMousePos = Vector3.zero;
ボイドTouchRotate()
{
        回転//マウスの左ボタンを押し
        IFを(Input.GetMouseButton(0))
{
            //これは、計算されその差にマウス位置の次に、Y軸回転
            フロートMovex =(Input.mousePosition - lastMousePos).X、
transform.Rotate(0、-moveXは、0);
}
}
(Updateを無効)
{
TouchRotate (http://www.amjmh.com/v/BIBRGZ_558768/);
lastMousePos = Input.mousePosition;
}
}

おすすめ

転載: www.cnblogs.com/hyhy904/p/11460268.html
おすすめ