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

飞行路径

阅读更多

Unity3d游戏开发

1. 建立一个名为FlyPath的飞行路径对象
2. 在FlyPath对象下,加载一个名为FlyCamera的相机
3. 建立一个空的Game Object,将FlyPath脚本拖放至该对象上

1 var path:GameObject;
2  var flyPathCamera:GameObject;
3 var mainCamera:GameObject;
4 var text2d:Texture2D[];
5 var flag : boolean;
6
7 function Start(){
8     path = GameObject.Find("FlyPath");
9     mainCamera = GameObject.Find("First Person Controller");
10     if( path!=null )
11     {
12         flyPathCamera = path.Find("FlyCamera");
13     }
14     flag=true;
15 }
16
17 function Update () {
18     if( path!=null && path.active )
19     {
20         var animation:Animation;
21         animation = path.GetComponent("Animation");
22         if( animation!=null )
23         {
24             if( !(animation.IsPlaying("Take 001")) )
25             {
26                 path.active = false;
27                 if( flyPathCamera!=null )
28                     flyPathCamera.active = false;
29                    
30                 if( mainCamera!=null )
31                     mainCamera.active = true;               
32             }
33             else if( mainCamera!=null && mainCamera.active )
34             {       
35                 mainCamera.active = false;
36             }
37         }
38     }
39 }
40
41 function  ActiveFlyPath(){
42     if( path==null || flyPathCamera==null || mainCamera==null )
43         return;
44    
45     bActive = !(path.active);
46     if( path.active!=bActive )
47     {
48         path.active = bActive;
49         flyPathCamera.active = bActive;
50         var animation:Animation;
51         animation = path.GetComponent("Animation");
52         if( animation!=null )
53         {
54             animation.active = bActive;
55             if( bActive && !animation.IsPlaying("Take 001") )
56                 animation.Play("Take 001");
57             else if( !bActive )
58                 animation.Stop();
59         }
60     }
61    
62     bActive = !bActive;
63     if( mainCamera!=bActive )
64     {
65         mainCamera.active = bActive;
66     }
67 }
68
69 function OnGUI ()
70 {
71     if(flag==true)
72     {
73         if(GUI.Button(Rect(0,0,80,20),text2d[0])){
74         ActiveFlyPath();
75         }
76         flag=false;
77     }
78     else {
79         if(GUI.Button(Rect(0,0,80,20),text2d[1])){
80         ActiveFlyPath();
81         }
82     }
83 }

分享到:
评论

相关推荐

    ArcGIS教程:分析对 3D 飞行路径和走廊的威胁

    在军事应用中,飞行路径规划的关键部分是评估受到高射炮等威胁的风险。这是固有的 3D 问题,因为该武器的射程基于该威胁和飞机飞行路径之间的 3D 直线距离。

    基于Leaflet开发库的飞行路径、飞行动画、轨迹回放、路径坐标等功能案例的实现源代码

    内容摘要:本资源为基于Leaflet开发库的飞行路径、飞行动画、轨迹回放、路径坐标等功能案例的实现源代码,通过本案例可快速掌握Leaflet开发的许多常用开发功能及技巧,案例代码涉及到包括底图加载、基本控件、图形...

    用于设定飞行器的目标飞行路径的方法、系统和程序与流程.docx

    然而,传统飞行路径的设定方法往往要求操作者具备高超的技能和精确的控制能力,且常常需要同时调整机载设备,如相机或传感器的参数,这无疑加大了操作的复杂性和难度。为了简化这一过程并提高操作效率,一种结合虚拟...

    飞行路径2

    【Unity飞行路径实现详解】 在Unity游戏开发中,创建飞行路径是一种常见的技术,它用于创建角色或摄像机沿着预设路径自动移动的效果。本篇将详细介绍如何利用Unity的脚本功能实现一个简单的飞行路径功能。 首先,...

    问题1 只考虑使用A类无人机,请给出公交与无人机协同配送方案,使总费用最小;要求给出具体的飞行路径及时刻表无人机.xlsx

    要求给出具体的飞行路径及时刻表无人机.xlsxA题 农村公交与异构无人机协同配送优化 农村地区因其复杂多变的地形、稀疏的道路网络以及分散的配送点,传统配送方式效率低下,成本高昂,难以满足日益增长的配送需求。...

    Unity导弹追踪算法演示

    否则,继续调整导弹的飞行路径。 在"Build"文件中,可能包含了Unity的工程文件,包括场景设置、脚本、纹理、模型等资源。开发者可以打开这个项目,查看并学习其中的源代码,理解导弹追踪的具体实现方式。同时,这也...

    Cesium自定义路径飞行漫游

    基于Cesium1.62开发的三维场景漫游,动态移动视角,采集运动节点信息,自动漫游回放

    CSS3 SVG卡通纸飞机飞行动画特效

    通过`@keyframes`规则,我们可以定义动画的各个关键帧,从而控制纸飞机从起点到终点的飞行路径,同时调整速度、角度和透明度,使其看起来更加逼真。 SVG(Scalable Vector Graphics)是一种可缩放矢量图形格式,常...

    map-sweep:扫描区域以产生飞行路径

    飞天挑战扫描区域以产生飞行路径问题描述允许用户在地图中选择多边形的界面,然后选择返航点、飞行路径方向和“腿距”。 鉴于这些参数: 沿与飞行路径方向垂直的线扫描多边形,以锯齿形运动穿过航路点。 最后,绘制...

    Cesium飞行漫游

    - 路线的加载则需要解析这些数据,恢复原来的飞行路径点,并重新设定到相机的飞行路径。 4. **清空路线**: - 清空路线意味着删除所有预设的飞行路径点,这可能涉及到对存储路径数据的数组进行清空操作。 5. **...

    飞行路径系统中的轨迹建模:演示如何在飞行路径坐标系中对航天器的轨迹进行建模。-matlab开发

    飞行路径系统中的轨迹建模是航空航天工程中一个关键的计算任务,它涉及到航天器在空间中的运动轨迹设计和分析。MATLAB作为一种强大的数值计算和数据分析工具,被广泛应用于这一领域。在这个特定的案例中,我们将深入...

    Cesium模拟飞机飞行路线

    要模拟飞行路线,我们需要一组表示路径的坐标点,这可以通过`Cesium.Polyline`或者`Cesium.GeoJsonDataSource`来实现。如果航线数据存储在外部文件中,可以使用`Cesium.IO`或`fetch` API加载数据,解析后转化为...

    MATLAB——遗传算法路径规划

    在本项目中,"MATLAB——遗传算法路径规划"是通过MATLAB工具来实现的一种优化技术,它结合了遗传算法来解决路径规划问题。遗传算法是模拟生物进化过程中的自然选择、遗传和突变等机制,用于寻找最优解的全局搜索算法...

    协同生成幻影雷达航迹的飞行路径规划

    飞行路径规划对于雷达对抗中的幻影雷达航迹生成尤为重要。本文探讨的是一种有效的飞行路径规划方法,其目的是为了生成幻影雷达航迹,这是一种电子对抗中使用的方法,利用多个电子战空中飞行器(ECAVs)的协同作用来...

Global site tag (gtag.js) - Google Analytics