查看: 1665|回复: 2
打印 上一主题 下一主题

unity3d 一个简单的飞行模式脚本(转自天涯老严博客)

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-7-27 16:56:47 |只看该作者 |倒序浏览
以下代码未经测试,仅做研究,特别是后一段代码。
操作说明:

Q 向上移动

E 向下移动

按住左Shift 加速

W A S D 和默认的相同
unity3d中替换Fpswalker文件即可
var speed = 6.0;

var jumpSpeed = 8.0;

var gravity = 0;

private var moveDirection = Vector3.zero;

private var grounded : boolean = false;

function FixedUpdate() {

my=moveDirection.y;

moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));

moveDirection = transform.TransformDirection(moveDirection);
if (grounded) {
moveDirection *= speed;
} else {

moveDirection *= speed+transform.position.y/5;

moveDirection.y=my;

}

if(Input.GetKey ("e")) {

transform.Translate(0, -1, 0);

}
if (Input.GetKey ("q") ) {

transform.Translate(0, 1, 0);
}

if(Input.GetKey("left shift")) {

speed=6*5;

} else {

speed=6;

}

moveDirection.y -= gravity * Time.deltaTime;
var controller : CharacterController = GetComponent(CharacterController);

var flags = controller.Move(moveDirection * Time.deltaTime);

grounded = (flags & CollisionFlags.CollidedBelow) != 0;

}

@script RequireComponent(CharacterController)

private var myWalker: FPSWalker=null;

var maxHeight: float=250;

function Start () {

myWalker = gameObject.GetComponent(FPSWalker);

}
@script RequireComponent(FPSWalker)
下面另一个是我一牛B死党写的,更TMD的简练,半天我才搞懂。。
var sensitivity : float = .1;

var moveSpeed : float = 5;
function Update() {

transform.Rotate(Vector3.up * Input.GetAxis("Mouse X") * Time.deltaTime * sensitivity);

transform.Translate(Vector3.forward * Input.GetAxis("Vertical")* Time.deltaTime*moveSpeed ); //

transform.Translate(Vector3.right * Input.GetAxis("Horizontal") * Time.deltaTime* moveSpeed); //

transform.Translate(Vector3.up * Input.GetAxis("UpDown") * Time.deltaTime* moveSpeed);

}
别忘了还要到editproject settinginput 里面设置 UpDown
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

315

主题

0

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
10878
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-7-27 21:48:27 |只看该作者
不错!!!!!!!!!!!!
回复

使用道具 举报

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-8-3 18:02:34 |只看该作者
我爱纳金网~www.narkii.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-1-31 18:02 , Processed in 0.068544 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部