精华内容
下载资源
问答
  • unity场景动画
    千次阅读
    2022-01-31 09:58:46

    **

    使用关键帧制作unity场景动画

    **
    选中物体,window→animation生成一段场景动画。
    添加变化事件(property)
    调整时间线到对应帧后,点击红色录制按钮,再调整物体形态位置,再次点击录制按钮完成对应帧形态,则unity自动将根据对应帧自动插值生成一段场景动画

    更多相关内容
  • Canvas人物跑步动画场景特效是一款基于createjs插件制作卡通草地上人物跑步运动场景特效。
  • 通过 Matlab 编码去控制 STK 动画场景的各种功能,播放,暂停,快进,重置。

    前言

    建立STKMatlab的连接

    % 初始化连接
    stkInit;
    % 默认端口 5001
    remMachine = stkDefaultHost;
    % conid只能获取两次,使用完需要关闭连接
    conid = stkOpen(remMachine);
    
    • 获取时间格式
    >> % 这里的 beidou 是星座名称
    >> stkExec(conid,'GetAnimTime /Scenario/beidou')
    
    ans =
    
    "10 Jun 2020 19:24:00.000"
    
    • 动画控制按钮
    >> stkExec(conid,'Animate /Scenario/beidou Start')
    

    在这里插入图片描述

    参考链接:

    Matlab与STK连接函数库 by 百度文库


    在这里插入图片描述

    展开全文
  • Unity3D场景线脚本

    2018-12-13 10:51:55
    基于Unity引擎编写的适合在3D场景中内画平滑线的脚本,无需修改可直接使用,仅供学习参考。
  • 使用WebGL + Three.js制作动画场景

    千次阅读 2017-12-31 12:01:23
    使用WebGL + Three.js制作动画场景3D图像,技术,打造产品,还有互联网:这些只是我爱好的一小部分。现在,感谢WebGL的出现-一个新的JavaScriptAPI,它可以在不依赖任何插件的情况下渲染浏览器中的3D图像-这让3D...

    使用WebGL + Three.js制作动画场景

    3D图像,技术,打造产品,还有互联网:这些只是我爱好的一小部分。

    现在,感谢WebGL的出现-一个新的JavaScriptAPI,它可以在不依赖任何插件的情况下渲染浏览器中的3D图像-这让3D渲染操作变得异常简单。

    随着虚拟现实和增强现实应用的发展,大型厂商们开始转向数字化触觉体验,这是令人动心的一项技术。

    或者,至少那些已经投资的人这一年还抱有希望-11亿美金流入VR和AR领域.

    这是两篇入门文章

    Abbey Road Studios的谷歌交互之旅拍摄Deadliest Catch用到的舰队,通过在非真实世界给观众沉浸式的体验,所有的产品,服务和环境得以实现更好的配合。

    由于人们能接触到更多体验性的技术,2D开始变得有些单调。这是事实。

    让我们现实点。目前看来,很多致力于创造体验的应用仍处在技术探索阶段,对大多数商业领域而言前景不算明朗。

    或者说他们真的创造了令人激动的体验吗?

    走进WebGL:一项实用与灵活的技术,可以创造更强沉浸式3D内容。无论是Porsche展示一辆新911的细节,还是NASA重点介绍的火星是什么样子,或者是J Dlla备受喜爱的甜甜圈专辑庆典,WebGL能应用于很多领域来表现各种类型的故事。

    为让你熟悉这项强大的技术,我打算做一个关于它是如何工作的简要概括,还有使用Three.js(一个基于WebGL API的JavaScript库)一步步创造简单3D环境的快速教程。

    首先,什么是WebGL?

    WebGL是一项在浏览器中展示基于硬件加速的3D图像的web技术,不需要安装额外插件或者下载多余的软件。

    因此,很多受众可以更方便地接触到WebGL。浏览器支持程度也很不错(目前应用广泛),Chrome,Firefox,IE,Opera和Safari等主流移动端和桌面浏览器都提供了很好的支持。

    许多计算机和智能手机有先进的图像渲染单元(GPUS),可直到最近,大多数网页和移动网站都不能使用GPUS。这导致设备的加载速度缓慢,图像质量低,并且对3D内容的支持程度也很低。

    为了解决这个问题WebGL花了不少时间。基于著名的OpenGL 3D 图像标准,WebGL赋予Javascript插件式的自由接入方式,通过HTML5 元素连接一个设备的图像硬件,并在浏览器中直接应用3D技术。结果是360度的3D内容变得更容易创建—排除了使用独立应用或插件的干扰——同时用户能更容易地在网上拥有高清体验。

    什么是Three.js?

    OpenGL和WebGL的复杂度相差不大。

    Three.js是一个开源语法库,简化了WebGL工具和环境的创建工作。它支持大部分基于GPU加速的低代码量3D动画。

    聊得差不多了,让我们编写代码吧

    示例用Three.js库展示了更复杂的效果。为了练习需要,我会尽量写的简单,用低复杂度的环境来展示仅靠理解的基础知识能实现什么效果。

    我打算构建一个我们已使用过的例子
    Christmas-Closure_Header

    让我们开始用了解的基础知识做点东西吧。

    一个渲染器,一个场景,还有一个相机

    代码链接第一步

    贡献者 Matt Agar(@agar)

    代码发布于CodePen.

    点击并拖动这个例子,做点尝试

    CodePen上的例子相当于入门,现在我们开始使用Three.js。

    Firstly we need a Scene — a group or stage containing all the objects we want to render. Scenes allow you to set up what and where is going to be rendered by Three.js. This is where you place objects, lights, and cameras.
    首先我们需要一个场景 — 一个包含了我们要渲染的所有对象的群组。场景允许你设置Three.js要渲染的对象和渲染位置,以及如何进行渲染。这个场景指的就是你放置对象,光线和相机的地方。

    `var scene = new THREE.Scene();`
    
    

    -用一个好方法创建场景

    接下来我们在这个例子中添加一个相机。我添加的是透视相机,但也有其他可用的选项。头两个参数分别指明了相机的视野区域和宽高比。后两个参数代表相机渲染对象的截止距离。

    var camera = new THREE.PerspectiveCamera(
        75,                                   // Field of view
        window.innerWidth/window.innerHeight, // Aspect ratio
        0.1,                                  // Near clipping pane
        1000                                  // Far clipping pane
    );
    
    // Reposition the camera
    camera.position.set(5,5,0);
    
    // Point the camera at a given coordinate
    camera.lookAt(new THREE.Vector3(0,0,0));
    
    

    -添加相机,视场,宽高比和截止距离

    最后至关重要的部分是渲染器本身,它掌握着一个来自给定相机视角场景的渲染。Three.js提供了很多种渲染器以供选择,但我决定在这个练习中使用标准的WebGL渲染器。

    var renderer = new THREE.WebGLRenderer({ antialias: true });
    
    // Size should be the same as the window
    renderer.setSize( window.innerWidth, window.innerHeight );
    
    // Set a near white clear color (default is black)
    renderer.setClearColor( 0xeeeeee );
    
    // Append to the document
    document.body.appendChild( renderer.domElement );
    
    // Render the scene/camera combination
    renderer.render(scene, camera);
    
    

    -添加渲染器

    这个例子也包括了一些基础的几何结构— 在这里是一个扁平的平面 — 我们可以看到一些特征以深度形式被渲染出来。如果没有它,我们只能看到空空的屏幕。我接下来会简短介绍关于Geometry(几何结构),Materials(材质)和Meshes(网格)。

    // A mesh is created from the geometry and material, then added to the scene
    var plane = new THREE.Mesh(
      new THREE.PlaneGeometry( 5, 5, 5, 5 ),
      new THREE.MeshBasicMaterial( { color: 0x222222, wireframe: true } )
    );
    plane.rotateX(Math.PI/2);
    scene.add( plane );
    
    

    -添加一个扁平的平面

    一个关于控制相机的小贴士

    你可能已经意识到我在这个例子里使用了外部模块。这个是Three.js 的Github repo里能找到的众多可用模块的一个。

    在这个例子里是轨道控制
    它允许我们捕获canvas元素上的鼠标事件以重新定位围绕着场景的相机。

    var controls = new THREE.OrbitControls( camera, renderer.domElement );
    controls.addEventListener( 'change', function() { renderer.render(scene, camera); } );
    
    

    -实现轨道控制

    在CodePen例子中从动作,点击和拖放或者滚动鼠标轮等方面检验轨道控制。在这个示例中,由于我们没有设置动作循环(一旦我开始装饰我的圣诞树,我就会介绍动作循环),当控制发生更新时我们同样需要重新渲染场景。

    准备渲染

    好吧,之前的例子现在可能看着有点蠢,但你在没有硬件基础的情况下无法构建一个更好的屋子或圣诞树。

    是时候给我们的场景添些东西了,现在有三件事需要我们去探索:Geometries,Materials,还有Meshes。

    代码链接第二步

    贡献者Matt Agar(@agar)

    来自Codepen。

    -铃儿叮当响。是,它们一定会响的

    不论是点击还是拖拽,快尝试一下吧。

    使用平面阴影来添加一些简单的多边形

    首先我们需要一些Geometry。它可以是包含点和线的任何立方形状。

    Three.js简化了一系列可实现的构建基础多边形操作。这里有很多种适合3D格式的文件加载器。你也可以选择通过指定顶点和表面创建你自己的几何结构。

    现在,我们将以一个基础的八面体作为开始。

    `var geometry = new THREE.OctahedronGeometry(10,1);`
    
    

    -添加Geometry

    Materials描绘了对象的外观。它们的定义不受渲染器影响(大部分情况下),所以当你决定使用不同的渲染器时不必重写它。

    这里是可实现的各种Materials,所有的Materials都使用一个包含各种属性的对象,属性会被应用于这些Materials。

    下面的例子实现了一个扁平带阴影的Material,这展示了我们的多边形对象,而不是打算对它们进行平滑处理。

    var material = new THREE.MeshStandardMaterial( {
        color: 0xff0051,
        shading: THREE.FlatShading, // default is THREE.SmoothShading
        metalness: 0,
        roughness: 1
    } );
    
    

    -用Materials确定对象的纹理

    第三个我们需要的是Mesh(网格)。一个Mesh就是一个对象,它得到一个多面体并给它应用Material,我们可以把网格插入我们的场景中并自由移动它。

    下面是如何来合并Geometry和Material并放入一个Mesh,然后添加到场景中。需要指明的是,将Mesh添加进场景后,我们可以自由地重新定位或者旋转它。

    var shapeOne = new THREE.Mesh(geometry, material);
    shapeOne.position.y += 10;
    scene.add(shapeOne);
    
    

    -将Geometry和Material合并进一个Mesh中,并将Mesh加入场景

    添加光线

    一旦我们在场景中拥有了对象,我们需要照亮它们。为了实现这种效果,我们会添加两类不同的光线:环境光和点状光。

    环境光的色彩会全局应用到场景中所有的对象。

    var ambientLight = new THREE.AmbientLight( 0xffffff, 0.2 );
    scene.add( ambientLight );
    
    

    -给场景添加环境光

    点状光在场景中某特定位置创建光。光在任何方向都会闪烁,大概和灯泡的效果类似。

    var pointLight = new THREE.PointLight( 0xffffff, 1 );
    pointLight.position.set( 25, 50, 25 );
    scene.add( pointLight );
    
    

    -为场景添加点状光

    如果这些不能满足你的需求,还有其他种类的光可以选择,包括定向光和斑点光。查看Three.js 光线手册来获得更多信息。

    制造并接收阴影

    阴影默认是不能使用的,但对创建视觉上的深度很有帮助 — 所以我们需要在渲染器上启用它们。

    renderer.shadowMap.enabled = true;
    renderer.shadowMap.type = THREE.PCFSoftShadowMap;
    
    

    -在渲染器中启用阴影

    下一步是指定哪些光线可以形成阴影,还有要渲染的阴影范围有多大。

    pointLight.castShadow = true;
    pointLight.shadow.mapSize.width = 1024;
    pointLight.shadow.mapSize.height = 1024;
    
    

    -启用光线。相应地,阴影也会出现

    最终我们指定哪些网格应该接收阴影。需要指明的是任何网格在不依赖场景的情况下都能制造和接收阴影。

    shapeOne.castShadow = true;
    shapeOne.receiveShadow = true;
    
    

    -利用阴影来突出Mesh

    在这个场景里,我们使用了一个特殊的阴影Material。它允许一个Mesh仅展示阴影,而非对象本身。

    var shadowMaterial = new THREE.ShadowMaterial( { color: 0xeeeeee } );
    shadowMaterial.opacity = 0.5;
    
    

    -实现阴影效果

    利用简单要素构建复杂物体

    目前为止我们做的一些简单的例子还不错,可如果我们能实现元素复用的话事情会更简单。

    代码链接 第三步

    代码贡献者 (@agar)

    来自 CodePen.

    -能确定的是,这些拼合的多边形变得更小巧了

    在codepen中点击并拖拽以获得更清晰的效果。

    通过对多边形对象进行合并和分层操作,我们可以开始创建更多的复杂形状。

    下面的操作是扩展Three.Group对象以求在构造器中创建复杂形状。

    var Decoration = function() {
    
        // Run the Group constructor with the given arguments
        THREE.Group.apply(this, arguments);
    
        // A random color assignment
        var colors = ['#ff0051', '#f56762','#a53c6c','#f19fa0','#72bdbf','#47689b'];
    
        // The main bauble is an Octahedron
        var bauble = new THREE.Mesh(
            addNoise(new THREE.OctahedronGeometry(12,1), 2),
            new THREE.MeshStandardMaterial( {
                color: colors[Math.floor(Math.random()*colors.length)],
                shading: THREE.FlatShading ,
                metalness: 0,
                roughness: 1
        } )
        );
        bauble.castShadow = true;
        bauble.receiveShadow = true;
        bauble.rotateZ(Math.random()*Math.PI*2);
        bauble.rotateY(Math.random()*Math.PI*2);
        this.add(bauble);
    
        // A cylinder to represent the top attachment
        var shapeOne = new THREE.Mesh(
            addNoise(new THREE.CylinderGeometry(4, 6, 10, 6, 1), 0.5),
            new THREE.MeshStandardMaterial( {
                color: 0xf8db08,
                shading: THREE.FlatShading ,
                metalness: 0,
                roughness: 1
            } )
        );
        shapeOne.position.y += 8;
        shapeOne.castShadow = true;
        shapeOne.receiveShadow = true;
        this.add(shapeOne);
    };
    Decoration.prototype = Object.create(THREE.Group.prototype);
    Decoration.prototype.constructor = Decoration;
    
    

    -在构造器中创建复杂形状

    我们现在能多次复用拼合得到的多边形来给我们的场景添加多重距离,用比单独创建每一个元素更少的工作量让树木更真实。

    var decoration = new Decoration();
    decoration.position.y += 10;
    scene.add(decoration);
    
    

    -装饰树干

    另一个建议是给创建的对象添加一个随机的元素。

    在对象的Geometry内移动顶点,以添加一个随机组织的元素来降低形状复杂度。若没有这些小缺陷,做出来的物体会有点合成的感觉。我使用了一个辅助函数来给Geometry的顶点随机添加噪点。

    function addNoise(geometry, noiseX, noiseY, noiseZ) {
        var noiseX = noiseX || 2;
        var noiseY = noiseY || noiseX;
        var noiseZ = noiseZ || noiseY;
        for(var i = 0; i < geometry.vertices.length; i++){
            var v = geometry.vertices[i];
            v.x += -noiseX / 2 + Math.random() * noiseX;
            v.y += -noiseY / 2 + Math.random() * noiseY;
            v.z += -noiseZ / 2 + Math.random() * noiseZ;
        }
        return geometry;
    }
    
    

    -添加噪点可以使对象更真实

    实现动作

    目前为止我们只为WebGLRender实现了一个单独的渲染调用。为了向我们的场景中添加一些动作,我们需要做出一些更新。

    代码链接 第四步

    代码贡献者 (@agar)

    来自 CodePen.

    -观察下多面体催眠式的缓慢旋转

    渲染循环

    为了使浏览器适应我们的更新速度,我们正在使用浏览器动作请求框架API来调用一个新的渲染函数。

    requestAnimationFrame(render);
    function render() {
        // Update camera position based on the controls
        controls.update();
    
        // Re-render the scene
        renderer.render(scene, camera);
    
        // Loop
        requestAnimationFrame(render);
    }
    
    

    -利用动作请求框架创建一个渲染循环

    超时更新元素

    现在,我会对复杂对象做出一些改变,每次创建距离时给装饰物初始化一个随机旋转速度。

    this.rotationSpeed = Math.random() * 0.02 + 0.005;
    this.rotationPosition = Math.random();
    
    

    -进入旋转

    我们同样设置了一个可以被调用来基于当前值值绕Y轴旋转的新函数。需要指出的是旋转速度基于浏览器取得的帧率,但对这个简单的例子来说还好。对处理这个过程而言,你一定会用到数学函数。

    Decoration.prototype.updatePosition = function() {
        this.rotationPosition += this.rotationSpeed;
        this.rotation.y = (Math.sin(this.rotationPosition));
    };
    
    

    -观察装饰物旋转情况

    随着一个更新函数的定义,每运行一次我们就能通过更新渲染循环来重新计算每个元素每次被创建的位置。

    function render() {
        // Update camera position based on the controls
        controls.update();
    
        // Loop through items in the scene and update their position
        for(var d = 0; d < decorations.length; d++) {
            decorations[d].updatePosition();
        }
    
        // Re-render the scene
        renderer.render(scene, camera);
    
        // Loop
        requestAnimationFrame(render);
    }
    
    

    -重新计算元素位置

    把以上的几个例子结合在一起

    代码链接 第五步

    代码贡献者 (@agar)

    来自 CodePen.

    -3D圣诞树:完全成型,装饰完美

    最终的产品总算出来了。仅仅使用了基础功能,我们已经构建出一个交互式的3D圣诞树,并且建立了一个平面的二维场景。

    但这只是使用WebGL的开始。当这项技术快速发展的时候,会出现许多可供选择的资源,还有能正确指导你的教程。以下是资源链接:

    你还在等什么?尝试下WebGL和Three.js吧,开始创建你自己的3D效果。如果你做了一些有趣的玩意,请告诉我。我很乐意欣赏一下。

    分享

    Matt Agar

    关于作者

    拥有超过15年的工程经验,Matt是August的创始成员之一,并团结了世界上一批很优秀的前后端开发者。作为能适应任何情景的问题解决者,Matt从实用角度和大方向上审视项目的技术问题。当他不在解决问题时,他一定在搭建一个虚构的动物王国并和年轻的家人一起探索户外。

    联系方式

    本文转载自:众成翻译
    译者:VicSusi
    链接:http://www.zcfy.cc/article/4705
    原文:https://www.august.com.au/blog/animating-scenes-with-webgl-three-js

    展开全文
  • Unity 2017.1 推出的Timeline功能,不仅可以高效的帮助大家实现游戏场景中的物体动画,还可以制作出更为复杂的过场动画及电影内容。今天这篇文章将由Unity大中华区技术经理成亮,通过实例分析让大家了解Timeline的多...

    转载注明出处:点击打开链接

    Unity 2017.1 推出的Timeline功能,不仅可以高效的帮助大家实现游戏场景中的物体动画,还可以制作出更为复杂的过场动画及电影内容。今天这篇文章将由Unity大中华区技术经理成亮,通过实例分析让大家了解Timeline的多轨道,把各类场景中的元素整合实现更为复杂的动画。


    Timeline简介

    Timeline 是一套基于时间轴的多轨道动画系统,它支持可视化编辑,实时预览,主要包括Timeline 资源,PlayableDirector,组件以及Timeline编辑器。下图底部展示了Timeline的编辑器,可以看到每一条轨道左边是绑定的场景中的物体,这部分信息会记录在PlayableDirector中;右边就是轨道的播放数据,这部分信息会记录在Timeline资源中。下图中部的红框展示了PlayableDirector组件,它的主要作用是播放Timeline资源,以及保存Timeline所绑定的场景物体。



    目前Timeline包括以下六个基本轨道类型:
    • Animation:用于播放AnimationClip或者关键帧动画

    • Activation:用于控制物体的激活状态。

    • Audio:用于音效的播放。

    • Control:用于控制粒子,或者另一个Timeline对象的播放。

    • Playable:用于自定义的播放行为。

    • Cinemachine:用于控制Cinemachien相机系统的播放。


    Timeline提供给了用户足够的扩展性,可以通过Playable轨道,自定义任何我们想要的动画行为。比如改变图片Alpha值,或者材质中的某个参数。下面我们将会用实际案例帮助大家了解Timeline基本使用方法及一些特性的应用。

    Timeline基本使用方法



    上图中角色从咖啡机取咖啡的动画就是使用Timeline完成的。它使用了Animation,Activation,Audio以及Control四种基本轨道类型,上图中Timeline的轨道如下图所示:




    Animation 轨道


    这是最常用的轨道类型,角色和咖啡机都使用了Animation轨道。首先我们看到角色的Animation轨道除了一段human_idle_01的Animation Clip,还包含了一段子轨道Action Track。这段子轨道比较特别,我们称之为覆盖轨道(Override Track),它的作用是在这个时间段内优先播放子轨道的内容,也就是角色取咖啡这一段动画。再来看一下咖啡机的轨道,轨道上包含了一系列Animation Clip,它们会按照先后顺序进行播放。另外,Animation轨道还支持关键帧动画的编辑并导出到Animation Clip,具体使用可以参考官方手册。

    Activation轨道

    咖啡杯(CoffeeCup)对象的出现,隐藏使用了Activation轨道。这个轨道的功能很简单,就是控制对象的激活状态。这个功能确实非常的实用。

    Audio轨道

    Audio轨道的使用也很简单,将声音素材直接拖入轨道即可。下图展示了AudioClip的属性,可以看到每一段Clip都有对应的音效素材。



    Control轨道

    本例中Control轨道用于控制咖啡流出的粒子效果的播放。用Control轨道来播放粒子效果,可以预览每一帧的粒子效果,这个功能对粒子效果的调试非常的有帮助。当然Control轨道还有更多的控制功能,比如它还可以控制子Timeline的播放。



    在Timeline中我们可以通过多轨道很方便的控制场景中不同物体的动画,同时轨道覆盖以及粒子效果预览等功能也为动画制作提供了很好的帮助。

    复用Timeline

    可以被复用是Timeline一个很重要的特性。只要是有相同的动画行为,即使是不同的物体,也可以复用相同的Timeline资源。比如说游戏中常见的收集物品,通常都有相同的一些动画表现效果,如果每一类物品都要单独制作动画,显然从制作和性能上都是低效的。下面我们就以收集物动画的例子来分析Timeline 是如何被复用的。



    下图中所示的红心、五角星、磁铁、翻倍四个收集物的动画行为完全一致,因此它们的收集动画统一使用了PickedUp-CollectableTimeline这个Timeline资源。在Timeline窗口中第一个轨道是收集者的动画,由于在预制件中是无法知道场景中的收集者的,所以需要动态绑定收集者,因此暂时留空;第二个轨道是缩放和旋转收集物的动画,直接绑定到目标对象上即可;第三,四条轨道通过Control轨道播放相同的粒子效果。



    如何动态绑定轨道的目标对象,如下面这段代码所示,collectedTimeline就是Timeline资源所对应的PlayableDirector,首先通过遍历的方式找到相应的轨道playableAssetOutput,然后调用PlayableDirector的SetGenericBinding把收集者动态绑定到轨道上。



    从上述例子可以看到,Timeline通过把动画数据和动画目标分离,实现了资源复用的特性,可以大大提升使用效率。

    Timeline嵌套

    有时候在场景中常常会出现这种情况,一个物体会在某一处按照一定间隔出现,比如天空中的闪电。闪电本身是一个动画序列,而控制闪电的间隔本身也可以看作是一段动画。而这样的双层动画也可以通过Timeline来实现,因为Timeline支持嵌套。



    我们首先来看主Timeline的轨道,这里有六条控制闪电的轨道,都是Control类型的轨道,在每一条轨道中控制闪电出现的时机和间隔。

     


    而具体闪电的表现效果由Control Clip对应的子Timeline来负责。如下图所示,闪电效果的Timeline包含四条Control类型的轨道,分别控制不同粒子效果的播放。
        
     


    结语

    通过今天的学习,可以让大家初步了解Timeline的多轨道机制,以及资源复用和嵌套使用等特性。可以帮助大家实现很多之前需要代码才能完成的功能。后面我们还将继续为大家分享Timeline强大的扩展性,即自定义行为的Playable轨道。以及结合Cinemachine智能相机系统所创造的丰富表现力等内容在Unity官方中文社区(unitychina.cn),请保持关注!
    展开全文
  • 3D建模场景怎么做?

    千次阅读 2020-05-16 20:54:37
    在开始做3d场景之前,我绘制了一些草图。选好需要的草图后(图01),我用3ds max从标准几何体开始制作模型,还使用了像lathe,bevel以及unwrap uvw这类的基本修改器。 用不同的参数值进行复制(图02)。为了完成这个...
  • 需求建模之基于场景的方法

    千次阅读 2020-11-01 16:12:18
    第八章 基于场景的方法 概念:文字记录是极好的交流工具,但并不一定是表达计算机软件需求的最好方式。需求建模使用文字和图表的综合形式,以相对容易理解的方式描绘需求,更重要的是,可以更直接地评审它们的正确性...
  • 美术绘画之场景基础

    万人学习 2015-12-11 14:17:39
    游戏场景一直都是美术制作的一点难点,这次张老师特意用22个课时的时间来向大家详细的讲解游戏美术制作之关于场景制作的一些技巧,希望可以让大家在课程的学习中学习到更多的关于美术制作的知识!
  • MATLAB-自动驾驶-场景生成

    千次阅读 2020-04-30 16:31:46
    MATLAB-自动驾驶数据标注创建驾驶场景 开始学习MATLAB自动驾驶工具箱,主要是读官方文档 数据标注 标注方法可选择,包括自动驾驶工具箱和计算机视觉工具箱。 根据数据的类型选择不同的标注工具箱: 无序且大小不一...
  • 如何做一个过场动画(场景加载)

    千次阅读 2021-11-26 09:13:18
    为什么要做过场动画 过场动画是在CG技术的支持下,制作 游戏 内的场景人物或剧情相关的 动画...当一个场景过于庞大的时候,加载场景可能需要很多时间,这时候我们就需要做一个过场动画增强游戏的衔接。 第一步 ...
  • 电信设备-一种便于移动的场景画.zip
  • Hbase 使用场景及案例

    2021-01-20 12:44:37
    Hbase特点 1. 高速写入:高速写入,对读取需求比较小。 2.大数据:分布式存储,海量数据搞得定。不用担心无限增长的数据。 3. 可靠:写入的不是内存,是硬盘,高性能 4. 查询简单:不需要复杂...Hbase使用场景3:用户
  • 教室场景画简笔画图片精选

    千次阅读 2021-07-25 04:33:43
    教室场景画简笔画图片欣赏教室场景画简笔画图片1教室场景画简笔画图片2教室场景画简笔画图片3教室场景画简笔画图片4教室场景画简笔画图片5如何生活场景速写生活场景速写呢?首先应具有创作意识。场景速写的内容...
  • 美术绘画之原画场景深入刻画

    万人学习 2015-12-18 11:32:50
    这次我们将通过47个课时讲场景制作,可以通过多课时的介绍更加详细的讲解美术制作和游戏制作,让大家这这个行业的工作内容更加了解!
  • 谈谈业务中使用分布式的场景

    千次阅读 2018-04-14 18:30:58
    谈谈业务中使用分布式的场景 https://segmentfault.com/q/1010000006095431 1首先,需要了解系统为什么使用分布式。 随着互联网的发展,传统单工程项目的很多性能瓶颈越发凸显,性能瓶颈可以有几个方面。 一、...
  • 在转场框架中,动画是由一帧帧的图像连续绘制形成的,这一帧帧的图像描述了启动场景到结束场景的整个过程。转场框架将这些动画作为一个转场对象。如果要启动动画,需要提供一个转场对象,并将结束场景提供给转场管理...
  • unity 实现场景过度动画

    千次阅读 2018-10-31 20:28:54
    最后通过测试按钮调用,过度场景动画 void OnGUI() { if (GUI.Button(new Rect(10, 10, 100, 40), "Test")) { UiCamera.useOcclusionCulling = true; SceneFadeInOut fade = UiCamera.GetComponent(); ...
  • Unity3d 切换场景过度动画

    千次阅读 2017-12-20 10:22:03
    为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的...
  • 1.先说一下 过渡动画(Transition Animation)过度动画有3种:场景过渡动画(Scene Transition),Activity过渡动画,共享元素过渡动画(Shared Element Transition)这一次介绍Scene Transition的简单使用,之后会写...
  • 易语言画板图像缩放

    2020-07-17 11:13:47
    易语言画板图像缩放源码,画板图像缩放,位图缩放到画板,位图缩放,取内存位图句柄,点_,取窗口全部设备场景_,释放设备场景_,无关位图创建到有关位图_,取字节集地址_,复制位图_,创建内存场景_,选入设备场景_,删除...
  • MAYA万箭齐发场景

    2018-10-15 23:26:53
    MAYA万箭齐发动画场景,模型材质贴图齐全,可以直接渲染,支持2017及以上
  • opengl场景设计(房子+烟花+漫游+山),opengl房子,CC++源码.zip
  • 2017年全国职业院校信息化教学大赛信息化课堂教学比赛高等职业教育组百花齐放佳节活动场景创设课堂教学2017年全国职业院校信息化教学大赛课堂教学比赛高等职业教育组参赛教案课程名称节事活动项目策划与实
  • 内含全面的区块链技术应用场景方案,全文可编辑。区块链技术的实际应用场景,全文图形,图像展示技术原理,实现途径。且各种小图标都可自由编辑替换。
  • 需求:给定一块区域地图,根据需要制作成热力图形式。并且,由于需要对比实验,两张热力图之间的热力值最大最小应该是一致的 bresenham画圆算法 根据近似和坐标关系递推获得像素格子位置 ...
  • 超级玛丽是一个非常经典的游戏。请你用字符的形式输出超级玛丽中的一个场景。 ******** ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #..
  • Unity3d车库场景模型

    2017-12-04 10:45:36
    一个车库的模型场景资源,.unitypackage文件,有一个搭建好的小场景
  • unity3d 切换场景过度动画

    万次阅读 2015-11-03 16:58:38
    为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 267,252
精华内容 106,900
关键字:

如何画场景