粉丝134获赞1079
u 业务创建多关卡使用的序列动画。以打开抽屉动画为例,添加关卡序列,将关卡序列保存到独立文件夹中,方便后续整理。 选择对象,拖入关卡序列编辑界面,为对象添加关键真动画。 同样的方法,为第二个对象添加关卡序列动画, 然后再添加一个关卡序列,将两个关卡序列整合到一起。 在整合关卡序列中添加镜头轨道,依次将两个关卡序列添加到镜头轨道中,调整两个关卡序列位置, 预览并调整两个关卡关键真范围, 再次调整整合关卡序列中两个小关卡序列的长度和位置, 完成整合。
我们今天教大家怎么在虚幻舞里面创建一个新的关卡,我们先点击这边的文件,然后点击这个新建关卡,可以在这边直接创建,已经带了环境五百,或者说直接创建一个空白,什么都没有的,我们今天就从这个空白开始这个新建关卡,这个面板我们也可以直接用快捷键 ctrl 加 n, 然后也可以直接创建,我们先创建这个空白的关卡, 然后这个里面是什么都没有的,一片漆黑,我们可以看到这边的世界大纲里面这个是什么都没有的,那我们现在先给他添加一个地板, 然后把它改大一点, 再给他上个材质, 再添加一个方块吧,直接按住这边的拖拽就能放进来,可以在看到我们现在场里面是有的一个地板有了一个方块,但是我们现在场里面你看这方块没有影子了,所以我们场子里面就需要光, 那我就给他添加一个太阳光,先整个光源这边,然后播放一个定向光源进来,这个定向光源在场景里面他的位置是不会产生任何影响的,他只有一个方向的变化,我们可以 康水加 l, 然后按住康水不要动,然后就是移动鼠标,我们就可以看到,看地上有变化,就可以发现这个光的方向也是在变的。我们现在有了光,那我们看一下天空是一片漆黑,所以我们给他加一个蓝天,点这边的视觉效果,然后看这里有一个天空大气,我们直接按住,然后拖放进来, 他就有一个蓝天,然后上面还有一个太阳,这个太阳是合理的播放进来的,这个印象光源他是绑定的,我们可以看到按住再改一下,我们看一下按住这个假药,然后直接移动鼠标,可以发现不只是光源的方向在变,这个太阳在天空中的位置也是在移动的, 我们现在有了蓝天呢,再给他加个白云,看这边还是这边有一个体质语音,直接拖放进来看我们的天上就有,也就有语音。 那大家看到我们这个下面,这里一片漆黑,然后我们再放一个指数级高度物,播放起来就可以解决这个问题。 其实你放放这个不是很影响,因为我们场地一旦,一旦场景大了之后,他其实是你是看不到真实环境下,你是看不到地底下的这个画面,对吧?这样我们就有一个比较完整的环境。嗯,点赞关注,了解更多资讯。
今天这个视频能够帮助大家十五分钟学会使用 ue 制作电影短片。运行 ue, 先创建一个工程制作短片的 ue 工程,我建议选择 games 工程模板, games 工程模板提供更多的编程功能,而我也会在其他视频里介绍影视编程相关的技术。工程类型选择 blueprint, 如果你熟悉 c 加加开发,可以选择 c 加加。填写好工程名称, 点击 create 按钮就完成工程创建。 工程创建号之后需要为 短片布景,我选用了一套免费的卡通玄幻城镇资产,点击添加到工程, 在工程列表中选择刚创建的工程。 how to make shortphone 导入完成后,可以在看片 browser 中可以看到添加进来的资产。找到该资产里的关卡文件,选择其中的一个作为这次短片的场景 控制。编辑视图的摄像头,预览下整个场景, 可以在城镇门口取景,拍摄一段动画 短片。所需的角色模型,我是从 mixey 某网站下载, 打开 maximo 官网,你需要注册一个 adobe 的账号, maximo 上主要提供免费的模型和动作资源。先下载一个卡通角色的模型, 这个卡通女性模型比较合适。 点击右侧的 download 按钮,在下载设置中 pose 要选择 t pose, 点击 download 按钮下载资源。 接着下载一个走路动作, 找到一个适合女性角色走路动作, 选中动作后,可以看看这个走路动作的预览。 在下载动作文件之前,建议勾选 in place, 勾选 in place 后表示该动作是原地,不会使用 remotion。 点击 download 按钮, 在下载设置中修改 skin 的职位, without skin 表示不需要蒙皮资源,这样能减少动作文件的大小。 点击 download 按钮开始下载, 然后再下载一个跑步的动作。 接着将模型和动作资源导入 ue, 新建一个目录,用来专门保存短片工程的资产。 再创建一个 characters 的子目录,用来保存角色模型。 直接从 cool 中拖动下载的模型文件到入意。将资产文件拖动,入意后会弹出相应的 and production 窗体。 这次保留默认的设置, 如果同时导入多个资产文件,就点击 input all 按钮。这次只导入一个模型资产,所以点击 input 完成导入。 再建一个名为 animations 子目录,用来保存动作文件。将不同类型的资产分开保存是一个好习惯。 拖动动作文件到入 e, 设置动作文件的骨骼, 选择刚导入的角色的谷歌, 点击 import 按钮完成导入。用同样的步骤导入跑步的动作。 现在角色模型和动作都准备好了,开始制作短片。 先将角色拖动到场景里。 创建一个名为 synomatic 的子目录,用来保存关卡序列文件。 创建一个关卡序列,关卡序列也叫 level c。 双击打开关卡序列编辑界面, 点击左侧加 track 按钮,先将角色添加到这个关卡序列里。 角色默认有两个轨道, animation 和 transform。 animation 轨道是控制角色动画, transform 轨道可以控制角色的位置,旋转角度等。 点击 animation 轨道上的加号按钮,为角色添加一个动作。 从列表中选择 walking 动作。 点击播放按钮,预览下动作效果, 调整 animation 轨道上时间范围,再次播放看看效果。 完成角色的布置后,开始添加第一个分镜的摄像机。 选择 syncome reactor, 调整这个摄像机的位置和朝向。 向关卡序列中添加这个摄像机控制轨道。 添加摄像机轨道的同时会自动添加一个 commerc 轨道,这是用来切换多个摄像机的控制轨道。 预览下拍摄画面。 这个摄像机目前有个问题,拍摄目标是虚化的,这是摄像机的焦距设置不正确导致,有必要的话就调整下摄像机的焦距。每个摄像机轨道都有一个手动调整焦距的子轨道, 将鼠标放到焦距编辑框的上方,可以调整焦距值, 直到目标变得清晰。 学会怎么调整摄像机的焦距了吗? 接着要让角色走动啊!现在的画面是来自是分镜摄像机拍摄的视角,需要切换到编辑视图。点击摄像机轨道右侧高亮的小图标,变灰后就切换到编辑视图, 在点击下点亮小图标,又进入了分镜摄像机的视角。 学会怎么切换回编辑视图了吗?现在可以控制角色的走位。 先在第一针添加一个关键针, 拖动时间线到指定的时间点,然后移动角色的位置, 在新的位置和新的时间点上再添加一个关键针,将时间线拉回到第一针。 播放预览看下效果。 切换到分进摄像机的视角,再看下效果,再次把时间线拖动到第一针,此时角色走出了摄像机的拍摄范围。 那如何控制摄像机跟随角色呢?为了能让这个摄像机能跟随角色,需要配置摄像机的跟随功能。 选中分镜摄像机, 在该摄像机的 detail 面板中找到 look at tracking settings。 暂时先不勾选 enable 乐卡 tracking, 使用剪取吸管从场景中选择 要跟随的对象, 在场景中点击指定的角色完成选择, 可以看到此处已经变成角色对象了,现在就勾选 enable look at tracking。 摄像机的视角朝向了角色的双脚的位置,但是摄像机需要拍摄到角色头部, 因此还需配置下跟随的相对位置。修改相对位置 修改完成 后播放预览看下效果。 为了掩饰多个镜头的切换,添加第二个分镜的摄像机, 调整第二个摄像机的位置和朝向。 前面使用添加 track 方式添加摄像机轨道,此处介绍第二个添加轨道的方法。 将摄像机拖动到关卡序列中就可以, 二个摄像机轨道生成时默认就处于该摄像机的视角了。播放预览看下效果。 如果需要也调整第二个摄像机的焦距。 现在要用 camera 客轨道控制两个分镜摄像机的切换。 将时间线拖动到指定的时间点, 再点击 camera 课轨道上的添加按钮, 将第二个摄像机添加上去了。 此时试图里只生成了第一个摄像机的画面, 为了预览两个摄像机切换的画面效果, 需要点亮 camerac 轨道上的摄像机图标, 播放预览看下效果。 现在这个短片的两个分镜都已经设计好,接下去要 导出短片的视频, 先选择视频生成方式。我的右翼只有一种, movie scene culture legacy。 接着点击 render movie 按钮, 在 render movie settings 中可以修改输出格式和分辨率, 点击 capture movie 按钮,开始生成视频,视频生成好后打开输出目录, 双击播放,学会了吗?
阿旦的入门教学虚幻商城中有很多关于怎解析的茶件,我比较喜欢用 virus 是免费的,需要的自取。 添加好插件之后在项目中把它打开。第一次打开需要重启一下引擎,我先简单演示一下使用方式,很简单,打开关卡蓝图,或者随便什么蓝图。 先把之前的代码删掉,用不到了。 在空白处,右键输入 mirrors, 滑动到最下面,找到红色的这个引擎。此系统 我们可以通过这个子系统拿到。这个插件里面的节点非常的实用,具体可以看大招的知乎文章,也可以通过右侧的控制板找到 meris 插件里面的节点不会用,可以先认识认识。 可以看到森分类里面的节点还是很多的,不要怕麻烦,常用的就那几种。 这个节点是用来将字符串数据转换为省格式,当然你的字符串数据必须是正确的。下面这个功能和它相反,是将省格式转换成字符串格式的。 这个节点是通过 t 拿到 descent 里面的 value, 这是字符形的,还有其他的整形符,典形等。 开始写代码吧。鼠标右键,先把被店铺 a 节点找出来, 从此系统往外拉。先构建一个省的对象,我们后面主要操作这个对象, 把它们连接好。节点里面的输入,我们把刚刚写好的 thasin 数据复制给他, 这里的数据会通过节点转换成散对象,我们把它保存成变量,给他个合适的名字, b 站 up 主,这组数据就保存到变量里了。空白处,鼠标右键把键盘仪式键拿出来, 我们用它来做测试。拖一个尺寸变量到场景中,连到 guest trim feel 的节点上面,这里要在节点上输入 k 的名字, 我这里输入 tap, 然后用打印节点来检测一下结果。数据里面的 tap up 主属于这里面的第一层,所以这里可以直接去拿 运行测试一下。我们按下键盘的一键,可以看到打印出了 type, 对应的 value 是没问题的。 回到代码区,接着去拿第二层的数据,就是这个数组里面的数据,因为数组包含在对特里,所以我称数组数据为第二层。这里继续从 cen 对象中往外拖,找到 get object re 节点,同 同样的复制一个键盘仪式键,这里把它改成二,也就是按下键盘二键触发的事件。 这里把 get 输入到节点里面,用 foul coop 节点,把数组变利一下, 拿到 data 里面的数组数据,因为这里拿到的是 the object, 所以还要转化成字符形,这里我在后面加一个切割符,方便我们查看数据。 回到场景中运行一下,当我按下二键,可以看到打印了三组数据,好的非常完美,这里可以很清晰的看到王胖胖、张三和阿旦的粉丝数量。 回到代码去继续写,接着去拿第三层的数据,也就是对应 up 主的粉丝数量。开头这部分直接复制上面的触发方式,改成键盘三世界。 for reach loop 的输出是 data 里面的数组, 从他往外拖,拿到 gastring field 节点,把 k 的值输入进去,这里输入代表 up 名字的内容,然后判断这个名字是否为阿旦,如果是就执行后面的操作,如果不是就继续循环 复制一个节点,如果找到阿旦的数据,就拿到对应的粉丝数量,把它打印出来, 这里加一个前缀,方便理解 运行。测试一下,当我按下三键式,屏幕上面打印对应的数量,好的,没问题,再试试。按键二,打印数组的数据,再试试按键一,打印数据的类型。 好的,解析代码写完了,小伙伴们学会了吗? 最后再复习一下笋的介绍和特点,这时候多少明白点了吧,更小更快更易解析, 所以在写接口时通常使用笋格式。好的,下节见。
鸭蛋的入门教学, 运行测试一下。当我按下数字三件事,左上角屏幕打印粉丝数量。当我按下二件事,打印数组信息,按下一件十、打印数据的类型。 实战项目中,友谊经常会和前后端交互,这就需要提供接口数字孪生的行业龙头是五十一 word, 打开他的官网,看一下他们的接口文档,这里的链接直接去百度上面搜索就可以。点击右上角的数字, 这个数字代表目前的版本,这里随便在左侧点开一个接口,这里我选择的是获取当前场景镜头 信息接口,这个接口主要是询问当前三 d 世界市口区域镜头信息,并通过事件注册函数返回信息, 这个回调数据就是当前场景的镜头信息。这个大括号里面就是省数据,可以看到每条数据由 k 和 value 组成,每条由逗号隔开, 数据非常的简洁,一目了然,根据后面的注视提示,很快就能搞清楚数据的意思。这里我们简单看一下省的介绍和特点。一、亿省就是 javascript, object notation, javascript 对象表示法。 二、顺势存储和交换文本信息的语法类似 x m l, 三、顺比 x m l 更小,更快、更易解析。四、色拟于人阅读和编写。五、 c python, c 加加 job, p h p 勾等编程语言都支持。 好的,让我们来编辑一个简单的伞,随便在百度上面搜索伞在线编辑工具。 首先一组数据包含在一个大括号里面,我们先敲一个出来,接着敲一组引号,引号里面写上 name, 这是 key。 再敲一个冒号和一组引号,在引号里输入阿旦,这是 value。 好的,这就是一组最简单的数据,只有一条, 他的 t 是 name, 埋了又是阿旦。在线编辑工具的右侧也显示出来了,这表示数据的格式是没问题的, 我们可以在这里编辑 t 和 value 的值,非常的方便,如果不显示就证明格式有问题。 接下来再添加一组数据,先输入一个逗号,用来隔开两组数据,后面这一组的格式和之前是一样的,引号加冒号加引号。第一组引号里面输入 number, 代表粉丝数量, 看一下现在的粉丝数量是多少。一千七百零七。好的,把这个数值放到后面的引号里,可以看到右面的面板里面也显示出来了,证明 格式是正确的,这里可以修改值,我把它改成阿蛋,可以看到左侧也跟着改好了。这组数据代表的意思就是阿蛋有粉丝一七零七,这个大家都理解了吧。 好的,理解。之后再添加一点数据,还是引号加冒号加引号的格式。第一组引号里面输入 time 类型,第二组输入 b 站 up 主, 他表示这个等数据是用来记录 b 站 up 主的。最后添加一个逗号,把他们隔开, b 站有很多的 up 主,这里我再添加一组,还是引号加冒号,输入 date 数据,冒号后面添。 添加一组中括号,代表这个数据是一个数组。把刚刚写好的阿蛋剪切到数组里面,用大括号把阿蛋包住,一个大括号就代表数组里面的一个 object, 可以看到面板的右侧也是没问题的。 接着继续添加,先加一个逗号,隔开两组数据,这里我直接复制一份, 因为结构 k 都是一样的,只是值不一样。这里 name 改成张三,粉丝数量改成六十六。接着继续添加。先加一个逗号,隔开两组数据, 这里我直接复制一份。 注意这里出错了,原因是这个逗号用的中文逗号,把它改为英文逗号, 因为结构 k 都是一样的,只是值不一样。这里 name 改成王胖胖,粉丝数量改成一百万。 好的,一组完整的 send 数据写好了,他记录了 bj up 主的名字和粉丝数量。 好的,这节结束了,如何在 ue 里面使用笋放到下节再见。
从他返回的结果往外拖,输入 incadison 巴特森格式的数据,转化成字符串,用一个 pany 节点测试一下。来到场景中运行,让我按下键盘的五键,可以看到左上角打印 很好,成功 get 到了数据。回到代码区,再来试试另外一种方法。首先复制一个按键事件,在右侧把它改成六键触发。 复制一个 virus 的子系统,从它里面往外拖,输入 courl 这里把他们连上,再把链接填进去,剩下的宝石默认从最下面的红色输入往外拖,创建一 一个自定义事件,可以看到事件自动添加了 egotsun 输出,从它里面往外拖,拿到 gather response object 节点,然后就和上面一样,把拿到的数据转化成笋格式, 用打印节点测试一下,顺便给它改个颜色,便于区分。 来到场景中运行,让我按下键盘的六键,可以看到左上角打印 很好,也成功的 get 到了在售宠物的信息。回到代码区,我把这个链接删去 几个字符,看一下错误的 url 会返回什么?可以看到错误的 url 返回四零四, 看一下 ape fox 官网对 url 的介绍。接口路径是指用于标识 api 资源的 url 地址请求方,能够通过接口路径向服务器发起请求并获取服务器响应。
今天分享一个利用胡迪尼 vex 创建的管道生成工具,可以直接在 u e 五中使用。 首先确保 ev 五中已经安装了胡迪尼十九点五或以上版本的胡迪尼 inter 插件。然后将下载的 hda 工具拖入到场景中,调整好位置,可以在 bridge 中下载一个生锈材质赋予上去。选中模型, 鼠标左键点击管道两头其中一个控制点,按住 alt 键并拖动鼠标,就可以根据你的拖动路线生成管道了。 我们在管道属性里面把接口选项勾选打开,这样就会在管道拐弯处自动生成带有螺丝的接口。模型。 按键可以控制管道的整体粗细。 u v 旋转可以控制贴图的方向, u v 缩放可以控制贴图的大小,间距可以控制两个接口的距离, 接口半径可以控制接口的大小,接口长度可以控制接口沿着管道方向的厚度。连接距离可以控制两片铁片之间的距离。最下面是控制螺丝生成的一些参数, 可以控制生成的数量、粗细、长度以及距离中心的位置。如果想要 要这个工具可以私信我,我会持续不断的分享程序化工具,喜欢就关注下吧。
welcome now being a top down game will be wanting to click on enemies to attack them it would be nice if we could have some sort of highlight effect to show us which enemy is being targeted now the player controller class has ways to see what's beneath the mouse cursor so this is a great class to handle this in now let's say that we have a b p goblin spear in the world and we hover over it with our mouse cursor what we want is for that enemy to be highlighted with some sort of red outline but if we hover over another enemy of another type say a bp goblin slingshot we want that enemy to highlight now we could get the actor under our mouth cursor and say cast it to one of these classes and highlight that actor if it's of the correct type in fact these enemies share the same parent class the aura enemy class so we could cast to that but that limits us to only being able to highlight objects that derive from that class on top of that it makes the aura player controller class dependent on the aura enemy class and we'd like our code to be more versatile than that to achieve this versatility we can create an interface class now the name isn't all that important but i'll call this the enemy interface class and when hovering over an actor we can check to see if it implements this interface if it does we can then call an interface function on that interface this gives us more flexibility because the ora player controller doesn't need to know what should happen to an actor when hovering over it all it knows is that if the actor implements the interface it should call that interface function and the actor can override that function and implement it in any way, it wants different enemy classes can have different functionality for the highlight function we could add this interface to a barrel or a door and handle highlighting those objects differently if we wanted to do that in that case the name enemy interface might be less appropriate for the name and it might be better to call it something else like target interface or highlight interface but either way an interface is the way to go if we like this type of versatility and this is what experienced developers call good coding practice so let's make our interface so we'd like to make an interface i'm going to go into my c classes folder into aura public and i'll make the class here and if i scroll all the way down to the bottom we have unreal interface we're going to use that and i'd like to keep my interface in its own folder i'm going to call this folder interaction and i'll place this interface here and i'm gonna call this enemy interface so i can create the class i'm gonna click no and go ahead and close the editor so i can now have my interface here and here it pops up in interaction here's enemy interface dot h now enemy interface is going to have a couple of functions i'd like to call a function that will allow me to highlight the enemy when we hover over it so i'm to make a virtual function here virtual void and i'll call this simply highlight actor now if i place an equals zero here then this will now be a pure virtual function which means that we will not provide a definition here in this class this class is now considered abstract and must be derived from that's how we're gonna implement this interface in the enemy class and any class that implements this interface will be required to override this pure virtual function and provide a definition for it i'm gonna make another one virtual void and call this un highlight actor and i'll make that also pure virtual and that way we'll have two interface functions that we can call it's a highlight and un highlight any actor that implements this interface so let's implement this on the enemy i'd like the aura enemy class to implement it so i'm going to go to aura enemy h and right here is where i can inherit from this class i'm going to say public i enemy interface and remember the include for enemy interface must be here in the header file if we're going to inherit from that interface class writer just popped it up there for me automatically visual studio won't do that so you'll need to include the header file for this class now because we're implementing this interface now the aura enemy class must override those pure virtual functions i'm going to show you what happens if we don't do that i'm going to go ahead and compile let's see what errors we get now here's what we get ora enemy cannot instantiate abstract class remember as soon as we added a pure virtual function to enemy interface it became an abstract class and you cannot instantiate an abstract class without overwriting its pure virtual functions so we have to override both of these i'll go ahead and copy both of them and come back to aura enemy and create a public section i'm gonna paste them in now we're not going to put equal zero here what we do is we mark these with override instead to make it clear that we're overriding these and we can create some function definitions for them so generate definitions by declarations click ok and here we have highlight actor and un highlight actor so now that our enemies implement this interface and we have the ability to call interface functions on any actors that we know implement this interface we can now set up our player controller to see what actors exist under the mouse cursor and if they implement that interface we can highlight them so that'll be the next thing we do for now we can compile this and make sure we have no compiler errors and with a successful build we'll wrap up this video and continue in the next one i'll see you soon。
之前给大家讲过玉玉里面比较常见的变量,那我们再再来讲一下这个玉玉里面常用的数字结构,我们点击这个加号创建一个变量, 然后给他起名叫爹疼,然后我们再复制一个, 然后这个变量我们就选择变量类型,我们就选择整数,然后我们再看这个右边 这里有一个变量的这个详细的这个参数,那第一个就是他我们刚才给他起的名字,然后这个变量类型就是我们选择了这个整数,然后前面也讲过,我们可以选择其他的变量,然后再看这个后面这个地方设定这个变量 的容器类型,然后我们看这里单个,单个就表示这个 data 他是只有 只有一个数据,结果然后这个数组呢?他就表示一个同类型的,就是有多个这个整数,我们把这个给他 b 改成这个数组,然后点到 a 是这个单个的,那这个时候 我们先编译一下,然后我们看到这边默认值,这里一到 a 呢,他就只有一个整数,我们现在给他改成一百, 然后这个对特币,我们看一下他这里的默认值是零数组元素就表示他这里没有任何一个数据,然后我们点击添加之后,他会添加第一个,再点击添加添加第二个,我们现在添加三个,然后 这个所以零呢?就是我们一般在编程里面,所以都是零,表示第一位,也就是他这个数组里面有三个相同的都是整数,我们就都可以放到这个数组,放到数组这个容器里面把它包起来。 第一个我们让他等于一,第二个默认值为二,第三个就为三,然后这个时候呢就表示 这个时候我们就表示 a, 他就只可能等于一百,他只有一个数,但是我们这个时候的 data b, 他就等于一、二、三,他等于这三 三个数据,那我们怎样取到这个 databe 里面的其中一个数呢?这个一、二、三都表示整数,他们是同类型的。如果我们刚刚说了他的缩影是从零开始的,也就是 data b 第零位等于一, data b 第一位等于二, 我们这样就可以取到他这个币里面的数值,这就是一个数组的作用,我们也可以 把这个类型我们再换一个, 然后我们把它改成字不串,那它就是一个字不串类型的一个数组。我们在这个地方可以也可以给大家添加多个,我们在这里就添加五个,然后就是 a、 b, c, d, e, 我们来看一下我们在这个蓝图里面怎么取他的数据,我们先拉出来,然后获取,我们取第一位就用 get, 我们打开看一下啊, 刚才说了这个缩影他是从零开始的,也就是说我们现在打印这个 datza 的第零位,也就是他的第一位,那打印出来赞就是 a, 我们来看一下这个结果, 然后我们来看一下这个结果,运行一下,然后按下,我们看一下这个适合左上角,按下一,然后可以看到他现在打印的就是 a, 比如说我们可以通过这个数组,然后拉出来获取一个 get, 然后改变他这里的缩影,我们只能这个缩影是只能填他这个数组的长度减一,因为他他的这个长度我们可以看一下, 我们把它的长度打印一下, 可以看到它的长度现在是五,也就是说它这个数组里面是有五个五,五位,五位这个支付串的。 然后我们这个地方的 get 他是从零开始了,所以从这个地方所以开始他是没有五的。有时候我们这个最大值只能填他的长度减一,也就是五减一,四获得最后一位,我们只能获得 最后一位,如果超出了就会爆错,因为它不存在,所以为五,也就是第六位的这个数据。 现在打印一,也就是最后一位的数据,这个就是数组。然后数组我们经常都是配合着这个,嗯,循环来使用的,所以我们下一期给大家讲一下这个循环。
大家好,我是裴云龙,这堂课给大家讲一下关卡蓝图,这还是三堂课的那台车,但是把这个颜色改成了这种蓝色的, 这是因为我女儿喜欢这种颜色。观看蓝图在哪里?在这里啊,在这里这里,嗯,打开观看蓝图 啊,打开之后他有两个事件,有两个事件,这两个事件是不一样的,嗯嗯,目前他是灰的,没有激活,哎。想激活的话,非常简单,就拉出一条线,给他 搞定一个蓝图的节点,我们搞一个打印蓝图吧。 brenda skin 打印支付串,嗯。再演示一遍啊,我们把它拉出来,安卓鼠标左键拉出来,放手啊,他就可以 输文字,这里打汉字啊,打英文都可以, 如果这些汉字的节点,如果大家想看这个英文的原版的话,可以按住 alt 键,嗯,他会显示英文单词的名字啊。 prerent 是俊打印支付串,嗯, 这个东西他仅限于开阀,哎,也就是我们做测试经常会用到这个节点,经常会用,他会帮我们检查 线路通不通啊,蓝图的线路,也就是通俗的说是蓝图的线路通不通,严格的说就是这个逻辑啊,蓝图的逻辑是不是对的? 然后展开这个节点,他有一个,这个是打印到屏幕,打印到日字,嗯,字体的颜色,嗯。字体持续的时间,嗯。然后这个是我们字体的内容嘛,嗯,因使劲,嗯, 就是支付穿的内容啊,比如说我打一个云龙课堂 这个蓝图啊,这个蓝图的基本操作,我给大家讲一下啊,这个滚轮的滚 动啊,可以放大缩小啊,按,按住鼠标右键可以拖动啊,当然你如果手键拖到乱七八糟,拖到不知道到天涯海角去了,你们可以按住。怎么去找到我们的蓝图呢?按一下 键盘上的后面键啊,他就来了。后面加嘛。回家了,我要回家 哦姐姐我要回家。 然后现在去运行的话,他在这个上面他就会出现打一个文字只会持续两秒钟,因为他磨人的只有两秒钟,你把它搞长一点,比如说搞八秒,就会持续八秒, 嗯,持续八秒之后他才会消失。哎,就这么简单,这就是我们的第一个难度的节点, 然后 这个东西当然那个啊,这个线呢,你还可以拉啊,你还可以去,比如说你还可以打印啊,这个节点的福字是康雀加底, 或者是或者你们用 ctrl 加 c, ctrl 加微去复制也可以,就这样都可以,你还可以 ctrl 加底,再来一个文字,当然你可以。嗯, 可以去搞一搞啊。 嗯,对吧,都可以去去搞一搞, 然后这样去执行的话他就会同时执行了,他是执行的顺序,大家可以去看的到啊,那是首先执行的运动课堂在执行, 执行大帅哥啊,在执行,这个非常牛批。嗯呃,这样显示他为什么云龙课堂在下面呢?他把他往下挤的呢?这是第一个显示,第二个显示,第三个显示, 就这么简单来,你必须要保证逻辑是对的啊,他线路都是通的才行,这个用来经常用来 检查我们的逻辑是否正确,非常重要的一个节点。这个东西怎么去排列啊?就说 这个你排的乱七八糟怎么去排列的话,你们可以选择这些节点来按 q 啊,它会自动对齐的,可以剪啊,或者你们单击所有键,它有个对齐啊,有顶部对齐、中部对齐、底部对齐这些东西。仔细看一下, 这个就跟我们电工师傅搞的那个串联一样的吗?他当中不能断啊,这当中一断后面的东西就不能结, 不,不可能执行了,明白吧?这就跟那电线的线路一样,这样去执行,他就没 没有啊,这后面没有了,断了。然后我们在这里可以选择这个对象啊。嗯, 他在我们蓝图里面也可以显示这个执行的顺序啊,哎,很过瘾的啊,给大家看一下啊。我们选择我们的这个蓝图啊, 然后去执行,让他像电流啊,像水泥一样的流过来了,非常的帅。 好的,因为时间关系,我们下堂课再讲吧,拜拜。
better better better 开蛋的入门教学 本节我们通过 virus 插件组装一段 descent 数据,这常常用来给前端发消息 代码,接着上节的往下写,复制一个按键事件,在右侧把它改成按键四。这里注意键盘上面的数字键分为大键盘区和小键盘区,要看清楚小键盘区的九宫格,数字键在优异里面是数字一,数字二这样的 空白处。右键输入 virus, 先拿到插件的子系统, 从此系统往外拖。输入 construct is an object, 构建一个对象节点, 把他们连好, 从节点的返回值往外托,输入 set stream feel 的设置。字符型节点 解析,我们用的是 get 节点,构建自然是用 set 节点了,可以看到有两个输入,分别对应 p 和 value, 这里我直接复制过去, 把输入都填好。其实这里已经是一个完整的 descent 数据了。从构建节点的返回值往外拖,拿到 incode descent 节点之前介绍过,它可以把 descent 数据转化成字符串。 这里我们先用打印节点去检查一下正确性,修改一下打印的颜色和显示时长, 回到场景中运行一下。当我按下键盘四时,屏幕打印刚刚组装好的等数据。好的非常方便,只需要输入 k 和 value, 它会帮我们加上括号和引号, 把打印节点断开放到一边,等会还要用到。接着往后写,先看一下后面的结构,点击字段前面的按钮,可以把他们折叠起来,方便我们看结构。 可以看到第一层数据有两个,一个是 tap, 一个是 data。 tap 已经写好了,接下来写一下 data, data 是一个数组类型的对象,从构建的返回纸往外拖,输入 set object to a few 节点 可以看到他需要两个输入,一个是 t, 一个是 value。 数组先把他的 t 复制进去,从数组输入往外拖,输入 may 创建数组节点。数组先不给值,先去场景中测试一下。 回到场景中运行一下。当我按下键盘四时屏幕打印刚刚组装好的 cen 数据。由于数组没给值, 大括号里面还是空的。没问题,结构是正确的。 接 着往后看,数组里面包含了三个新的 object。 回到代码区,先把打印放一遍。根据刚刚看到的层级图,我们需要在这之前组装好数组里面的对象。 我们把数组里的对象当做第二层数据,直接复制一个构建节点,这里重新构建一个 abject, 这里我把连线规整一下,这里容易乱,小伙伴们认真点。
本节看点,一、用插件 virus 请求 http, 学习 get post 等请求方法。二、了解 pass, query, body 等请求参数。三、了解接口的最佳实践流程。 一个合格的接口一定是团队合作的结果,工作时要多交流,避免所有的不确定。 上节演示了如何写一个 descent 数据,用插件 meris 解析 design 和用 meris 构建一个 descent 档。 这节我们开始实战。先来看一下常用的 h t t p 通讯方式,这类网上的教程比较多,作为一个优异程序不需要了解太多, 通常主要使用 get 和 pose 两种。这里的描述按我理解的 get 就是获得所有数据,不做其他操作,无脑的返回数据。 pos 比较高级一点,它会根据你请求的参数去返回对应的数据,比如总共有一千条数据,我只要前十条,这就可以使用 pos 方法。好的,先简单了解到这里来认识一个新的软件 app fox, 这是一个专门服务接口的软件,他提供接口一条龙服务,这是他的官方文档,需要的小伙伴直接百度,稍微看一下就明白了, 从创建接口到数据测试再到文档,全都有,非常的方便。这里介绍 的也非常的详细,来看一下他的最佳实践流程。当然了,要是没有前后端同事那优异就扛起大梁。这里我就不带着大家看了, 有需要的自己看一下。写好接口的第一步就是和平的与同事相处,打开软件。
u u 制作游戏开始画面可是画编程篇。 第一步,打开关卡蓝图,找到用户界面,选择创建空间。 第二步,选择刚刚创建的用户界面。 第三步,在试口中添加到试口。 第四步,获取玩家控制器。第五步,输入售,找到设置收 moss cursor, 也就是是否显示鼠标。 编译和保存后,我们先来看看效果, 然后我们选择用户界面,点击图标,然后我们回到设计器中,点击按钮给他设置点击事件, 然后我们选择打开关卡,把要进入的关卡名称输入进去,一定是 map 中的名称, 这样就进入游戏里面了。然后我们再看看退出的功能, 退出的功能我们需要输入执行控制台命令,在功能模块科梦中输入 exit, 然后编译保存就完成了。
大家好,我是木落,本系列视频是把我学到的东西分享给大家,有不对的地方欢迎大家指点评论,必回 视频主教程为收藏加内 u e 四虚幻四教程,制作一个角色扮演游戏 rpg 一四九 p 中文字幕。主教程有错误或者不好用的地方,我会利用以前学到的知识进行改正,所以有些地方不会和主教程一样。 为方便学习和理解,所有内容将全部使用中文文件从零开始做,不用模板,全部自己做便会得心应手。 建立一个空白地图关卡,选择窗口环境光照混合器,大气光源,一个就够,其他的都加上, 这样就有了自己的一片天。那么接下来就需要一个落脚点,选择地形模式,将组建数量改为二乘二,就有了一个小小的平地, 按键盘上的大括号可以改变工具的圈大小, 然后就可以随意画些山脉或者土堆, 感觉起的慢可以调整工具强度,让他更给力一些。那就先画个饼吧,必定在哪上班,老板都是要先给画饼的,不要太平整, 有的地方多按一会,要有落差, 然后选择建模模式, 用这个工具找个喜欢的位置先圈地, 然后按一一一,四周留一圈,之后 qq qq 就有了围墙, 之后随意造些小平台, 找好位置,按 qq q 往里推推,之后按 z, 选下面两个顶点, 按一一造个斜坡,弄好再按 z, 结束这波操作。 这个坡也是简单弄一下, 完事儿随便加点装饰品,看着能像样点, 再用这个甜甜圈外圈放大点, 找个好位置安排一下。 行,挺好,就这么着,再整两个蘑菇,意思一下。 行,好看,就这审美了。 这里的斜坡被阴影挡住了, 按 control 加 l 给阳光换个角度,这样看上去不错。 整体看一下,甜甜圈好像黑了,再调整一下。行,就这么着了。再看看有没有什么问题。 没问题点保存。新建个文件夹, 这里最个好。本工程所有自己的东西放在一个文件夹里,不要放在根木路,以后导入素材的时候会默认放在根木路,导入多了找起来不方便, 单独一个文件家会方便的。多给文件家起个名字, 再建个文件家叫地图, 给地图起个自己喜欢的名字就叫伪名城。好了。 给主要文件换个色,更方便。找 好啦,地图就完事了。