忍者ブログ
お知らせと画力修行用に開設しました。よろしくお願いします!
[56]  [55]  [54]  [53]  [52]  [51]  [46]  [45]  [44]  [42]  [30
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

いままで調べた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);//呪文キャラの移動量を格納移動
}

拍手

PR
Comment
name 
title 
color 
mail 
URL
comment 
pass    Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。
Template by Crow's nest 忍者ブログ [PR]