陈鸽:正统或异端_异端的制作:视觉特效驱动人物摩根-程序员宅基地

技术标签: python  java  人工智能  编程语言  大数据  

陈鸽:正统或异端

Creating a character with the help of Visual Effects Graph was an interesting challenge for the Unity Demo team. As someone who spent a lot of time in his career waiting for renders to finish, Demo team’s Technical Artist Adrian Lazar has appreciation for the creative options made possible by real-time authoring. Read the post below for his detailed breakdown of the process behind the character Morgan, as well as useful tips for anyone doing VFX in Unity.

Visual Effects Graph的帮助下创建角色对于Unity Demo团队是一个有趣的挑战。 作为一个在职业生涯中花费大量时间等待渲染完成的人,演示团队的技术艺术家Adrian Lazar对实时创作所带来的创造性选择表示赞赏。 阅读以下帖子,详细了解角色Morgan背后的流程,以及对在Unity中进行VFX的人有用的提示。

My name is Adrian Lazar and I’ve been working in the computer-generated graphics industry for the last 18 years or so, starting with post-production in advertising and transitioning to real-time graphics with game development in 2009. I have a generalist background and in the last few years I’ve been taking more technical art tasks – this helped me ship my own indie title together with a small, but talented team.

我叫 Adrian Lazar ,在过去18年左右的时间里,我一直在计算机生成的图形行业中工作,从广告的后期制作开始,到2009年过渡到具有游戏开发功能的实时图形。我有一名通才在过去的几年中,我一直在承担更多的技术美术任务-这帮助我与一个虽小但很有才华的团队一起获得了自己的独立头衔。

When I joined Unity’s Demo Team in early 2019 as a technical artist, we were getting ready to release the first part of The Heretic so I helped with some finishing effects. Soon after that we started talking about Morgan, the god-like, VFX-driven character introduced in the short film 2nd part.

当我于2019年初以技术艺术家的身份加入Unity的演示团队时,我们正准备发行The Heretic的第一部分,因此我提供了一些后期效果。 此后不久,我们开始谈论摩根,这是在短片第二部分中介绍的神似,VFX驱动的角色。

On the storytelling side, Vess (Veselin Efremov, writer, director and creative director of The Heretic) had some clear requirements: Morgan needed to morph between multiple states, calm and angry, female and male or a combination of these, grow in height multiple times over, crumble, catch fire, and more.

在讲故事的方面, 维斯 (《异端》的作家,导演和创意总监 维斯林·埃夫雷莫夫 (Veselin Efremov))有一些明确的要求:摩根需要在多个状态之间变化,冷静和愤怒,男女之间或两者兼而有之,身高倍增翻倒,崩溃,着火等等。

Regarding the appearance, on the other hand, Vess intentionally left it quite open for exploration and experimentation. We had some early concepts created by our former colleague Georgi Simeonov, but those didn’t get into the vfx and shape-shifting aspect of the character, both fundamental to the final look – this meant that I had a pretty blank slate to start which was challenging but fun!

另一方面,关于外观,Vess故意将其相当开放地进行探索和实验。 我们有一些前同事Georgi Simeonov创造的早期概念,但这些概念并没有融入角色的vfx和形状变化方面,这两者都是最终外观的基础-这意味着我有一个相当空白的开始很有挑战性,但很有趣!

Concept art

概念艺术

I started my initial tests in Houdini 3D, a tool I feel comfortable with from before and that gave me a good opportunity to explore and bounce some initial ideas with Vess. 

我从Houdini 3D开始了我的初始测试,这是我以前使用过的工具,它为我提供了一个很好的机会,可以使用Vess探索和反弹一些初始想法。

Of course, for the production of the real-time short film, we wanted the effects that build Morgan to be developed inside Unity, so that it would be easy to iterate on the character and make sure it reacts correctly to everything else that happens around it. Therefore I had to look for a different solution and move away from pre-simulating the effect in another software.

当然,对于实时短片的制作,我们希望在Unity内部开发用于构建Morgan的特效,以便可以轻松地对角色进行迭代,并确保其对周围发生的所有其他事情都做出正确的React它。 因此,我不得不寻找一种不同的解决方案,而不再使用其他软件来预先模拟效果。

One thing that gives me joy as being part of Unity’s Demo Team is having the chance to stress test, improve, and sometimes develop tools and processes that our many users can make use of daily.

作为Unity演示团队的一员,让我感到高兴的是,有机会让您进行压力测试,改进,有时还开发了许多用户可以每天使用的工具和流程。

Early tests video

早期测试视频

In Morgan’s case, the opportunity was two-fold: create a complex VFX-driven character that runs in real-time, and equally important, take a first step into real-time authoring of complex effects. This was very exciting for me.

对于Morgan来说,机会是双重的:创建一个实时运行的,由VFX驱动的复杂角色,同样重要的是,迈出了实时创作复杂效果的第一步。 这对我来说非常令人兴奋。

Just think about it, being able to develop and iterate on the character look in the final environment, from the desired camera angle and with the final lighting, post-processing, and other VFX! This is a dream that would have been unthinkable only a few years back.

只需考虑一下,就能从所需的摄影机角度以及最终的照明,后期处理和其他VFX开发和迭代最终环境中的角色外观! 这是几年前无法想象的梦想。

It was not a smooth ride, but with a good team effort, we achieved both.

这并非一帆风顺,但在团队的共同努力下,我们实现了两者。

And so, with a visual look open to experimentation and with real-time playback and real-time authoring being the two technical goals, I turned to a Unity tool still in its infancy back then: the Visual Effects Graph developed by Julien Fryer and the Paris team.

因此,具有视觉效果开到实验,并与实时回放和实时创作是两个技术目标,我处于起步阶段转向一个统一的工具还是回接: 视觉特效图形 开发的朱利安·弗赖尔和巴黎队。

The VFX Graph was still quite new at the time, and had a long road ahead until you could really use it for true & deep real-time authoring. However, the benefits it promised were huge. I was excited about not having to wait for the effects to be simulated in DCC, exported & evaluated in Unity then back to DCC for tweaks.
As a team, we knew that we wanted to be able to do changes until the very end, sometimes hours before the final deadline, and why wouldn’t we – this is one of the promises of real-time graphics.

当时的VFX Graph还是很新的东西,并且还有很长的路要走,直到您可以真正使用它进​​行真正的深度实时创作为止。 但是,它所承诺的好处是巨大的。 我为不必等待在DCC中模拟效果,在Unity中导出和评估效果然后再返回DCC进行调整而感到兴奋。
作为一个团队,我们知道我们希望能够进行更改,直到最后,有时是在最后期限之前的几个小时,为什么我们不这样做–这是实时图形的承诺之一。

One of the earlier versions of Morgan with particles flowing across the body

Morgan的早期版本之一,粒子在体内流动

首先是视觉效果还是技术? (What came first, the visual look or the tech?)

It was a back-and-forth familiar to those working on both: first, you need to have an idea of what you want to achieve, then you need to build the tech for it, but, as with any other creative process, things are rarely straightforward. Ideas are changed and adapted in the process, sometimes due to creative direction, other times due to the tech restrictions. 

从事这两项工作的人员来回熟悉:首先,您需要了解要实现的目标,然后需要为其构建技术,但是与其他任何创造性过程一样,很少是简单的。 在此过程中,想法会有所更改和调整,有时是由于创意指导,有时是由于技术限制。

To complicate things even more, we were in uncharted waters with a tool that hadn’t been used at this scale before, working towards real-time authoring of a complex VFX-driven character. 

更复杂的是,我们处于未知领域,使用了以前从未在这种规模下使用过的工具,致力于实时创作由VFX驱动的复杂角色。

The second major version of the character

角色的第二个主要版本

Second version morphing effect

第二版变形效果


So the tech and the look-dev closely followed each other and when I had both it was great, fast iterations, fast experimentation, and just overall lots of fun. This creative freedom was addictive, with the visuals changing direction in a manner that was closer to working on concept art rather than on a production.


因此,技术和外观开发紧密相关,当我拥有两者时,它很棒,快速的迭代,快速的实验以及很多乐趣。 这种创造性的自由令人上瘾,视觉的改变方向更接近于概念艺术而不是作品。

One added benefit of fast experimentation is that you can quickly change directions and repurpose a test, as it was the case when I was working on some details across the face. It didn’t turn into anything that was useful for that purpose, but it inspired a new direction for the calm version of the hair. 

快速实验的另一个好处是,您可以快速改变方向并重新调整测试的用途,就像我处理整个面部某些细节的情况一样。 它并没有变成任何有用的目的,但它为头发的平静版本提供了新的方向。

Hair evolution

头发进化


But there were a few times when I got stuck because one part couldn’t advance without the other. If I didn’t know where to take the character creatively or I couldn’t find a way to do what I wanted with the tech I had, things couldn’t move forward.


但是有几次我被卡住了,因为一个零件如果没有另一个零件就无法前进。 如果我不知道如何创造性地将角色带到哪里,或者我找不到用我拥有的技术来完成自己想要的方法,那么事情就不会前进。

Luckily my colleagues were there to help, so here’s a shout out to them:

幸运的是,我的同事们在那儿提供帮助,所以他们大声疾呼:

  • Vlad Neykov (Lead Graphics Test Engineer) was a fantastic resource, answering patiently all my questions and contributing with ideas about how to solve different technical problems.

    Vlad Neykov (首席图形测试工程师)是一个很棒的资源,他耐心地回答了我所有的问题,并提出了有关解决各种技术问题的想法。

  • Julien Fryer (VFX Graph Lead Programmer) helped optimize Morgan for The Heretic. Stress testing our tools using internal productions like The Heretic allowed us to discover new opportunities for improvement. Morgan’s performance requirements led to the development of an LOD system by Julien which will be available soon to all of VFX Graph users.

    Julien Fryer (VFX图形主管程序员)帮助优化了Morgan对于The Heretic的工作。 使用The Heretic等内部产品对工具进行压力测试,使我们发现了改进的新机会。 Morgan的性能要求促使Julien开发了LOD系统,该系统将很快提供给所有VFX Graph用户。

  • Paco (Plamen Tamnev, 3D Artist in the Demo Team) provided a much needed visual pass over Morgan – working with him was a great experience.

    Paco (演示团队的3D艺术家Plamen Tamnev)为Morgan提供了急需的视觉传递-与他一起工作是一次很棒的经历。

  • Krasi (Krasimir Nechevski, our Animation Director), who led and supervised the rig and animation of the character, and even performed the motion capture, had invaluable feedback for how the effects in the meteorite and the impalement shots should behave.

    领导并监督 角色 的 装备和动画的 Krasi (我们的动画总监Krasimir Nechevski) 甚至进行动作捕捉, 对于陨石和刺穿镜头中的效果应如何表现 , 他们均提供了宝贵的反馈。

After 3 major versions and countless smaller experiments, the final version of Morgan was finally emerging, just as we were getting close to the final deadline.

经过3个主要版本和无数次较小的实验之后,摩根的最终版本终于出现了,就像我们快要接近最终的截止日期一样。

Final version of Morgan

最终版本的摩根

摩根的主要特点 (Morgan’s main features)

  • VFX Morphing: The effects covering Morgan can be morphed between a brighter version and a darker one. This is not (only) a color change. There are two separate sets of systems, each with its own geometry, density, color, effects etc. The idea was to make the effect similar to a skin layer being peeled or shed off but without making it look gross or graphic. During the morph particles are being expelled from the body and the face also has an emissive edge outlining the change. There are multiple options of customizing this effect in real-time, including changing the colors and meshes for the body, how many particles and being expelled, how those look, and more.

    VFX变形 :覆盖Morgan的效果可以在较亮的版本和较暗的版本之间变形。 这不是(仅)颜色变化。 有两套独立的系统,每套系统都有自己的几何形状,密度,颜色,效果等。其想法是使效果类似于被剥落或脱落的皮肤层,但不使其看起来粗糙或图形化。 在变形过程中,粒子被从身体排出,面部还具有放射状的边缘,勾勒出变化。 有多种选项可以实时自定义此效果,包括更改身体的颜色和网格,多少个粒子并被排出,它们的外观等等。

  • Body Morphing: Independent of the VFX morph, the body can be morphed as well using blend shapes, changing from female to male, with the effects adapting to the new shape.

    身体变形 :与VFX变形无关,身体也可以使用混合形状变形,从女性变为男性,效果适应新形状。

  • Fire: While it looks more like ambers than proper fire, this highly customizable effect can be used to add an extra layer of intensity when required. It was the last effect built, just a few weeks before the final deadline.
    The contribution amount can be set for each body part (helmet, head, eyes, body & cloth), the direction and turbulence can be modified in real-time and you can also change the color gradient of the fire between the two states of the morph. You can also choose between three output modes, lit mesh (used in The Heretic), unlit (used in Morgan standalone package) and screen space blur/distort – an experimental mode that didn’t make it in the final video but is still available in the Morgan Asset Store package, under fire options. 

    :虽然看起来比适当的火更像琥珀色,但是这种高度可定制的效果可以在需要时用于增加额外的强度。 这是最后的效果,距最后期限只有几周。
    可以为每个身体部位(头盔,头部,眼睛,身体和衣服)设置贡献量,可以实时修改方向和湍流,还可以在两种状态之间更改火的颜色梯度。变形。 您还可以在以下三种输出模式之间进行选择:亮网格(用于“异端”),不亮(用于Morgan独立软件包)和屏幕空间模糊/失真–一种实验模式,该模式在最终视频中并未实现,但仍然可用在 火灾选项下 的 Morgan Asset Store软件包中

The fire effect started as some sort of energy burst

火势开始于某种能量爆发

  • Crumble: As the name suggests, Morgan can crumble into pieces, with several options for how this can happen.
    The effect is using a starting point that the user can set (for The Heretic, it was the tip of the right index finger) and uses that origin position to create a radial gradient across the entire body. That gradient is being modulated by two noise masks and the final result is used to drive two sliders, Crumble A and Crumble B. The idea of having two sliders was to make the crumble effect a bit more controllable during animation, as Crumble A runs only across one of the noise patterns and doesn’t destroy the body completely. Crumble B can be animated with a small delay to make a complete destruction.
    After the crumbling effect is triggered, you need to use either the Reset or the Recompile VFX Graph option to bring the character back to its previous state. This is required because the crumbling activates a few physical forces under Update. That means that the previous state cannot be played back, only reset.

    崩溃 :顾名思义,摩根可以崩溃成碎片,有几种可能的实现方式。
    效果是使用用户可以设置的起点(对于The Heretic,这是右手食指的尖端),并使用该起点位置在整个身体上创建径向渐变。 该梯度由两个噪声蒙版进行调制,最终结果用于驱动两个滑块Crumble A和CrumbleB。具有两个滑块的想法是使破碎效果在动画过程中更加可控,因为Crumble A仅运行跨越其中一种噪声模式,并不会完全破坏人体。 可以将碎屑B的动画制作稍作延迟,以使其完全毁灭。
    触发崩溃效果后,您需要使用“重置”或“重新编译VFX图”选项将角色恢复到其先前状态。 这是必需的,因为崩溃会激活“更新”下的一些物理力。 这意味着以前的状态无法播放,只能重设。

For The Heretic short film, we wanted a more physical destruction so we combined this crumble effect with a simulation exported from Houdini.

对于《异教徒》短片,我们希望进行更多的物理破坏,因此我们将这种崩溃效果与从Houdini导出的模拟相结合。

Early crumble tests

早期崩溃测试

  • Debug: Being able to debug properties early on was crucial for being able to experiment with different versions of this character, for example, you can use the debug option to see the noise masks I was describing above. Debug options were built alongside each main feature.

    调试 :能够及早调试属性对于能够尝试使用此字符的不同版本至关重要,例如,可以使用debug选项查看我在上面描述的噪声蒙版。 调试选项是在每个主要功能的基础上构建的。

  • Realtime Customization: Each of the features mentioned above has several customization options exposed in Morgan’s Inspector. In total, there are over 300 parameters that can be animated over time as you desire.

    实时自定义: 上述每个功能在Morgan的Inspector中都有几个自定义选项。 总共有300多个可以随时间变化的参数。

  • Other Related Effects: While most of the time was spent on Morgan’s character, there are also 2 other big effects: the meteorite when part of the arm moves towards Gawain and the spikes impaling him.

    其他相关影响 :虽然大部分时间都花在了Morgan的性格上,但还有另外两个大影响:陨石,当手臂的一部分移向Gawain时,尖刺刺穿了他。

Meteorite effect WIP

陨石效应WIP

创建Morgan的最终版本 (Creating the final version of Morgan)

Morgan is made of 17 visual effect graphs each covering a different part. We did this so that it would be easier to manage them.

Morgan由17个视觉效果图组成,每个效果图覆盖不同的部分。 我们这样做是为了更容易管理它们。

First, we needed the particles to spawn on the skinned mesh and follow it during character animation. As skinned meshes aren’t yet supported by default in the VFX Graph, we had to find another way around it. 

首先,我们需要粒子在蒙皮的网格上生成并在角色动画期间跟随它。 由于默认情况下VFX图表尚不支持蒙皮网格物体,因此我们不得不寻找另一种解决方法。

The position, normals and tangents for the base meshes are rendered in UV space, which are then set as texture parameters in the VFX graphs – this allows us to position and orient the particles correctly on the character.
The vertex color and the albedo texture are also rendered in UV space – these textures are used to manipules certain properties like size, scale, angle and pivot.For the Morgan package, the process of generating the textures was greatly improved by my colleagues Robert Cupiz (tech and rendering lead for The Heretic) and Torbjorn Laedre (principal engineer at Unity Demo Team).

基本网格的位置,法线和切线在UV空间中渲染,然后在VFX图形中将其设置为纹理参数-这使我们能够在角色上正确定位和定向粒子。
顶点颜色和反照率纹理也在UV空间中渲染-这些纹理用于操纵某些属性,例如大小,比例,角度和枢轴。对于 Morgan包 ,我的同事 Robert Cupiz 极大地改进了生成纹理的过程 ( The Heretic的 技术和渲染负责人 )和 Torbjorn Laedre (Unity演示团队的首席工程师)。

A custom editor centralizes all the graphs making up Morgan – this makes it easy to update shared properties fast. There are about 300 parameters exposed but there’s no real limit for how many can be added, however having too many parameters in the interface can make it less practical to work with.

定制编辑器将组成Morgan的所有图形集中在一起-这使快速更新共享属性变得容易。 公开了大约300个参数,但是对可以添加的数量没有实际限制,但是界面中的参数太多会使使用起来不那么实际。

One of the 17 graphs making Morgan

摩根大通的17个图表之一

请记住Unity VFX Graphs提示 (Unity VFX Graphs tips to keep in mind)

  • Using animation curve samplers is a quick way to add different kinds of ease in and out for animations, but also delays. They are very versatile and I have used them a lot, usually to drive a lerp between two values, being floats, vectors, colors etc.

    使用动画曲线采样器是一种为动画添加各种类型的缓入和缓出方法的快速方法,但也可以增加延迟。 它们用途非常广泛,我经常使用它们,通常会在两个值(浮点数,向量,颜色等)之间产生误差。

  • Tying multiple properties and actions to a single parameter is really powerful. For example, the fire intensity slider drives multiple properties related to the fire. Again, it’s a matter of balancing convenience and speed vs granularity of what gets exposed in the end.

    将多个属性和动作绑定到单个参数确实非常强大。 例如,火灾强度滑块可驱动与火灾相关的多个属性。 同样,这是在便利性和速度与最终暴露的粒度之间取得平衡的问题。

Fire effect evolution

射击效果演变

  • Subgraphs are great for reusing the same nodes across multiple graphs, but be careful at what point in development you add them. The way they’re currently implemented, each time you update and compile a subgraph, all the graphs using it get recompiled. Depending on how many and how heavy the main graphs are, it can take a long time for them to recompile. My suggestion is to add subgraphs when you have tested the logic in one graph and if it happens that you need to do frequent updates to the sugraphs, it might be faster to copy-paste the nodes on one of the main graphs, do the changes, and then copy-paste them back in. Not that convenient, but I had to do it on several occasions because the compilation time across all the graphs for each tweak was too long.

    子图非常适合在多个图之间重用相同的节点,但是在开发时要注意添加它们的注意点。 当前实现它们的方式,每次更新和编译子图时,都会重新编译使用该子图的所有图。 根据主图的数量和数量,它们可能需要很长时间才能重新编译。 我的建议是在测试一张图中的逻辑后添加子图,如果碰巧需要对子图进行频繁更新,则复制粘贴主图之一上的节点,进行更改可能会更快。 ,然后将它们复制粘贴回去。不太方便,但是我不得不多次这样做,因为每次调整后所有图的编译时间都太长了。

  • For most instances, I find the sliders for exposed parameters to be more user friendly than regular numerical inputs. They feel more fluid and natural during tweaking and you can use the range to keep the user between some values that are safe not to break the effect.

    对于大多数情况,我发现用于公开参数的滑块比常规数字输入更易于使用。 在调整过程中,它们感觉更加流畅自然,您可以使用该范围使用户保持在一些不会破坏效果的安全值之间。

  • Every parameter of a graph can be exposed so that the user can change it from the Inspector but that doesn’t mean it should be done. Be careful not to drown yourself or the person who will use the effect in too many options. With Morgan, I went through many changes over what was exposed, searching for a good balance between accessibility and power.

    可以公开图形的每个参数,以便用户可以从Inspector中对其进行更改,但这并不意味着应该进行此操作。 注意不要淹没自己或将使用该效果的人过多的选择。 在Morgan的帮助下,我对公开内容进行了许多更改,力求在可访问性和功能之间取得良好的平衡。

  • Although not a technical tip, something that I underestimated was that solving both the technical and the artistic challenge was more difficult than the sum of the two combined because of how interlocked these two were in this case.

    尽管这不是技术性技巧,但我低估的一点是,解决技术和艺术挑战比将两者结合起来要困难得多,因为在这种情况下,这两者是多么紧密相连。

下载摩根资产 (Download Morgan asset)

The best way to learn more about Morgan is to download the standalone package and play with it. You can find more blog posts and videos about the creation process behind this project on The Heretic landing page.

了解更多有关Morgan的最好方法是 下载独立软件包 并使用它。 您可以在 The Heretic登陆页面 上找到有关此项目背后的创建过程的更多博客文章和视频 。

For someone who has spent a long time waiting for simulations and renders to finish, this realtime revolution that is reshaping so many industries is a dream come true. I’m looking forward to the next challenge we’ll pick up.

对于花了很长时间等待仿真并完成渲染的人来说,这种重塑许多行业的实时革命是梦想成真。 我期待着下一个挑战。

翻译自: https://blogs.unity3d.com/2020/06/29/making-of-the-heretic-the-vfx-driven-character-morgan/

陈鸽:正统或异端

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/culiao6493/article/details/108671118

智能推荐

linux下 boa cgi移植(转)-程序员宅基地

文章浏览阅读181次。http://blog.chinaunix.net/u1/33226/showart_485155.html嵌入式WEB服务器常见的有lighttpd shttpd thttpdboa mathopd minihttpdappwebgoahead=========================================================..._cgipath /bin:/usr/bin:/usr/local/bin

结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程...-程序员宅基地

文章浏览阅读452次。1、bootstrap-fileinpu的简单介绍在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用,整合两者可以实现我们常规的Web数据导入操作,导入数据操作过程包括有上传文件,预览数据,选择并提交记录等一系列操作。关于这个插件,我在早期随笔《Boots..._c# bootstrap excel导入

编写应用程序,有一个标题为“计算”的窗口,窗口的布局为FlowLayout布局。窗口中添加两个文本区,当我们在一个文本区中输入若干数时,另一个文本区不断地更新求和及平均值。_实现标题计算的窗口,随着用户输入,输出求和及平均值-程序员宅基地

文章浏览阅读4.8k次,点赞8次,收藏46次。import javax.swing.*;import javax.swing.event.DocumentEvent;import javax.swing.event.DocumentListener;import java.awt.*;import java.util.Scanner;public class Dzj { public static void main(String[] args) { new DzjWin("计算"); }}class ._实现标题计算的窗口,随着用户输入,输出求和及平均值

Android 音视频采集与软编码总结_android 软编码算法-程序员宅基地

文章浏览阅读1.1w次,点赞11次,收藏36次。前言本文总结了笔者在 Android 音视频采集与软编码中的一些经验与技巧,包括移植 FFmpeg、YUV 视频帧处理、最新的 JNI 编写技巧、 ndk 开发技巧等,为了不扯太远本文不会对音视频编码的一些原理性东西进行剖析,也不会大量贴源码,更注重使用方法与流程的讲解。 文章最后将展示一个实现了音视频采集功能与本地视频压缩功能的完整项目。采用软编码利弊众所周知_android 软编码算法

css中级选择器_css 子类怎么设置-程序员宅基地

文章浏览阅读479次,点赞3次,收藏2次。讲述了一些常见的css中级选择器,例如派生选择器(所有子代)、直接子类选择器(只找儿子)、分组选择器(不同标签,相同样式时)、兄弟选择器(找右边临近的第一个元素)_css 子类怎么设置

平板鸿蒙系统实测,平板电脑已预装鸿蒙系统,我们来看看效果-程序员宅基地

文章浏览阅读1.6k次。就在近日,华为方面也是再次传来了好消息,根据华为心声社区的最新报道中,华为创始人任正非先生也正式对外透露了,华为最新平板电脑产品已经开始预装鸿蒙OS系统,这意味着大家一直非常期待的华为鸿蒙OS系统终于要被预装到华为平板电脑上,消费者很快就能够看到这款平板电脑上市销售了,但华为任正非并未透露具体的产品上市时间,但这也意味着华为在遭到谷歌的“断供”之后,华为鸿蒙OS系统、华为HMS生态系统服务,终于要..._鸿蒙系统平板

随便推点

CentOS 7 下Docker的安装与部署详细步骤(图文详解)_contos7 pageplug docker-程序员宅基地

文章浏览阅读6.2k次,点赞5次,收藏43次。Docker的安装与部署准备工作操作系统要求操作系统环境设置准备工作1、操作系统:VMWare虚拟机 、 CentOS 7VMware虚拟机下载和安装教程CentOS 7安装教程2、CentOS 7 操作系统网络可用。3、官方参考文档纯英文操作系统要求1、安装docker需要在centos7以上版本;2、linux内核版本需要在3.10以上,可通过uname -r 查看系统内核。操作系统环境设置1、关闭防火墙centos7 以后默认用firewalld取代iptables,这两个防_contos7 pageplug docker

linux的tomcat下载,tomcat linux 64位下载-程序员宅基地

文章浏览阅读1.2k次。tomcat 8发布了,这里为大家带来了 linux版本下载,此版本为8.0.32 tomcat linux 64位下载,它是由Apache 所开发的一个核心项目,由于Tomcat 产品的技术先进、性能稳定,而且免费,因此该程序深受Java 爱好者的喜爱,此软件目前成为了比较流行的Web 应用服务器。下面有详细的安装配置教程,大家可以学习一下。官方介绍使用Apache Tomcat 软件了Jav..._tomcat linux64位下载

Laravel 5 系列入门教程(三)【最适合中国人的 Laravel 教程】_laravel layouts 单选框-程序员宅基地

文章浏览阅读852次。本教程示例代码见:https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷的解决方式就是去看我的示例代码。本篇教程中,我们将利用 Laravel 5 自带的开箱即用的 Auth 系统对我们的后台进行权限验证,并构建出前台页面,对 Pages 进行展示。1. 权限验证后台地址为 http://fuck._laravel layouts 单选框

CentOS7下安装MySQL5.7.29_mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar-程序员宅基地

文章浏览阅读1.3k次。准备工作Linux 命令教程以下有的不懂命令可以在这里查询理解https://www.runoob.com/linux/linux-comm-rpm.html查看CentOS7版本cat /etc/redhat-release卸载mariadb查询所有mariadb套件同时卸载掉rpm -qa|grep mariadbrpm -e --nodeps mariadb-libs..._mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

nginx的部署和常用命令_pcre-devel-8.43-程序员宅基地

文章浏览阅读200次。nginx的部署前言在部署项目时,用到nginx,很多时候在内网,无法在线安装,这里使用在线,离线两种方式,部署依赖。一、安装说明系统环境:CentOS7.5软件:nginx-1.18.0.tar.gz其他所需软件:gcc-4.8.0.tar.gz、pcre-8.43.tar.gz、zlib-1.2.11.tar.gz、openssl-1.0.2p.tar.gz安装方式:源码编译安装安装位置:/usr/local/nginxroot用户操作安装,否则无法创建默认目录安装包下载地址:ng_pcre-devel-8.43

c语言求最大公约数和最小公倍数_最大公因数和最小公倍数求法之我见-程序员宅基地

文章浏览阅读1.3k次。随着课程改革的不断推进,老师们逐渐认识到,教材仅仅是课程的一种重要载体,而不是课程的全部。任何课程实施,都需要和开发大量的课程资源。下面就和大家谈一谈除了教材资源,怎样用“数学眼光”来搜索教学资源的。众所周知,最大公因数和最小公倍数有着广泛的应用,特别是在分数四则运算中,更是不可缺失。所以求最大公因数和最小公倍数是小学高年级数学教学的重点,也是难点。下面列举两个数的最大公因数和最小公倍数..._用c语言求24和36的最大公倍数