• [热门活动] 《CG行业上云,不烧钱也能做特效大片》——看直播,参与互动赢华为云好礼,100元渲染券&100;元呆猫桌面云体验券
    当提起《斗罗大陆》、《唐人街神探》、《金刚川》、《三生三世十里桃花》等影视作品时,你的脑海里是不是浮现出酷炫的特效和精彩绝伦的CG动画?▼                                                                                                                                                   *以上影视作品均由赞奇科技(渲云)参与渲染一部好的电影离不开好的导演、编剧、演员对于动画、科幻等特效要求高的电影作品来说,电影渲染技术尤为重要在建筑设计、VR/AR、互动游戏、影视动漫、工业设计等多领域三维内容制作高效渲染也是必不可少的环节▼ 本期直播邀请国内渲染行业领航者-赞奇科技CEO金伟为大家解锁如何基于华为云公有云,GET快速、高效、稳定的渲染新姿势!有奖直播:《CG行业上云,不烧钱也能做特效大片》(点我)直播嘉宾:赞奇科技CEO——金伟Kim直播时间:6月29日(周二)19:00-20:00推荐严选产品:渲云云桌面渲染服务(低至0.18元 /核/小时)渲云直播好礼1:问卷闯关,渲云速览点击直播页面向下拉,点击“问答闯关”按钮获得答卷(点我)填写华为云ID并且答题(5题),得分在75分以上且前500名提交的用户即可获得500码豆了解渲云,探索影视后期制作的秘密!(小云提示:所有问题的答案可在渲云官网(点我)找到答案哦!)了解什么是华为云码豆?(点我) (扫我加入社群)本次活动所有奖励领取,必须加入社群并收看直播,否则无效!群内添加群主小云微信——还可获得渲云独家[3dmax]资料包一份!渲云直播好礼2:畅谈渲染,赢华为云码豆&无门槛渲染券作为“设计狮”,渲云的资深用户又或者是首次接触渲云,对CG动画、三维设计感兴趣在这其中,对渲云的使用心得,对渲云的了解,“CG狗”的心路历程在本帖回复#渲云渲染#+一切关于“渲云”的议题且不少于50字便可获300码豆,活动结束后,将评选出4条最佳畅谈,赠送5000码豆+100元无门槛渲染券(一个id仅为一个畅谈可获码豆,但可提多个畅谈参与评选,限前500名)。例:(1.使用心得:#渲云渲染#偶然从朋友口中得知渲云这款云渲染软件,我就使用了一段时间,感受是真的很不错,无论是软件界面、安装程序大小、操作等方面都十分贴合设计师的需求,简单流畅,体验nice。2.对渲云的了解:#渲云渲染#赞奇科技成立于2010年,致力于三维视觉计算云技术研发与应用,目前完全自主研发并运营云渲染平台,为影视、动漫、建筑、室内室外、游戏、工业设计等用户提供云渲染服务以及其他相关的云PaaS、SaaS服务。)(扫我加入社群)本次活动所有奖励领取,必须加入社群并收看直播,否则无效!群内添加群主小云微信——还可获得渲云独家[3dmax]资料包一份!渲云直播好礼3:直播提问,四轮抽奖,“幸运鹅”就是你直播观看地址,点击沾好运!!1.直播间提问:直播期间在“问答区”向赞奇科技CEO金董提问,将抽取问题进行答疑,被选中第1-3个问题获得100元“渲云”无门槛渲染券,第4-5个问题获得“渲云”超大定制限量鼠标垫,第6-7个问题获得“呆猫”桌面云100元代金券,第8-10个问题获得5000码豆!!!           (问题问得好,福利少不了!)(提问格式:手机号码后四位+问题,例:8898+哪里有海量渲染优惠体验券让我**?如何花低价钱制作出高大上的CG成图?)一定要来看直播,锁定6/29日晚上19:00!!!(点我)2.直播间抽奖:渲云直播好礼4:转发朋友圈,GET 渲云独家“3dmax模型包”向上拉获得本次直播宣传海报,转发至朋友圈(不少于2小时),并附上文字:【锁定6月29日19:00渲云&华为云直播,CEO亲临直播间为你讲解渲云渲染的100种姿势,海量100元渲染券、呆猫桌面云100元体验券、华为云精美好礼送送送!”直播地址:http://t.cn/A6VsA73Q】添加小云微信(huaweiyun1120),备注“直播”凭借转发截图,即可获得由渲云独家提供的“3dmax模型包”一份大量素材,绝对是你成为大神路上的好帮手!(扫我加入社群)本次活动所有奖励领取,必须加入社群并收看直播,否则无效!群内添加群主小云微信——还可获得渲云独家[3dmax]资料包一份!6月29日(周二)19:00,关于CG行业的所有秘密,都在直播间为你揭晓!>>>好礼直播传送门华为云码豆怎么用?会员中心入口:https://devcloud.huaweicloud.com/bonususer/home码豆奖励活动规则: 1)码豆可在码豆会员中心兑换实物礼品; 2)码豆奖励将于活动结束后的3个工作日内充值到账,请到会员中心的“查看明细”中查看到账情况; 3)码豆只能用于会员中心的礼品兑换,不得转让,具体规则请到会员中心阅读“码豆规则”; 4)为保证码豆成功发放,如果修改过账号名还请向工作人员提供修改前后的账号名。本期活动已结束,现将获奖用户公布如下:注:1、所有中奖用户在申诉时间结束前必须完成实名认证并确定华为云账号是否正确,否则码豆无法发放,视为放弃领奖。2、本次活动申诉时间:2021年7月6日16:00前1、最佳畅谈&直播间提问最佳畅谈直播提问楼层华为云账号码豆序号华为云账号码豆12#chenlingjun50008 lenghanzz500029#DouDou_50009hw21012767500036#canfen500010hw30141920500045#hw9454516150002、问答闯关&畅谈问答闯关论坛畅谈您的华为云ID是?码豆华为云账号码豆hw23597877500hw09974076300aahph1994500liuxifeng300hw02428460500a565855829300hwid_c7gbgw8wvl56bxs500zhengxx6688300无500hw_008617750345773_01300sunxiaobei500yizhangl300hw79284301500nukinsan300爹哥zzzdiego500hw46425134300zhienna500hw11326648300starry6500chenlingjun300violetevergarden123500hw86105405300亡魂陌路500hw55101971300zjj8008500kasson_300hw06979116500hw61299517300ljh752093278500hw46433192300xj120141121500hw26536804300hjh15003396976500hw78949957300HUAWEI_Yuan-Heng-Li-Zhen500lhw79459023-300liuyuanxiang500whw43454189_300hw17383096500meet00300sunshine_huawei500oznar119300shenhaodong500JaneConan300franco52576500DouDou_300hw36175659500hw63394802300awake_demon500xianuan300wuvita500hw36175659300hw68852324500canfen300xianuan500franco52576300skyfirecloud500hw75771608300Lisdon500hw73261881300cai_hy500hw94545161300wanggui001500qiushu2020300jockerxin500shenhaodong300hw96458811500sunshine_huawei300DouDou_500hw75435701300JaneConan500linghz666300oznar119500hw11078500hw10996515500hw61299517500linghz666500hw86105405500fuhaozhijia500whw43454189_500nukinsan500yizhangl500hw26536804500hw46433192500hw56223614500hw00922381500lhw79459023-500hw46425134500chenlingjun500suncker500hw79926743500hw_008617750345773_01500hw31711871500hw35544043500zhangpaodan500zhangyibaluobo500heiyouyoubaluobo500hw75771608500emptyBox500hw48382267500bigdata1500hw94545161500hw73261881500zhengxx6688500a565855829500qiushu2020500canfen500hw11326648500注:1、所有中奖用户在申诉时间结束前必须完成实名认证并确定华为云账号是否正确,否则码豆无法发放,视为放弃领奖。2、本次活动申诉时间:2021年7月6日16:00前3、请继续关注7月8日云市场直播最新一期直播《目睹一下,企业营销新模式》(点我),更多好礼,更多精彩!
  • 上手 Gatsby 入门教程
    Gatsby 项目结构建议使用 Starter 修改着理解 Gatsby,我用的是 Gatsby + Netlify CMS Starter。完整的 Gatsby 项目结构可以看文档,这里针对搭建博客用到的功能说明一下。    /src/pages 目录下的组件会被生成同名页面。    /src/templates 目录下放渲染数据的模板组件,如渲染 Markdown 文章,在其它博客系统中一般叫 layout。    /src/components 一般放其它共用的组件。    /static 放其它静态资源,会跳过 Webpack 直接复制过去。接下来是两个比较常用的配置文件,需要修改时参考 Starter 改即可。    /gatsby-config.js 基本用来配置两个东西:    siteMetadata 放一些全局信息,这些信息在每个页面都可以通过 GraphQL 获取到。    plugins 配置插件,这个按用到时按该插件文档说明弄即可。    /gatsby-node.js 可以调用 Gatsby node APIs干一些自动化的东西。一般有两个常用场景:        添加额外的配置,比如为 Markdown 文章生成自定义路径。        生成 /src/pages 以外的页面文件,如为每个 Markdown 文章生成页面文件。    此外还有两个不那么常用的配置文件。        /gatsby-browser.js 可以调用 Gatsby 浏览器 APIs,一般插件才会用到,如滚动到特定位置。        /gatsby-ssr.js 服务器渲染的配置,一般也是插件才用到。    这就是搭建 Gatsby 博客的基本结构了,可以看到非常简单,且因为其丰富的生态,其它底层接口基本不需要用到。但接下来还是会有一些小坑,第一个便是 GraphQL,我们将马上来分析。为什么用 GraphQL    在上一节介绍了选择 Gatsby 的原因,其中提到了 Gatsby 使用 GraphQL 。大家可能会有疑惑,不是建静态博客么,怎么会有 GraphQL?难道还要部署服务器?    其实这里 GraphQL 并不是作为服务器端部署,而是作为 Gatsby 在本地管理资源的一种方式。    通过 GraphQL 统一管理实际上非常方便,因为作为一个数据库查询语言,它有非常完备的查询语句,与 JSON 相似的描述结构,再结合 Relay 的 Connections 方式处理集合,管理资源不再需要自行引入其它项目,大大减轻了维护难度。带魔法的 GraphQL    这里也是 Gatsby 的第一个坑。在 Gatsby 中,根据 js 文件的位置不同,使用 GraphQL 有两种形式,且 Gatsby 对其做了魔法,在 src /pages 下的页面可以直接 export GraphQL 查询,在其它页面需要用 StaticQuery 组件或者 useStaticQuery hook。    这里面查询语句虽然写的是字符串,但其实这些查询语句不会出现在最终的代码中,Gatsby 会先对其抽取。    个人其实不太喜欢魔法,因为会增加初学者的理解难度。但不得不承认魔法确实很方便,就是用了魔法的项目应该在文档最显眼的地方说明一遍。快速上手 GraphQL    GraphQL 结构跟最终数据很相似,基本语法也非常简单,看看官方文档即可。一个快速上手的方式是访问项目开发时(默认 http://localhost:8000)的 /___graphql 页面,通过 GraphiQL 编辑器右侧可以浏览所有能够查询的资源。    另一个需要理解的是 Relay 的 Connections 概念,你会发现 Gatsby 里所有的数据集合都是以这种方式查询。推荐阅读 Apollo 团队分享的文章。    对 Connections 细致的理解往往是实现分页等底层需求时才需要,而这些均有插件完成。一般使用时只需要知道集合里每个项目的数据在 edges.node 中,同时通过 GraphiQL 浏览其它可以使用的数据。如对于 Markdown 文章,相应插件提供了字数统计以及阅读时长等数据,均可通过 GraphQL 直接获取。Debug GraphQL    Gatsby 魔法带来的另外一个坑是 GraphQL 报错信息不全,可能会默默被吞掉,也可能无法定位到最终文件。    我在修改 starter 时踩到一个坑是复制组件时忘了修改 static query 查询语句的名称,导致重名报错。    避免错误最好方式是在 GraphiQL 编辑器中写好运行无误再复制到组件中。Remark 插件坑    Gatsby 中处理 markdown 最常用也是默认的插件是 gatsby-transformer-remark。这个插件对 markdown 文件解析后会生成 MarkdownRemark GraphQL 节点,其中 front matters 数据也会被解析出来。同时 MarkdownRemark 的集合对应为 allMarkdownRemark connections。    对于 connections 节点我们一般可以用 sort 和 filter 来筛选处理数据(可在 GraphiQL 编辑器中浏览),这里有一个坑便是如果要处理 front matters 数据,它们必须存在所有查询的 markdown 文件上并且具有相同的类型,插件才会生成相应的 fields,否则可能会抛出异常或者更糟糕的,默默失败了。    避免方式同上,先在 GraphiQL 编辑器中运行一遍,看看筛选的结果是否正确。    另外一种处理方式是在 /gatsby-node.js 中通过 onCreateNode 钩子,在生成 markdown 相关节点时手工处理,确保节点存在。    这在实现草稿和上下篇的时候会用到,具体例子我会在后续章节中提到。为什么选择 Netlify CMS    搭建 Gatsby 博客其实不需要 CMS 都是可以的,编写 Markdown 然后 build 即可。但这么做还是略嫌不便,通过 CMS 一般可以在一个可视化的在线环境中编辑文章,然后一键即可发布。    Gatsby 主流的两个 CMS 是 Contentful 和 Netlify CMS。    对于 Contentful 来说,文章是放在 Contentful 的服务器上的,管理也是通过 Contentful 提供的工具。当然其质量还是不错的,喜欢的可以参照官方的教程搭建。    Netlify CMS 是跟项目一起发布的,默认是在 /admin 页面下。文章也是存在源项目中,就是原来默认的 Markdown 文件。Netlify CMS 借助 Oauth 把写好的 Markdown 文件推送到项目源码的仓库上,再配合 Netlify 检测仓库变动自动构建发布。当然后者也不是必须的,可以换其它方式自动构建。    Netlify CMS 的优点是开源免费,文章跟项目源码在一起,界面可以高度自定义,甚至可以自行扩充 React 组件,基本满足简单的博客编写需求。配置 Netlify CMS    如果用官方的 starter配置将会非常简单。此 starter 默认使用 Github 作为仓库,Netlify 作为自动构建服务器。配置 Widgets    默认的 /static/admin/config.yml 已经配置好了大部分,如果对文章 Markdown 添加了自定义的 front matters 则需要再做些细调。    Widgets 代表了在 CMS 中可输入的模块,官方为常见的类型都提供了默认的 widgets ,没有满足的也可以自定义。    如我的博客中每篇文章都有一个 quote 域放些引用文字,那么在配置中添加上 fields: - label: "Quote" name: "quote" widget: "object" fields: - {label: "Content", name: "content", widget: "text", default: "", required: false} - {label: "Author", name: "author", widget: "string", default: "", required: false} - {label: "Source", name: "source", widget: "string", default: "", required: false}    如此即可在 CMS 中填写相关信息。配置预览    CMS 中提供了文章预览界面,如果需要自定义只需修改 /src/cms/ 下相应的文件即可,就是简单的 React 组件。    以上便是 Netlify CMS 最常用的配置,只需简单的修改博客现在就能跑起来了。接下来我们会通过实现草稿模式和上下篇文章来深入理解 Gatsby 的机制。    迁移博客需要考虑的一个重要问题便是路径兼容。我们当然不希望迁移后原有的链接无法访问,这不仅影响到 SEO ,更带来了不好的用户访问体验。本文将聊聊怎么让 Gatsby 兼容 Jekyll 式路径。Gatsby 如何生成特定页面    一般来说,在 /src/pages/ 目录下的组件会自动生成相应路径的页面,但如果是其它类型的文件就不会了。我们可以通过 Gatsby 的 Node APIs 来生成特定页面。    在 /gatsby-node.js 中配置 Gatsby Node APIs,如果项目是基于 starter 的话你很可能会发现里面已经有相应的配置。    我们通过声明 exports.createPages 钩子来配置页面生成,在回调中通过调用 actions.createPage 来生成某个指定页面。这个方法接受一个配置参数,其中的 path 域代表了生成页面的路径。 exports.createPages = ({ actions, graphql }) => { actions.createPage({ path, // ... }) }指定博客页面    那么我们怎么知道该生成哪些页面呢?这里通过 exports.createPages 回调中的 graphql 来查询 Markdown 文件。 exports.createPages = ({ actions, graphql }) => { const { createPage } = actions return graphql(` { allMarkdownRemark(sort: { order: ASC, fields: [frontmatter___date] }) { edges { node { id fields { slug } frontmatter { path title layout } } } } } `).then(result => { if (result.errors) { result.errors.forEach(e => console.error(e.toString())) return Promise.reject(result.errors) } // ... }) }    Netlify CMS 会在 Markdown front matters 中的 path 域生成路径。根据默认的 /static/admin/config.yml 我们的路径应该是 /blog/{{year}}-{{month}}-{{day}}-{{slug}}/ ,这个可能跟旧博客不一样,如 Jekyll 是 /{{year}}/{{month}}/{{day}}/{{slug}}/ 。修改 Markdown 节点    在 Remark 插件生成的 Markdown 节点中,我们可以往 fields 域放一些自定义的变量。这里我们把自定义的路径存到 fields.slug 中。    通过 /gatsby-node.js 中的 exports.onCreateNode 钩子我们可以在生成节点的时候进行拦截处理。你可能发现文件里面已经有一些配置的代码了,我们这里只关注 Markdown 相关的。 exports.onCreateNode = ({ node, actions, getNode }) => { const { createNodeField } = actions if (node.internal.type === `MarkdownRemark`) { // Jeykll style post path const filepath = createFilePath({ node, getNode }) createNodeField({ node, name: 'slug', value: filepath.replace( /^\/blog\/([\d]{4})-([\d]{2})-([\d]{2})-/, '/$1/$2/$3/' ) }) } }    我们把原有的路径值换成了自定义值并存在了 fileds.slug 中。创建页面    回到我们前面的查询,得到需要的数据之后只需要对每个页面调用 actions.createPage 即可。  exports.createPages = ({ actions, graphql }) => { const { createPage } = actions return graphql(` { allMarkdownRemark(sort: { order: ASC, fields: [frontmatter___date] }) { edges { node { id fields { slug } frontmatter { path title layout } } } } } `).then(result => { if (result.errors) { result.errors.forEach(e => console.error(e.toString())) return Promise.reject(result.errors) } const { edges } = result.data.allMarkdownRemark const options = edges.map(edge => ({ path: edge.node.fields.slug, title: edge.node.frontmatter.title, component: path.resolve( `src/templates/${edge.node.frontmatter.layout}.js` ), // additional data can be passed via context context: { id: edge.node.id } })) options.forEach(option => createPage(option)) }) }     也许你会问为什么不在这里直接计算自定义路径而是要存到 fields.slug 中。这是因为这个路径我们可能还会在其它地方用到,存起来就不必多处计算了。    上面代码中可以注意到还有个 context 域,这个域中的数据会被传到 component 的 props 中。这样我们在模板组件中通过 pageContext.id 便可判断当前渲染的文件。    通过实现自定义路径基本上可以了解 Gatsby 页面生成的方式了。下节中我会继续谈谈其它个性化的配置,如草稿模式和显示上下篇博文。草稿模式    草稿模式即可以将文章保存为草稿而不被渲染出来。方式是在 front matters 中设置一个 draft 布尔域,以此域作为渲染参考。    坑    这里有一个地方需要注意,前面文章提过,Markdown 插件需要所有文章中都有 draft 域且都是布尔类型才会生成相应的 GraphQL 查询。如果是新的博客这个问题不大,如果是迁移过来的,有两个解决方式,第一个是手动写个脚本给文章都补上域,另一个是利用 Gatsby 的 Node APIs 在 fields 上生成特定域,鲁棒性更好些。自动生成域    观察 Remark 插件生成的 GraphQL 类型,我们可以发现,front matters 都被放在 frontmatter 域中,而与之同级的有一个前面文章提到过的 fields 域,用来放自定义生成的数据。    Gatsby 在生成 GraphQL 节点时提供了钩子 onCreateNode,我们利用这个钩子往 fields 中放自定义的数据。    编辑 /gatsby-node.js ,如果是用了 starter 的话这里很可能已经有其它的代码,已有的不需要动,添加我们需要的即可。 exports.onCreateNode = ({ node, actions, getNode }) => { const { createNodeField } = actions if (node.internal.type === `MarkdownRemark`) { createNodeField({ node, name: 'draft', value: Boolean(node.frontmatter.draft) }) } }    如此 fields 中就保证了会有 draft 这个域了。过滤草稿    有了标记之后,在生成页面的地方我们就需要过滤草稿。    首先是普通的文章页面生成,这个是在 createPages 钩子中,如果你的博客只有文章用到 Markdown 的话,可以在 GraphQL 查询中直接过滤,否则我们用前面文章的方法,先取所有 Markdown 文件再根据渲染的模板来分别处理各种类型的文章。    注意我把模板域的名字换成了自己更习惯的 layout,原来的 starter 中应该叫 templateKey。修改其实也很简单,搜索所有文件替换关键字即可。 options .filter( (_, i) => !( edges[i].node.frontmatter.layout === 'blog-post' && edges[i].node.fields.draft ) ) .forEach(option => createPage(option))    我在主页中也列举了最近的几篇文章,这里也需要过滤草稿,可以直接在 GraphQL 中过滤。 query IndexQuery { latestPosts: allMarkdownRemark( sort: { order: DESC, fields: [frontmatter___date] } filter: { fields: { draft: { ne: true } } frontmatter: { layout: { eq: "blog-post" } } } limit: 5 ) { edges { node { excerpt(pruneLength: 200) id fields { slug } frontmatter { title description layout date(formatString: "MMMM DD, YYYY") } } } } }    其它地方同理。上下篇    在文章页面中我们通常会加入上下篇来引导继续浏览。这里我们同样在 createPages 钩子中处理,但这回我们添加到 context 域中,这个域里的数据会作为 props 传到模板组件中。    在 createPage 生成文章页面前添加处理代码计算上下篇: options .filter( (_, i) => edges[i].node.frontmatter.layout === 'blog-post' && !edges[i].node.fields.draft ) .forEach((option, i, blogPostOptions) => { option.context.prev = i === 0 ? null : { title: blogPostOptions[i - 1].title, path: blogPostOptions[i - 1].path } option.context.next = i === blogPostOptions.length - 1 ? null : { title: blogPostOptions[i + 1].title, path: blogPostOptions[i + 1].path } })    然后在文章的 /src/templates/blog-post.js 组件里,接收 pageContext props,就可以使用上面传入的数据了。这是我的例子。    通过实现这几个功能我们了解了 Gatsby 页面生成的方式以及其 Node APIs 的基本使用。Gatsby 的功能远不止这些,官方文档写得非常详细,需要实现其它功能建议先去看看有无现有的例子。本系列到这里暂告一段落,谢谢你的阅读,希望能对你搭建 Gatsby 博客有所帮助。
  • [问题求助] 【ABC产品】【路由功能】利用平台上的路由导航和路由视图,嵌套实现页面跳转,一级路由可正常跳转,二级路由页面不渲染
  • [产品动态] 人人都可“钢铁侠”,XR五大核心技术拉近未来
    华为云 郑洛说起钢铁侠,让人想起漫威迷们总结的“漫威宇宙规律”——“土豪靠装备,穷人靠变异”,盘点钢铁侠斯塔克的装备:从“48 套钢铁战衣”,到铁打的AI助手“贾维斯”,“星期五”——懂技术懂装备懂老板,还有他研发装备时在空中随心勾勒,将设计原型旋转、修改、定稿、抛入制造系统的一系列骚操作,一顿玩儿就把活儿干了钱挣了,这无一不是大多数理工男的终极梦想。这个终极梦想,真的就那么遥不可及吗?我们今天就来聊聊,土豪背后的技术——XR(VR,AR,MR)技术,看完后,你就知道,未来已被拉近。                                   简单科普一下什么是XR,XR 就是VR、AR、MR 的统称。虚拟现实(Virtual Reality)、增强现实(Augmented Reality)和混合现实(Mixed Reality),正在给我们的生活方式带来一系列的变化。不远的未来,你还可以坐在虚拟的会议室跟你虚拟的小伙伴们开一场云上会议,在虚拟的智慧教室上一堂多人互动课程、做一场模拟实验,甚至进入虚拟世界进行真实的设计、制造,虚拟和真实之间,边界不再那么明显。这一切,都得益于XR(VR,AR,MR)技术的应用。XR 技术,究竟依赖哪些核心能力呢?华为云最新发布的XR 云服务,给了我们答案。它提供了五大核心技术和能力,打开未来新视界。1、  大规模3D地图构建能力3D地图是数字孪生世界的基础。传统制作3D地图的成本,是非常高昂的。图商需要采购价格高昂的测绘车队,常年雇佣规模在千人左右的采集团队,并组织人力对采集来的数据进行标注、补缺。随着AI算法、传感器的发展,技术上已能实现自动化程度更高的制图流程。华为云XR提供手机拍摄视频的众包建图方案,只要是通过手机拍摄慢速转动的视频,或者有重叠区域的图片,覆盖建图的区域,传至云端即可通过算法还原出3D模型。如果将3D模型中的3个点与数字世界的坐标对齐即可将局部的3D模型补充到数字世界中,大大降低了制图成本。华为云同时支持卫星制图,具备大面积快速覆盖能力,配合地图自动生成流水线,大规模构建3D地图。2、  厘米级全场景适应的空间计算高精度定位技术大体上可以分为三类:基于信号的定位、基于航迹推算的定位、基于环境特征匹配的定位。基于信号的定位:普通的多星(GPS、北斗、伽利略)定位精度大约能做到1-2米。新的RTK(Real - time kinematic,实时动态)载波相位差分技术,是能够在野外实时得到厘米级定位精度的测量方法。但它同时存在一些问题,比如基站布设成本高,易受电磁环境干扰、易受环境遮挡、信号多径效应、4G/5G/WIFI网络环境差的影响等等,从而影响定位精度和定位系统的可用性。基于航迹推算[1]的定位: IMU[2]是常用的航迹推算系统,优势在于没有外部依赖,可以提供短时高精度的定位结果,缺点在于在连续的位置和方向的测量中误差会不断累积,导致位置和姿态的测量结果偏离实际位置,因而无法做长时间的高精度定位。基于环境特征匹配的定位技术[3],华为云XR能力平台提供根据视觉的定位技术,通过定期上传照片,在云端进行特征点提取、匹配,能够做到厘米级定位与一度以内定姿(6DOF)。针对光照条件差,弱纹理的夜晚和室内场景,通过AI方式进行增强,实现夜晚也能找到图像匹配点,室内也能定位的全场景适应的空间定位算法。基于VPS和SLAM的紧耦合算法架构,可逐步实现长时间的室内外导航。3、  提升效果同时提升数倍效率的AI渲染算法3D 渲染管线也称为渲染流水线,可以将其理解为一个流程,就是我们准备一些数据,让GPU 对这些数据做一些处理,最后得出一张二维图像,渲染流程主要分为几个大的阶段:数据准备阶段,顶点处理阶段,光栅操作阶段,像素着色阶段。当前渲染优化有两个方向,一个是渲染画质好,一个是游戏实时性高。华为通过对渲染管线中算法的深入研究和调试,并通过端云结合的AI 算法,对渲染管线进行拆分,达到画质和实时性的均衡,实现数倍效率,画质相对于传统渲染方式有大幅的提升。4、  十万发丝级数字人渲染不久的将来,现实世界中的每一个地方和事物 —— 每一条街道、每一个灯柱、每一栋建筑物和每一个房间 —— 都会在镜像世界中拥有它的全尺寸“数字孪生兄弟”。——凯文·凯利华为在数字人的生成、建模、渲染阶段均有所涉猎,如全自动化90% 相似度高精细**模型生成。传统的建模通过离线工具制作,费时费力,华为考虑改造建模过程,实现快速复制、自动化生成、快速建模。渲染过程的开发,主要是从皮肤、牙齿、眼睛、毛发等等方面入手。数字人的表情肢体动作自然驱动和表达,唇音同步延时<100ms,使用者时延无感知 。皮肤是半透的,比较薄的地方有散射的效果,光散射过来会产生折射,加入后会多一些细节;眼睛是晶状体,有透射效果;头发有很多层,每层有不同效果。 华为实时高真实度数字人绘制,实现逼真的发丝、皮肤、眼睛渲染呈现,10 万级发丝,fps>30 帧,整体主观打分8 分以上。5、  360度VR视频TWS FOV技术(Tile-Wise-Streaming Field of View)360 度VR 视频领域,华为提出了TWS FOV 传输技术,可以解决4K 硬件解码能力终端,基于4K 码率观看8K 片源的问题。通过TWS 映射方式,从像素点上就可以相对ERP 映射,直降40% 码率。通过增加低资源消耗的背景流,解决黑边问题,加入单帧切换技术,提升转头高清体验。↓↓↓XR 技术的研究和应用,未来将有无限可能。虚拟和真实将相辅相成,实现真实世界与虚拟世界之间的无界沟通和协作。在不久的将来,人人都可像钢铁侠一样,通过XR 技术释放无穷的创造力和想象力,突破极限,共筑未来。[1]航迹推算:(dead reckoning)通过测量运动主体移动的距离和方位,与原位置叠加,从而推算出当前位置的方法。[2]IMU: Inertial measurement unit, 惯性测量单元。[3]环境特征匹配的定位技术:通过实时测量提取环境特征,并与预先采集的基准数据进行匹配,从而获取确定的当前位置。
  • 浅谈实时计算机图像渲染和建模
    虚拟现实(VR)与增强现实(AR)是能够彻底颠覆传统人 机交互内容的变革性技术。变革不仅体现在消费领域,更 体现在许多商业和企业市场中。 VR/AR需要大量的数据传输、存储和计算功能,这些数据 和计算密集型任务如果转移到云端,就能利用云端服务器 的数据存储和高速计算能力。云 VR/AR 将大大降低设备成本 – 提供人人都能负担 得起的价格。    2. 云市场以18%的速度快速增长。在未来的 10 年中,家 庭和办公室对桌面主机和笔记本电脑的需求将越来越 小,转而使用连接到云端的各种人机界面,并引入语 音和触摸等多种交互方式。5G 将显著改善这些云服务 的访问速度。
  • 云 VR:走入千家万户的普惠 VR
    VR 是超高清视频技术重要应用场景。云 VR 是将云计 算、云渲染的理念及技术引入到 VR 业务应用中,借助高速 稳定的网络,在云端进行 VR 超高清画面的渲染和处理,并 对显示输出和声音输出等经过编码压缩后传输到用户的终 端设备,实现 VR 业务内容上云、渲染上云。
  • [技术干货] 【转载】高价值干货:这可能是你见过最全的网络爬虫总结
    摘要:从抓取、解析、存储、反爬、加速五个方面介绍了利用 Python 进行网络爬虫开发的相关知识点和技巧,介绍了不同场景下如何采取不同措施高效地进行数据抓取的方法。前段时间参加了一场 Python 网络爬虫主题的分享活动,主要以直播的形式分享了我从事网络爬虫相关研究以来的一些经验总结。整个分享分为三个阶段,第一阶段先介绍了自己从大学以来从事编程开发以来的相关历程,第二阶段是正式的网络爬虫分享流程,详细总结了网络爬虫开发的一些要点,第三阶段是解答一些提问,并抽奖送出一些礼品。所以在这里我会对我昨天分享的主要内容做下总结,希望大家可以支持!总括分享的主题叫做《健壮高效的网络爬虫》,本次分享从抓取、解析、存储、反爬、加速五个方面介绍了利用 Python 进行网络爬虫开发的相关知识点和技巧,介绍了不同场景下如何采取不同措施高效地进行数据抓取的方法,包括 Web 抓取、App 抓取、数据存储、代理选购、验证码破解、分布式抓取及管理、智能解析等多方面的内容,另外还结合了不同场景介绍了常用的一些工具包,全部内容是我在从事网络爬虫研究过程以来的经验精华总结。爬取对于爬取来说,我们需要学会使用不同的方法来应对不同情景下的数据抓取任务。爬取的目标绝大多数情况下要么是网页,要么是 App,所以这里就分为这两个大类别来进行了介绍。对于网页来说,我又将其划分为了两种类别,即服务端渲染和客户端渲染,对于 App 来说,我又针对接口的形式进行了四种类别的划分——普通接口、加密参数接口、加密内容接口、非常规协议接口。所以整个大纲是这样子的:网页爬取服务端渲染客户端渲染App 爬取普通接口加密参数接口加密内容接口非常规协议接口爬取 / 网页爬取服务端渲染的意思就是页面的结果是由服务器渲染后返回的,有效信息包含在请求的 HTML 页面里面,比如猫眼电影这个站点。客户端渲染的意思就是页面的主要内容由 JavaScript 渲染而成,真实的数据是通过 Ajax 接口等形式获取的,比如淘宝、微博手机版等等站点。服务端渲染的情况就比较简单了,用一些基本的 HTTP 请求库就可以实现爬取,如 urllib、urllib3、pycurl、hyper、requests、grab 等框架,其中应用最多的可能就是 requests 了。对于客户端渲染,这里我又划分了四个处理方法:寻找 Ajax 接口,此种情形可以直接使用 Chrome/Firefox 的开发者工具直接查看 Ajax 具体的请求方式、参数等内容,然后用 HTTP 请求库模拟即可,另外还可以通过设置代理抓包来查看接口,如 Fiddler/Charles。模拟浏览器执行,此种情形适用于网页接口和逻辑较为复杂的情况,可以直接以可见即可爬的方式进行爬取,如可以使用 Selenium、Splinter、Spynner、pyppeteer、PhantomJS、Splash、requests-html 等来实现。直接提取 JavaScript 数据,此种情形适用于真实数据没有经过 Ajax 接口获取,而是直接包含在 HTML 结果的某个变量中,直接使用正则表达式将其提取即可。模拟执行 JavaScript,某些情况下直接模拟浏览器执行效率会偏低,如果我们把 JavaScript 的某些执行和加密逻辑摸清楚了,可以直接执行相关的 JavaScript 来完成逻辑处理和接口请求,比如使用 Selenium、PyExecJS、PyV8、js2py 等库来完成即可。爬取 / App 爬取对于 App 的爬取,这里分了四个处理情况:对于普通无加密接口,这种直接抓包拿到接口的具体请求形式就好了,可用的抓包工具有 Charles、Fiddler、mitmproxy。对于加密参数的接口,一种方法可以实时处理,例如 Fiddler、mi**ump、Xposed 等,另一种方法是将加密逻辑破解,直接模拟构造即可,可能需要一些反编译的技巧。对于加密内容的接口,即接口返回结果完全看不懂是什么东西,可以使用可见即可爬的工具 Appium,也可以使用 Xposed 来 hook 获取渲染结果,也可以通过反编译和改写手机底层来实现破解。对于非常规协议,可以使用 Wireshark 来抓取所有协议的包,或者使用 Tcpdump 来进行 TCP 数据包截获。以上便是爬取流程的相关分类和对应的处理方法。解析对于解析来说,对于 HTML 类型的页面来说,常用的解析方法其实无非那么几种,正则、XPath、CSS Selector,另外对于某些接口,常见的可能就是 JSON、XML 类型,使用对应的库进行处理即可。这些规则和解析方法其实写起来是很繁琐的,如果我们要爬上万个网站,如果每个网站都去写对应的规则,那么不就太累了吗?所以智能解析便是一个需求。智能解析意思就是说,如果能提供一个页面,算法可以自动来提取页面的标题、正文、日期等内容,同时把无用的信息给刨除,例如上图,这是 Safari 中自带的阅读模式自动解析的结果。对于智能解析,下面分为四个方法进行了划分:readability 算法,这个算法定义了不同区块的不同标注集合,通过权重计算来得到最可能的区块位置。疏密度判断,计算单位个数区块内的平均文本内容长度,根据疏密程度来大致区分。Scrapyly 自学习,是 Scrapy 开发的组件,指定⻚页⾯面和提取结果样例例,其可⾃自学习提取规则,提取其他同类⻚页⾯面。深度学习,使⽤用深度学习来对解析位置进⾏行行有监督学习,需要⼤大量量标注数据。如果能够容忍一定的错误率,可以使用智能解析来大大节省时间。目前这部分内容我也还在探索中,准确率有待继续提高。存储存储,即选用合适的存储媒介来存储爬取到的结果,这里还是分为四种存储方式来进行介绍。文件,如 JSON、CSV、TXT、图⽚、视频、⾳频等,常用的一些库有 csv、xlwt、json、pandas、pickle、python-docx 等。数据库,分为关系型数据库、非关系型数据库,如 MySQL、MongoDB、HBase 等,常用的库有 pymysql、pymssql、redis-py、pymongo、py2neo、thrift。搜索引擎,如 Solr、ElasticSearch 等,便于检索和实现⽂本匹配,常用的库有 elasticsearch、pysolr 等。云存储,某些媒体文件可以存到如七⽜牛云、又拍云、阿里云、腾讯云、Amazon S3 等,常用的库有 qiniu、upyun、boto、azure-storage、google-cloud-storage 等。这部分的关键在于和实际业务相结合,看看选用哪种方式更可以应对业务需求。反爬反爬这部分是个重点,爬虫现在已经越来越难了,非常多的网站已经添加了各种反爬措施,在这里可以分为非浏览器检测、封 IP、验证码、封账号、字体反爬等。下面主要从封 IP、验证码、封账号三个方面来阐述反爬的处理手段。反爬 / 封 IP对于封 IP 的情况,可以分为几种情况来处理:首先寻找手机站点、App 站点,如果存在此类站点,反爬会相对较弱。使用代理,如抓取免费代理、购买付费代理、使用 Tor 代理、Socks 代理等。在代理的基础上维护自己的代理池,防止代理浪费,保证实时可用。搭建 ADSL 拨号代理,稳定高效。反爬 / 验证码验证码分为非常多种,如普通图形验证码、算术题验证码、滑动验证码、点触验证码、手机验证码、扫二维码等。对于普通图形验证码,如果非常规整且没有变形或干扰,可以使用 OCR 识别,也可以使用机器学习、深度学习来进行模型训练,当然打码平台是最方便的方式。对于算术题验证码,推荐直接使用打码平台。对于滑动验证码,可以使用破解算法,也可以模拟滑动。后者的关键在于缺口的找寻,可以使用图片比对,也可以写基本的图形识别算法,也可以对接打码平台,也可以使用深度学习训练识别接口。对于点触验证码,推荐使用打码平台。对于手机验证码,可以使用验证码分发平台,也可以购买专门的收码设备,也可以人工验证。对于扫二维码,可以人工扫码,也可以对接打码平台。反爬 / 封账号某些网站需要登录才能爬取,但是一个账号登录之后请求过于频繁会被封号,为了避免封号,可以采取如下措施:寻找手机站点或 App 站点,此种类别通常是接口形式,校验较弱。寻找无登录接口,尽可能寻找⽆无需登录即可爬取的接口。维护 Cookies 池,使⽤用批量账号模拟登录,使⽤时随机挑选可用 Cookies 使⽤即可,实现:https://github.com/Python3WebSpider/CookiesPool加速当爬取的数据量非常大时,如何高效快速地进行数据抓取是关键。常见的措施有多线程、多进程、异步、分布式、细节优化等。加速 / 多线程、多进程爬虫是网络请求密集型任务,所以使用多进程和多线程可以大大提高抓取效率,如使用 threading、multiprocessing 等。加速 / 异步将爬取过程改成非阻塞形式,当有响应式再进行处理,否则在等待时间内可以运行其他任务,如使用 asyncio、aiohttp、Tornado、Twisted、gevent、grequests、pyppeteer、pyspider、Scrapy 等。加速 / 分布式分布式的关键在于共享爬取队列,可以使用 celery、huey、rq、rabbitmq、kafka 等来实现任务队列的对接,也可以使用现成的框架 pyspider、Scrapy-Redis、Scrapy-Cluster 等。加速 / 优化可以采取某些优化措施来实现爬取的加速,如:DNS 缓存使用更快的解析方法使用更高效的去重方法模块分离化管控加速 / 架构如果搭建了分布式,要实现高效的爬取和管理调度、监控等操作,我们可以使用两种架构来维护我们的爬虫项目。将 Scrapy 项目打包为 Docker 镜像,使用 K8S 控制调度过程。将 Scrapy 项目部署到 Scrapyd,使用专用的管理工具如 SpiderKeeper、Gerapy 等管理。另外对于这部分内容,其实还有我制作的更丰富的思维导图,预览图如下:转载自:华为云开发者论坛
  • 竞享实例,瞬享自由算力
    近日,华为云正式对外推出竞享实例。竞享型实例作为创新商业模式,用户可以先到先享,并将颗粒化算力瞬间批量组织起来用于各类可容错场景,其以远低于同类产品的价格以及出色稳定的性能为离线转码、离线渲染、基因测序及Web应用等可容错业务场景提供强有力的基础支撑,助力用户瞬享自由算力。极致性能,激发潜能竞享实例承袭华为云C系列高性能云服务器技术基因,最高支持64核256G,同规格同性能机型价格低至按需实例的1.5折。为动画制作特效师、建筑设计师等提供稳定、高效、安全的渲染环境。影视特效作为电影产业中或不可缺的元素之一,为电影的发展做出了巨大的贡献。优秀的电影都在极致追求逼真的场景构建、人物刻画,道具。而逼真的视觉效果往往需要渲染更多帧数、耗费更长时间。以某科幻大片为例,全片共有2003个特效镜头,开场从地面拉向太空的2mins长镜头共有3000帧。以目前主流4K影片在3000台按需24核服务器集群渲染为例,每台服务器并行渲染1帧。每帧平均时间20h,总时间需要20h,按需成本约32W。而在实际影视制作中,通常一个画面需要渲染,修改多次才能出片,实际成本和时间会更高。同样情况下,若采用竞享实例,保质保量完成渲染任务的同时,成本仅需8万元,成本可节省75%。为缩短渲染周期、节省渲染成本提供最优解,满足高性能渲染对算力的强需求,让技术与艺术融合,加速中国影视产业的腾飞。  灵活便捷,玩转潮汐竞享实例支持短周期可容错业务,随取随用。业务波峰期,用户可根据业务量选择购买时长,到期后自动释放实例。配合业务的自身的容错机制与弹性伸缩机制,助力用户轻松玩转潮汐对各类Web应用而言,如社交类产品,经常出现因为社会热点话题引发的流量峰值,且流量峰值不可预估,如潮汐效应,在月球引潮力作用下, 海水发生周期性涨落的现象,而受自然规律和社会环境的共同影响,人类行为也会有周期性“潮汐效应”。竞享实例以灵活便捷及超高性价比的优势脱颖而出,业务高峰期,根据业务诉求批量开通竞享实例资源,设置时长到期后自动释放,同时还能以远低于目前市面上实例的价格拥有同等性能,助力企业轻松应对业务浪涌。高性价比,百里挑一竞享实例支持申请超大规模算力负载用于业务快速闭环,最高可支持万核资源购买申请,以超低价格构建计算集群,万核资源每小时使用费用低至300元。如对于基因测序场景而言,人类第一次完成全基因组测序耗时13年,耗资27亿美金,随着技术的不断演进,在2018年JP Morgan健康大会,高质量的个人全基因组测序的价格降为600美金,这标志着基因测序的成本越来越低,速度越来越快。基因测序行业巨擘甚至预测在不远的未来,它将成为常规的体检项目,除了基因测序技术高速发展外,与算力成本的下降也是密不可分的。**中的人类全基因组有30亿碱基,需要对基因进行拼装、排序、去重、变异检测后,才算完成一个完整的WGS (人类全基因组测序)流程。分析竞享实例以极致性价比的优势,单核0.035元/小时起 ,完美匹配基因测序场景诉求,有效降低分析计算成本,缩短测序周期,真正做到同样性能更低价格,百里挑一。竞享实例是面向各种无状态,容错或者灵活的应用程序推出的全新一代计算服务,短时间、大规模、高性价比算力一触即发,助力企业实现数字化转型和智能化升级                            目前竞享实例正在热卖中,点击【优惠算力,先到先享】!
  • 【竞享实例,瞬享自由算力】云服务每核时低至0.035元了啦!
            近年来,随着企业上云转型、互联网信息产业技术不断发展与革新,云上的业务越来越多样化,上云成本也越来越高,除了对性能和稳定性要求外,如何在保证性能前提下,有效降低用云成本也是成为各大企业的关注重点! 根据业务对服务器稳定性的要求,可以将上云业务分为两大类,1.通用场景类:业务为长周期业务、对计算资源的需求量相对稳定,对云服务器稳定性要求高的业务,如:数据库服务、ERP系统等企业核心应用。2.无状态任务场景类:业务具有短周期、高容错,可中断等业务特点,对短时大规模算力需求较高,算力中断或减少不影响业务正常运行。如离线渲染,离线转码,基因测序,在线爬虫等无状态业务。 不同场景选择不同实例类型:通用场景类业务,对稳定性要求高,且计算资源使用周期长,可选择包周期实例,固定时间内使用固定量级的计算资源更优惠,且各厂商经常推出特惠活动,购买时间越长,价格越低。在偶尔业务高峰时可以通过配置按需资源,按使用量计费节约成本。无状态任务型场景,对稳定性要求不高,计算资源使用周期短,可选择按需实例,根据任务量和使用时间,随取随用,按使用时长计费,且可以根据不同的业务需求灵活选择实例的性能和规格。 虽然目前包周期实例和按需实例已经满足大部分业务场景的用云需求,但对于短周期高容错的任务型计算业务来说,包周期实例和按需实例的成本还是较高,而对算力有性能高要求的企业,需要花费更多的成本才能支撑业务负荷。 一句话总结高容错,可容忍中断的任务型场景对实例的需求是短周期!强性能! 低成本!所以,华为云的竞享实例来了! 竞享实例是华为云针对无状态、可容错的应用场景推出的全新计算服务,旨在帮助用户降低用云成本!竞享实例支持多种机型规格购买,超高性价比!原来1台云服务的钱现在可以买6台云服务器啦!>>竞享实例购买入口<<竞享实例具有四大优势ü  超高性价比:同规格同性能的机型价格低至按需实例的1.5折,这就意味着,业务使用竞享实例要比按需实例节省85%的算力成本,ü  性能优异:支持华为云C系列高性能云服务器,最高性能配置为64核256G,可支撑高性能业务的需求ü  规模运行:支持申请超大规模算力负载用于业务快速闭环,最高可支持万核资源购买申请,以超低价格构建计算集群,万核资源每小时使用费用低至350元ü  灵活便捷:竞享实例支持短周期可容错业务,随取随用,用户根据业务量选择购买时长,到期后自动释放实例。配合业务的自身的容错机制与弹性伸缩机制,可对竞享实例实现自动化管理。 竞享实例适合多场景使用竞享实例将成为弹性Web应用、离线渲染、视频转码、基因测试、新品设计、舆情获取业务、重定向广告、AI学习等场景降低成本的不二之选!用户可以以极低成本构建临时计算资源池,通过业务调度平台将超大量级任务分发至资源池中多台竞享实例分别进行计算,从而提高计算速度,保障业务高峰期高校平稳度过。                        竞享实例小tips为了更好的运用竞享实例,需要遵循以下小提示:1.     因为竞享实例存在一定的中断概率,避免在竞享实例上运行对稳定性要求高的服务2.     在配置资源池时,按一定比例配置包周期、按需,竞享实例,核心稳定业务部署在包周期或按需实例,无状态业务部署在竞享实例。3.     竞享实例到期释放或中断释放均秒级释放,需要提前做好备份策略,避免损失 
  • 竞享实例场景小贴士之影视渲染
    竞享实例在离线渲染场景应用场景介绍:使用 竞享实例扩展本地部署或云化渲染集群,以远低于按需价格的成本和充足资源储备满足项目和时间表要求,经济高效地完成离线渲染任务。场景特点:批量操作:需支持批量创建及删除操作按需付费:根据运行时间按需精准计费处理性能:对存储,批创以及渲染处理性能要求高规格要求:无超分,大规格(常见16U-64U)集中部署:同Region部署渲染集群离线转码使用场景小贴士:
  • 《哪吒之魔童降世》爆红背后的影视渲染有多酷?
    通常,从数据上来说,一部电影渲染时长越长,说明画面制作越精良,以下这组数据可以给大家一些参考:《阿凡达》在渲染的时候,用了40000颗CPU,104TB内存,10G网络带宽,整整渲染了1个多月。而《哪吒》渲染花费了多长时间呢,据了解,这部影片共计创建了约5000个任务,289,077帧,耗费了近10万个小时...我们在观看电影的时候,无不为其画面的真实感及强大的视觉冲击而震撼,原来,国产电影也可以值得骄傲,而这值得骄傲的背后,当然也和日益发展的影视行业后期的技术发展息息相关。今天,我们就来聊一聊离线渲染。什么是渲染?渲染就是指把模型在视点、光线、运动轨迹等因素作用下的视觉画面计算出来的过程。什么是离线渲染?离线渲染就是在计算出画面时并不显示画面,计算机根据预先定义好的光线、轨迹渲染图片,渲染完成后再将图片连续播放,实现动画效果。这种方式的典型代表有3DMax和Maya,其主要优点是渲染时可以不考虑时间对渲染效果的影响,缺点是渲染画面播放时用户不能实时控制物体和场景。什么是实时渲染?实时渲染,是指计算机边计算画面边将其输出显示,这种方式的典型代表有Vega Prime和Virtools。实时渲染的优点是可以实时操控(实现三维游戏、军事仿真、灾难模拟等),缺点是要受系统的负荷能力的限制,必要时要牺牲画面效果(模型的精细、光影的应用、贴图的精细程度)来满足实时系统的要求。离线渲染和实时渲染有什么区别:离线渲染主要用于电影、广告等预先设计好的模式的演示。实时渲染主要用于无预定脚本的视景仿真,例如飞行训练、3D游戏和交互式建筑演示等。两者都是模拟真实和想象的世界,用高度细节模型,产生平滑连线的运动,并以一定的帧率进行绘制来达到对三维模型的渲染和演示;离线渲染的重点是美学和视觉效果,主要是“展示美”,在渲染过程中可以为了视觉的美感将模型的细节做得非常丰富,将贴图纹理做到以假乱真的效果,并辅以灯光设置,最后渲染时还可以使用高级渲染器;实时渲染的重点是交互性和实时性,其模型通常具有较少的细节,以提高绘制速度并减少“滞后时间”(指用户输入和应用程序做出相应反应之间的时间)。比起离线渲染,实时渲染更看重对现实世界各种现象的模拟和对数据的有效整合,而不是炫目的图像。有一定的相似性,但区别也是很明显的。离线渲染得到的是更加精细的画面效果,代价是花费更长的时间,而实时渲染为了达到随时调整随时看到画面的目的,牺牲了画面的精细度。离线渲染的每帧是预先绘制好的,即设计师设置帧的绘制顺序并选择要观看的场景。每一帧甚至可以花数小时进行渲染;实时渲染对渲染的实时性要求严格,因为用户改变方向、穿越场景、改变视点时,都要重新渲染画面。在视景仿真中,每帧通常要在1/30秒内完成绘制。离线渲染主要依托于中央处理器(CPU)的计算能力,实时渲染主要依托于图形处理器(GPU)的计算能力。如今,在渲染过程中,不会再依赖于单一处理器的计算能力,计算机中的越来越多的性能会被调用。同时计算机本身的性能也在不断提升,多硬件之间协同渲染的方式也逐渐成为当下的主流技术。华为云最新推出竞享实例,特别适合各种无状态、可中断、高容错的场景,例如我们前文提到的离线渲染这一场景,可大幅度缩短影视渲染的时间,节约渲染成本。国产动漫,未来可期,相信会有越来越多优秀的影视作品,大放异彩!!
  • 竞享实例场景小贴士之效果图渲染
    竞享实例在离线渲染中的应用:场景介绍:使用 竞享实例扩展本地部署或云化渲染集群,以远低于按需价格的成本和充足资源储备满足项目和时间表要求,经济高效地完成离线渲染任务。场景特点:批量操作:需支持批量创建及删除操作按需付费:根据运行时间按需精准计费处理性能:对存储,批创以及渲染处理性能要求高规格要求:无超分,大规格(常见16U-64U)集中部署:同Region部署渲染集群场景小贴士至效果图渲染:
  • 竞享实例场景小贴士之影视渲染,将竞享实例在影视渲染的优势安排的明明白白~~
  • 竞享实例在离线渲染场景应用
    场景介绍使用 竞享实例扩展本地部署或云化渲染集群,以远低于按需价格的成本和充足资源储备满足项目和时间表要求,经济高效地完成离线渲染任务。场景特点:批量操作:需支持批量创建及删除操作按需付费:根据运行时间按需精准计费处理性能:对存储,批创以及渲染处理性能要求高规格要求:无超分,大规格(常见16U-64U)集中部署:同Region部署渲染集群典型客户群体:电脑动画工作室、影视视效工作室、建筑设计可视化工作室、游戏及商业广告公司等应用架构图: 使用优势:成本降低:最高可帮助用户节省成本灵活便捷:支持API方式进行批量操作规模运行:用户可申请超大规模集群处理转码任务性能保障:与按需ECS相同底层资源,性能一致无缝对接:与EVS,SFS等服务无缝搭配
  • 竞享实例适用场景及优势解读
    1、  离线渲染使用 竞享实例扩展本地部署或云化渲染集群,以远低于按需价格的成本和充足资源储备满足项目和时间表要求,经济高效地完成离线渲染任务。典型客户群体:电脑动画工作室、影视视效工作室、建筑设计可视化工作室、游戏及商业广告公司等优势:成本降低:最高可帮助用户节省成本灵活便捷:支持API方式进行批量操作规模运行:用户可申请超大规模集群处理转码任务性能保障:与按需ECS相同底层资源,性能一致无缝对接:与EVS,SFS等服务无缝搭配2、  离线转码使用竞享实例为海量媒体数据转码提供充足算力,节省转码时间同时降低转码成本典型客户群体:广电运营商,IPTV运营商,有音视频转码需求的各类企业优势:成本降低:最高可帮助用户节省成本灵活便捷:用户可设置实例持续时间,到期释放规模运行:用户可申请超大规模集群处理转码任务性能保障:与按需ECS相同底层资源,性能一致3、生物医药使用竞享实例为基因组测序,DNA分析等高强度计算业务提供经济高效的计算资源,所需时间从数周缩短为几天典型客户群体:高校实验室,研究所,基因检测机构,生物技术公司优势:成本降低:最高可帮助用户节省成本灵活便捷:用户可设置实例持续时间,到期释放规模运行:用户可申请超大规模集群处理转码任务性能保障:与按需ECS相同底层资源,性能一致4、Web 应用使用竞享实例配合负载均衡和弹性伸缩服务实现以较低成本在业务高峰智能调节后端集群,保持Web最佳性能典型客户群体:社交学习平台、在线交易平台、电商、O2O等
总条数:67 到第
上滑加载中