新建一个TestFlay.js脚本,内容如下:
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(transform.position.y>=6){
if(Input.GetKey ("e")) {//按下e键向下飞行
transform.Translate(0, -1, 0);
}
}
if (Input.GetKey ("q") ) { //按下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)
将它绑定到First Person Controller上,然后将前面的对勾勾掉。
再建一个脚本Fly.js,内容为:
var play:GameObject;
function Update () {
}
function OnGUI(){
if(GUI.Button(Rect(215,280,75,30),"Normal-Walk")){
play.GetComponent("FPSWalker").enabled = false;
play.GetComponent("TestFly").enabled = true;
}
if(GUI.Button(Rect(230,200,50,30),"Start-Fly")){
play.GetComponent("FPSWalker").enabled = true;
play.GetComponent("TestFly").enabled = false;
}
}
将其绑定到一个新建的GameObject上,运行即可看到效果。
分享到:
相关推荐
通过这个脚本,我们可以学习到Unity3D游戏开发中的人物运动控制的实现方法和技巧。 知识点: 1. Unity3D游戏开发中的人物运动控制 2. Personenbewegung的实现方法 3. CharacterController组件的应用 4. FPSWalker...
Unity3D内置的Mecanim动画系统支持骨骼动画的混合和过渡,使得模型可以实现复杂的动作,如行走、跑步、飞翔等。在游戏开发中,角色和鸟类模型通常需要一系列的动画,如FlappyBird中鸟儿的飞行动画。 7. **光照和...
4. **动画系统**:Unity3D内置了强大的动画系统,可以制作角色行走、飞行、攻击等动画。课程会教授如何创建和编辑动画,以及如何在代码中控制动画的播放。 5. **物理引擎**:愤怒的小鸟游戏依赖于物理引擎来模拟...
Unity3D 是一个功能强大且灵活的游戏引擎,提供了许多控件和功能来帮助游戏开发者快速构建游戏项目。以下是 Unity3D 中的一些重要控件和功能的解释: 菜单控件 * Edit Frame Selected:编辑当前选择的框架 * ...
Unity 3D提供了强大的动画系统,可以导入并编辑骨骼动画,实现角色的动作和表情。在“StaraWars”项目中,角色的行走、攻击、死亡等动作很可能都由动画来控制。 光照(Lighting)在创建真实感的3D环境中起着至关...
Unity3D是一款强大的跨平台游戏开发引擎,...总之,这个unity3D期末大作业是一个综合性的项目,涵盖了角色动画管理、物理引擎应用、交互设计等多个关键领域,对于提升学生的Unity3D技能和游戏开发经验具有重要意义。
Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏,包括狙击类游戏。"Unity3d 狙击游戏开发模板"是专为构建狙击游戏而设计的一套资源和脚本集合,它可以帮助开发者快速搭建游戏的基础框架,减少从零...
在Unity3D中,GUI通常通过Unity的内置UGUI系统来实现,它提供了一套丰富的UI组件,如文本、按钮、图像等,以及一套基于Canvas的布局系统。 "飞行脚本"通常指的是在游戏场景中控制角色或物体飞行的逻辑代码。这可能...
"unity3d鸟与家禽动画模型"是一个专门针对Unity3D引擎设计的资源集合,旨在提供各种鸟类和家禽的精细动画效果,以增强游戏的真实感和互动体验。 首先,我们要理解Unity3D是一个强大的跨平台游戏开发工具,它支持...
在Unity3D中,小动物的动画通常是通过Animation组件和Animator控制器来实现的。动画状态机(Animator Controller)用于管理各种动画状态和转换,如行走、奔跑、跳跃等。每个动画状态通常由一系列关键帧组成,这些...
- 实现Unity3D与iOS原生界面之间的消息通信。 - 包括Unity向iOS发送消息、iOS向Unity发送消息等功能。 - **自定义游戏摇杆与飞机平滑移动**: - 设计并实现自定义的游戏控制界面。 - 通过摇杆控制游戏角色或...
Unity3D是一款强大的跨平台游戏开发引擎,广泛用于创建2D和3D游戏、应用程序以及虚拟现实体验。在游戏设计中,角色或NPC(非玩家角色)的智能移动是至关重要的一部分,这通常涉及到寻路系统。"有轨寻路"...
2. **行走控制**:利用Unity3D的输入系统和物理引擎实现坦克的移动和转向。 3. **相机跟随**:通过编写脚本让摄像机跟随坦克移动,实现第三人称视角。 4. **炮塔旋转**:炮塔和炮管的独立旋转控制,炮塔的层级结构有...
- **射弹物理**:炮弹的发射和轨迹可能通过刚体动力学来模拟,实现真实感的飞行和碰撞效果。 4. **游戏逻辑**: - **玩家控制**:玩家控制坦克的移动和射击,这通常通过键盘输入或游戏手柄信号处理来实现。 - **...
在“植物大战僵尸”中,僵尸的行走和植物的子弹飞行都可能涉及到物理计算。 8. **UI界面**:Unity的UI系统包括Canvas、Text、Button等组件,用于创建游戏菜单、提示信息、计分板等。 9. **音频管理**:Unity的...
《全民飞机大战》是一款基于Unity3D引擎开发的飞行射击类游戏,它的源代码揭示了游戏背后的编程逻辑和实现细节。Unity3D是一款强大的跨平台游戏开发工具,它集成了图形渲染、物理引擎、动画系统等多种功能,使得...
"Chiken shader bundle" 是一个专门针对Unity3D游戏引擎的着色器资源包,它包含了一系列优化和定制的Shader,旨在提升游戏图形表现力,为开发者提供更加丰富和真实的视觉效果。Unity3D是一款广泛使用的跨平台游戏...
BIP基于骨骼动画,通过绑定骨骼到角色模型上,可以实现角色的行走、跑步、跳跃等各种动作。该系统支持混合和层叠动画,使得角色能够在执行一个动作的同时,轻松地过渡到另一个动作,例如从走动平滑地转换到跑步。 ...
Unity是全球广受欢迎的游戏开发引擎,它以其强大的3D和2D游戏开发能力,丰富的内置资源,以及跨平台支持而闻名。"植物大战僵尸"是一款经典的塔防游戏,以其独特的玩法和卡通风格深受玩家喜爱。这个亲测好用的Unity...
在Unity3D中,角色动画的逼真度和流畅性是至关重要的,而逆向动力学(Inverse Kinematics, 简称IK)则是实现这一目标的重要工具。"Final IK 1.6.1"是一款专为Unity设计的IK插件,它极大地简化了IK系统的设置和控制,...