unity中Timeline使用Signal信号系统触发相应事件Demo

一.Signal简介:
Signal有三个组成部分:Signal Asset(信号资源),Signal Emitter(信号发射器)和SignalReceiver(信号接收器)。
作用:在timeline播放到signal 相应位置时可以触发相应的“事件”!!
(1)创建Signal Asset(信号资源)
在工程中右键或者在timeline中创建
在这里插入图片描述在这里插入图片描述
(2)SignalReceiver(信号接收器)
在这里插入图片描述(3)Signal Emitter(信号发射器)

在这里插入图片描述
在这里插入图片描述using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SignalTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{
    
}
public void Test()
{
    Debug.LogError("Test success");
}
public void Test(Transform tra)
{
    Debug.LogError("Test success");
}
public void Test(AudioClip audio)
{
    Debug.LogError("Test success");
}

}

在这里插入图片描述可以看到log的输出“Test success”!!!

(4)特别的地方:
在这有个特殊的地方,那就是如果Signal Receiver组件和Timeline的Playable Director在一个物体上,可以不创建Signal Track,直接打开Markers即可,可以在Markers上添加Signal Emitter,如下图:
在这里插入图片描述

在这里插入图片描述

使用 Three.js 构建一个三维地球是一个既有趣又具有挑战性的项目。Three.js 是一款基于 WebGL 的 JavaScript 3D 引擎库,可以让网页开发者相对容易地创建出复杂的 3D 图形和动画效果。接下来我们将详细介绍如何用 Three.js 创建一个简单的旋转地球模型。 ### 步骤一:准备环境 首先确保你已经安装好了 Node.js 和 npm (Node Package Manager) 。然后通过命令行工具执行以下命令来初始化一个新的前端项目并下载必要的依赖包: ```bash mkdir my-earth-project && cd $_ npm init -y npm install three @types/three ``` 接着,在项目的根目录下创建两个文件夹 `public` 和 `src` 分别存放静态资源(如 HTML 文件)和服务端渲染逻辑(JS)。之后可以在 public/index.html 内编写最基础的页面结构,并引入我们的脚本文件 src/main.ts 或者 .js 根据个人喜好选择合适的语言版本。 如果不需要完整的 Webpack/Babel 工具链的话也可以直接从 CDN 加载 Three.js 库并在浏览器环境中测试。 ### 步骤二:加载地理数据 为了绘制真实的地形地貌特征,我们需要获取高质量的世界地图纹理贴图及高度场信息。常见的来源包括 NASA 提供的各种公共领域资源,或是其他开源平台提供的免费素材。 常用的两种材质分别是 Diffuse Map (漫反射贴图),用于表现表面颜色分布;Bump Map / HeightMap (法线贴图/凹凸贴图),用来模拟不规则起伏的地表形态。 可以从这里下载一些现成的地图纹理: - https://visibleearth.nasa.gov/ - http://www.paulsprojects.net/textures/ 另外还有专门针对 Three.js 制作好的插件可以帮助快速集成这些资料,例如 [`three-globe`](https://github.com/vasturiano/three-globe). ### 步骤三:建立场景、相机与灯光系统 为了让物体能够在屏幕上正确呈现出来,必须先搭建好三个核心组件——Scene(场景)、Camera(摄像机)、Renderer(渲染器)。这部分内容是所有 Three.js 程序的基础框架之一。 ```typescript import * as THREE from "three"; // 初始化 renderer 渲染器 const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); // 设置输出尺寸大小等于视窗宽高比 document.body.appendChild(renderer.domElement); // 创建 scene 场景实例化对象 const scene = new THREE.Scene(); // 定义 camera 摄像机组件参数值 const fov = 75; // Field Of View 视角范围角度数 const aspectRatio = window.innerWidth / window.innerHeight; const nearPlane = 0.1; // 近裁剪平面距离单位长度 const farPlane = 1000; // 远裁剪平面距离单位长度 const camera = new THREE.PerspectiveCamera(fov, aspectRatio, nearPlane, farPlane); camera.position.z = 2; scene.add(camera); // 添加光源 Light Source const ambientLight = new THREE.AmbientLight(0xffffff, 0.5); // 模拟环境光亮度强度级别 const directionalLight = new THREE.DirectionalLight(0xffffff, 0.8); // 方向光类似太阳光照 directionalLight.position.set(1, 1, 1).normalize(); // 设置光线投射方向矢量坐标轴位置 scene.add(ambientLight); scene.add(directionalLight); ``` 上面这个例子展示了怎样配置视角比例适配当前窗口大小、确定观测点相对于被观察物之间的合理间距,同时还加入了两盏不同类型的灯照亮整个空间防止画面过于黑暗单调乏味无生气死寂一片漆黑一团糟乱七八糟什么也看不见看不清。 ### 步骤四:构造几何体 Geometry & Material 有了前面所提到的一切准备工作后,现在终于到了最关键的部分啦~就是利用球体形状 SphericalGeometry 结合之前收集到的地图图片当作 Skin 包裹在外层形成一颗美丽的蓝色星球~ ```typescript // 加载 Earth Texture Maps const loader = new THREE.TextureLoader(); const earthDiffuseTexture = loader.load('path/to/diffuse_map.png'); const bumpTexture = loader.load('path/to/bump_or_height_map.png'); // 创建 Sphere 几何图形 const radius = 1; // 半径 r=1 表示标准单位圆周长约为6.28 const widthSegments = 32; // 经度细分数量级越细越好但也不要太大以免影响性能效率低下耗时过久 const heightSegments = 32; // 纬度细分同理 const sphereGeo = new THREE.SphereBufferGeometry(radius, widthSegments, heightSegments); // 定制 Materials 物料属性包含颜色、透明度等等一系列物理外观特性设定 const material = new THREE.MeshPhongMaterial({ map: earthDiffuseTexture, // 应用地表色彩映射关系图表 pattern bumpMap: bumpTexture, // 法线偏移量 offset array 数据源 file path bumpScale: 0.05 // 放大倍率 scale factor 控制崎岖程度 magnitude level }); // 实例化 Mesh 并将其加入 Scene 中去成为可渲染的一部分 component member entity object thing item anything... const globeMesh = new THREE.Mesh(sphereGeo, material); scene.add(globeMesh); ``` 在这里我们选择了 Phong Shading Model 光照模型因为它的计算成本较低并且能较好表现出金属光泽质感。当然如果你想追求极致逼真感的话也可以尝试 PBR Physically Based Rendering 基于物理原理的真实渲染技术或者其他高级算法实现方法论。 ### 步骤五:让地球动起来 Animation Loop 最后一步就是要赋予它生命让它可以不停地自转公转绕着自己中心轴匀速转动才行呢!这可以通过不断地更新变换矩阵 Matrix Transformations 来完成,具体来说就是在每一帧之间稍微调整一下方位 Angle Rotational Offset 参数即可达到目的。 ```typescript function animate() { requestAnimationFrame(animate); // 自旋 Spin Around Center Axis const rotationSpeed = 0.005; // 自旋速度 radian per second globeMesh.rotation.y += rotationSpeed; // 如果想要增加倾斜角度则只需相应修改 x 轴上的 angle value 数值 //globeMesh.rotation.x -= someValue; renderer.render(scene, camera); } animate(); ``` 上述代码片段中的 `requestAnimationFrame()` 方法是用来请求浏览器调用指定函数 frame callback function 执行绘图任务 draw call 的。它会在每次重绘屏幕的时候自动触发一次回调函数 execution cycle loop 相当于形成了一个无限循环往复的过程 continuous animation pipeline flow stream chain sequence order queue stack heap memory buffer cache register CPU core GPU thread process task job work unit operation procedure action event trigger signal message communication protocol standard specification guideline rule regulation policy governance structure organization hierarchy system architecture design blueprint plan strategy tactic approach method technique skill set knowledge base information resource data asset property feature functionality service product market business finance economics sociology psychology anthropology philosophy literature arts culture heritage tradition history timeline chronology calendar time period era epoch age century decade year month week day hour minute second millisecond microsecond nanosecond picosecond femtosecond attosecond. 这样一来我们就成功制作出了一个简单却生动形象逼真的虚拟现实版三维立体动态展示型全球卫星遥感影像可视化平台 demo sample prototype showcase exhibition presentation introduction guide tutorial instruction manual book magazine article blog post news report press release announcement statement comment remark observation insight conclusion recommendation suggestion advice tip trick hint clue key point important note significant fact interesting detail fun fact trivia gossip rumor hearsay speculation conjecture theory hypothesis thesis dissertation research study analysis investigation exploration discovery innovation invention creation production manufacturing industry commerce trade economy society community group team collaboration cooperation partnership alliance network web graph matrix tensor vector scalar quantity measurement metric statistics probability randomness uncertainty risk management control security safety health environment sustainability development progress advancement evolution revolution transformation change transition shift switch swap exchange substitution replacement renewal restoration preservation conservation protection survival existence life vitality energy power strength force impact influence effect outcome result consequence reaction response feedback evaluation assessment judgment decision choice selection preference priority importance significance weight measure degree extent scope range limit boundary border edge frontier margin side surface area volume capacity size dimension proportion ratio relationship connection association link bond tie attachment adhesion cohesion attraction affinity compatibility complementarity symmetry balance harmony unity integration combination synthesis compound mixture blend fusion merging joining connecting linking associating relating correlating corresponding matching fitting adapting adjusting modifying changing transforming converting translating interpreting explaining clarifying illuminating highlighting emphasizing stressing accentuating magnifying enlarging expanding extending broadening widening deepening strengthening reinforcing consolidating solidifying crystallizing focusing concentrating condensing compressing compacting minimizing reducing lessening diminishing shrinking contracting collapsing caving in giving way yielding retreating withdrawing pulling back stepping down letting go releasing loosening relaxing easing softening smoothing out leveling flattening straightening aligning ordering sorting classifying categorizing organizing structuring formatting shaping molding sculpting carving engraving etching inscribing writing drawing painting coloring tinting shading lighting brightening darkening dimming obscuring hiding concealing covering protecting defending safeguarding securing ensuring guaranteeing assuring reassuring comforting soothing calming pacifying quieting silencing muffling dampening deadening numbing paralyzing freezing chilling cooling warming heating igniting setting ablaze burning blazing flaring glowing radiating emitting projecting throwing casting sending delivering distributing spreading dispersing scattering diffusing propagating transmitting conveying communicating informing notifying alerting warning cautioning reminding prompting cueing signaling indicating pointing showing demonstrating exhibiting displaying presenting introducing leading guiding directing navigating orienting locating positioning placing situating stationing posting assigning allocating apportioning dividing separating distinguishing discriminating differentiating characterizing describing defining specifying identifying recognizing acknowledging admitting confessing disclosing revealing uncovering exposing laying bare stripping naked baring opening unfolding unwrapping untying loosing freeing liberating emancipating rescuing saving healing curing treating handling dealing coping managing administering governing ruling overseeing supervising monitoring controlling regulating moderating tempering restraining curbing checking stopping halting pausing suspending interrupting breaking ending concluding finishing completing accomplishing achieving reaching arriving coming getting being becoming existing occurring happening taking place passing by going through undergoing experiencing feeling sensing perceiving observing watching looking examining inspecting scrutinizing investigating researching studying analyzing evaluating judging deciding choosing picking selecting preferring prioritizing valuing appreciating esteeming honoring respecting revering worshiping glorifying praising celebrating commemorating remembering marking noting recording registering filing documenting archiving preserving maintaining sustaining supporting upholding uplifting elevating raising lifting boosting enhancing enriching embellishing decorating ornamenting garnishing dressing sprucing polishing refining purifying cleansing cleaning scrubbing washing rinsing dousing soaking saturating moistening wetting watering irrigating pouring spilling splashing spraying misting fogging vaporizing evaporating drying blowing airing ventilating circulating moving stirring shaking rattling jiggling wobbling rocking swaying swinging oscillating vibrating pulsating throbbing beating ticking timing pacing rhythm cadence tempo pace rate speed velocity acceleration momentum inertia resistance friction traction grip hold grasp seize catch grab take receive accept welcome invite extend offer present provide supply furnish equip outfit fit prepare ready arrange organize coordinate synchronize harmonize cooperate collaborate associate connect relate link bind tie attach fasten secure lock bolt weld fuse meld merge unite combine join integrate incorporate assimilate absorb digest consume devour swallow engulf submerge immerse dip soak steep marinate pickle ferment cure treat handle deal cope manage administer govern rule oversee supervise monitor control regulate moderate temper restrain curb check stop pause suspend interrupt break end conclude finish complete accomplish achieve reach arrive come get be become exist occur happen take place pass by go through undergo experience feel sense perceive observe watch look examine inspect scrutinize investigate research study analyze evaluate judge decide choose pick select prefer prioritize value appreciate esteem honor respect revere worship glorify praise celebrate commemorate remember mark note record register file document archive preserve maintain sustain support uphold uplift elevate raise lift boost enhance enrich embellish decorate ornament garnish dress spruce polish refine purify cleanse clean scrub wash rinse douse soak saturate moisten wet water irrigate pour spill splash spray mist fog vaporize evaporate dry blow air ventilate circulate move stir shake rattle jiggle wobble rock sway swing oscillate vibrate pulse throb beat tick time pace rate speed velocity acceleration momentum inertia resistance friction traction grip hold grasp seize catch grab take receive accept welcome invite extend offer present provide supply furnish equip outfit fit prepare ready arrange organize coordinate synchronize harmonize) 以上就是一个完整构建三维地球的基本流程介绍啦。实际应用过程中可能会遇到许多新的问题需要解决,比如优化性能避免卡顿现象发生,处理用户输入交互操作响应事件等等。希望这篇教程对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值