お知らせと画力修行用に開設しました。よろしくお願いします!
いままで調べたuntiyのスクリプトを忘れそうなので自分用にメモしておく。
基本、デザイナーなので間違ってたらごめんなさい。
キャラクターコントローラー用のスクリプトです。これで基本的な動きは出来るはず。
#pragma strict
var jumpSpeed : float = 8.0;//ジャンプ変数
var gravity : float = 20.0;//重力変数
private var velocity : Vector3;//呪文キャラの移動量を格納移動
private var moveDirection : Vector3 = Vector3.zero;//呪文キャラの移動量を格納移動
function Update() {
var inputH : boolean = false;
var inputV : boolean = false;
var controller : CharacterController = GetComponent(CharacterController);//呪文キャラの移動量を格納移動
moveDirection = Vector3.zero;//呪文キャラの移動量を格納移動
if (controller.isGrounded) {//地面の判定してくれる
if (Input.GetButtonDown("jump")) {animation.CrossFade("pjump");
velocity.y = jumpSpeed;
animation.Play("pjump");
}
}
if (Mathf.Abs(Input.GetAxisRaw("Horizontal")) > 0.5) {
//左右キーと同様に小さい値の場合は入力無しとして扱っています。
inputH = true;
transform.eulerAngles.y += Input.GetAxis("Horizontal")*Time.deltaTime*100;
}
if (Mathf.Abs(Input.GetAxisRaw("Vertical")) > 0.5) {
//上下キーで前進、後進をさせる処理を行っています。
inputV = true;
moveDirection += transform.forward*Input.GetAxis("Vertical")*2;
}
controller.Move(moveDirection*Time.deltaTime);//最終的に確定した移動量を適用。
//キー入力が有ったら walk のアニメーション、無かった場合は idle のアニメーションを再生。
if (inputH || inputV) {
animation.CrossFade("walk");
} else {
animation.CrossFade("idle");
}
velocity.y -= gravity * Time.deltaTime;//呪文重力
controller.Move(velocity * Time.deltaTime);//呪文キャラの移動量を格納移動
}
基本、デザイナーなので間違ってたらごめんなさい。
キャラクターコントローラー用のスクリプトです。これで基本的な動きは出来るはず。
#pragma strict
var jumpSpeed : float = 8.0;//ジャンプ変数
var gravity : float = 20.0;//重力変数
private var velocity : Vector3;//呪文キャラの移動量を格納移動
private var moveDirection : Vector3 = Vector3.zero;//呪文キャラの移動量を格納移動
function Update() {
var inputH : boolean = false;
var inputV : boolean = false;
var controller : CharacterController = GetComponent(CharacterController);//呪文キャラの移動量を格納移動
moveDirection = Vector3.zero;//呪文キャラの移動量を格納移動
if (controller.isGrounded) {//地面の判定してくれる
if (Input.GetButtonDown("jump")) {animation.CrossFade("pjump");
velocity.y = jumpSpeed;
animation.Play("pjump");
}
}
if (Mathf.Abs(Input.GetAxisRaw("Horizontal")) > 0.5) {
//左右キーと同様に小さい値の場合は入力無しとして扱っています。
inputH = true;
transform.eulerAngles.y += Input.GetAxis("Horizontal")*Time.deltaTime*100;
}
if (Mathf.Abs(Input.GetAxisRaw("Vertical")) > 0.5) {
//上下キーで前進、後進をさせる処理を行っています。
inputV = true;
moveDirection += transform.forward*Input.GetAxis("Vertical")*2;
}
controller.Move(moveDirection*Time.deltaTime);//最終的に確定した移動量を適用。
//キー入力が有ったら walk のアニメーション、無かった場合は idle のアニメーションを再生。
if (inputH || inputV) {
animation.CrossFade("walk");
} else {
animation.CrossFade("idle");
}
velocity.y -= gravity * Time.deltaTime;//呪文重力
controller.Move(velocity * Time.deltaTime);//呪文キャラの移動量を格納移動
}
PR
Comment
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。