`
lwp11411
  • 浏览: 22131 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Unity3D正常行走和飞行的实现

阅读更多

新建一个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游戏开发中的人物运动控制的实现方法和技巧。 知识点: 1. Unity3D游戏开发中的人物运动控制 2. Personenbewegung的实现方法 3. CharacterController组件的应用 4. FPSWalker...

    Unity3D常用模型

    Unity3D内置的Mecanim动画系统支持骨骼动画的混合和过渡,使得模型可以实现复杂的动作,如行走、跑步、飞翔等。在游戏开发中,角色和鸟类模型通常需要一系列的动画,如FlappyBird中鸟儿的飞行动画。 7. **光照和...

    unity3d愤怒的小鸟之营救伙伴

    4. **动画系统**:Unity3D内置了强大的动画系统,可以制作角色行走、飞行、攻击等动画。课程会教授如何创建和编辑动画,以及如何在代码中控制动画的播放。 5. **物理引擎**:愤怒的小鸟游戏依赖于物理引擎来模拟...

    unity3d得控件解释。。还有对unity3d的一些介绍

    Unity3D 是一个功能强大且灵活的游戏引擎,提供了许多控件和功能来帮助游戏开发者快速构建游戏项目。以下是 Unity3D 中的一些重要控件和功能的解释: 菜单控件 * Edit Frame Selected:编辑当前选择的框架 * ...

    unity 3d 星球大战 原工程

    Unity 3D提供了强大的动画系统,可以导入并编辑骨骼动画,实现角色的动作和表情。在“StaraWars”项目中,角色的行走、攻击、死亡等动作很可能都由动画来控制。 光照(Lighting)在创建真实感的3D环境中起着至关...

    unity3D期末大作业-骑马游戏

    Unity3D是一款强大的跨平台游戏开发引擎,...总之,这个unity3D期末大作业是一个综合性的项目,涵盖了角色动画管理、物理引擎应用、交互设计等多个关键领域,对于提升学生的Unity3D技能和游戏开发经验具有重要意义。

    unity3d 狙击游戏开发模板

    Unity3D是一款强大的跨平台游戏开发引擎,广泛用于制作2D和3D游戏,包括狙击类游戏。"Unity3d 狙击游戏开发模板"是专为构建狙击游戏而设计的一套资源和脚本集合,它可以帮助开发者快速搭建游戏的基础框架,减少从零...

    Unity3dGUI 飞行脚本

    在Unity3D中,GUI通常通过Unity的内置UGUI系统来实现,它提供了一套丰富的UI组件,如文本、按钮、图像等,以及一套基于Canvas的布局系统。 "飞行脚本"通常指的是在游戏场景中控制角色或物体飞行的逻辑代码。这可能...

    unity3d鸟与家禽动画模型

    "unity3d鸟与家禽动画模型"是一个专门针对Unity3D引擎设计的资源集合,旨在提供各种鸟类和家禽的精细动画效果,以增强游戏的真实感和互动体验。 首先,我们要理解Unity3D是一个强大的跨平台游戏开发工具,它支持...

    unity3D游戏开发小动物、钢铁侠、人形雕像的动画资源.zip

    在Unity3D中,小动物的动画通常是通过Animation组件和Animator控制器来实现的。动画状态机(Animator Controller)用于管理各种动画状态和转换,如行走、奔跑、跳跃等。每个动画状态通常由一系列关键帧组成,这些...

    Unity3D游戏引擎教程(雨松MOMO原创文章)

    - 实现Unity3D与iOS原生界面之间的消息通信。 - 包括Unity向iOS发送消息、iOS向Unity发送消息等功能。 - **自定义游戏摇杆与飞机平滑移动**: - 设计并实现自定义的游戏控制界面。 - 通过摇杆控制游戏角色或...

    Unity3d_有轨寻路

    Unity3D是一款强大的跨平台游戏开发引擎,广泛用于创建2D和3D游戏、应用程序以及虚拟现实体验。在游戏设计中,角色或NPC(非玩家角色)的智能移动是至关重要的一部分,这通常涉及到寻路系统。"有轨寻路"...

    基于Unity3d的码头三维可视化安卓应用.pdf

    本文将详细探讨如何利用Unity3d开发平台,结合Revit三维建模工具和C#编程语言,在安卓系统上实现一个码头三维可视化应用。 Unity3d作为一个成熟的游戏和应用开发引擎,近年来已经被广泛用于教育、医疗、建筑和制造...

    Unity3D网络游戏实战游戏开发与设计技术丛书1

    2. **行走控制**:利用Unity3D的输入系统和物理引擎实现坦克的移动和转向。 3. **相机跟随**:通过编写脚本让摄像机跟随坦克移动,实现第三人称视角。 4. **炮塔旋转**:炮塔和炮管的独立旋转控制,炮塔的层级结构有...

    Unity坦克大战3D版,完整源码,可运行

    - **射弹物理**:炮弹的发射和轨迹可能通过刚体动力学来模拟,实现真实感的飞行和碰撞效果。 4. **游戏逻辑**: - **玩家控制**:玩家控制坦克的移动和射击,这通常通过键盘输入或游戏手柄信号处理来实现。 - **...

    unity 植物大战僵尸开发源码

    在“植物大战僵尸”中,僵尸的行走和植物的子弹飞行都可能涉及到物理计算。 8. **UI界面**:Unity的UI系统包括Canvas、Text、Button等组件,用于创建游戏菜单、提示信息、计分板等。 9. **音频管理**:Unity的...

    《全民飞机大战》源码.zip

    《全民飞机大战》是一款基于Unity3D引擎开发的飞行射击类游戏,它的源代码揭示了游戏背后的编程逻辑和实现细节。Unity3D是一款强大的跨平台游戏开发工具,它集成了图形渲染、物理引擎、动画系统等多种功能,使得...

    Chiken shader bundle

    "Chiken shader bundle" 是一个专门针对Unity3D游戏引擎的着色器资源包,它包含了一系列优化和定制的Shader,旨在提升游戏图形表现力,为开发者提供更加丰富和真实的视觉效果。Unity3D是一款广泛使用的跨平台游戏...

    500个BIP动作库

    BIP基于骨骼动画,通过绑定骨骼到角色模型上,可以实现角色的行走、跑步、跳跃等各种动作。该系统支持混合和层叠动画,使得角色能够在执行一个动作的同时,轻松地过渡到另一个动作,例如从走动平滑地转换到跑步。 ...

    Unity 植物大战僵尸游戏 亲测好用

    Unity是全球广受欢迎的游戏开发引擎,它以其强大的3D和2D游戏开发能力,丰富的内置资源,以及跨平台支持而闻名。"植物大战僵尸"是一款经典的塔防游戏,以其独特的玩法和卡通风格深受玩家喜爱。这个亲测好用的Unity...

Global site tag (gtag.js) - Google Analytics