1.[3D游戏开发实践] Cocos Cyberpunk 源码解读-目录结构
2.3d稀疏卷积——spconv源码剖析(五)
3.10款——适合初学者的免费码免费3D建模软件
4.全网超火Blender零基础教程!从零上手的源源码免费3D软件
5.FreeCAD - 功能强大、免费开源的网站参数化 3D 建模软件,在 Windows、免费码Mac 和 Linux 平台上都可以使用
[3D游戏开发实践] Cocos Cyberpunk 源码解读-目录结构
在深入解读Cocos Cyberpunk源码之前,源源码首先,网站有qq软件源码让我们打开scene-game-start场景,免费码启动游戏预览,源源码进入游戏场景。网站点击START按钮,免费码游戏正式开始。源源码漫游摄像机将带你漫游整个场景,网站再次点击START,免费码可以进入游戏。源源码
在电脑端按ESC键或手机端点击设置按钮,网站查看操作说明。接下来,让我们浏览Cocos Cyberpunk项目的目录结构。在左下角的Assets窗口中,我们可以看到项目文件的分层。
首先,animations目录中仅包含用于场景漫游的摄像机动画文件。LightFX目录存储了光照贴图,这些是光照烘焙系统自动生成的,无需手动修改。res目录是整个游戏资源的集中地,包括动画、特效、模型、shader、UI、音效等资源。
resources目录则存放动态加载的资源,当前内容较少,随着游戏的工作进度 源码完善,资源将会增多。scene目录包含了环境反射探针文件,与场景文件名对应的文件夹存放反射贴图。scene-development目录则包含一些用于单元测试的开发场景。
scripts目录存放所有游戏逻辑脚本,而src目录可能包含项目开发过程中的测试文件。test目录同样是用于测试的,存放的文件与项目无关。scene目录则是游戏主场景,而scene-game-start则为游戏启动场景,进行UI逻辑初始化,并加载游戏主场景。
自定义管线以编辑器扩展的形式存在,可将其移至项目中。管线对应自定义管线,通过在场景中新建节点并添加pipeline/graph/pipeline-graph.ts组件来查看可视化管线图。实时探针相关组件在反射探针节点上挂载,提供实时更新功能。
反射探针节点上的ReflectionUtils脚本组件实现了实时更新探针的逻辑,适用于需要实时探针的项目。此外,Cocos Cyberpunk还实现了SphereProjection修正,使得反射更符合物体形状。
静态遮挡剔除机制在Cocos Cyberpunk中实现,通过将可见关系预存入空间格子,渲染时直接查表获得渲染列表,极大提升效率。这一部分主要在scene场景中的static-occlusion-culling结点中处理。
机型适配策略在Cocos Cyberpunk中实现,根据设备性能选择渲染效果,确保流畅帧率。处理了不同设备上的效果调整,包括性能开关策略、机型分档策略,css源码压缩库主要在href-settings.ts、gpu.ts和gpu-mobiles.ts文件中实现。
游戏逻辑方面,Cocos Cyberpunk包含完整的TPS游戏逻辑,init节点包含了特效、UI、对象池等节点,挂载的init.ts脚本组件确保游戏逻辑在主场景加载后持续运行。接下来,我们将对游戏逻辑相关源码进行深入解读。
3d稀疏卷积——spconv源码剖析(五)
介绍在构建的Rulebook指导下执行特定的稀疏卷积计算,关注于类SparseConvolution,其代码位于spconv/conv.py。
Fsp.indice_subm_conv和Fsp.indice_conv经过spconv/functional.py中的SubMConvFunction和SparseConvFunction对象转换,最终会调用spconv/ops.py模块中的indice_conv等函数。
专注于子流线卷积接口:indice_subm_conv,其代码位于spconv/functional.py。
通过Python接口调用底层C++函数可能不够直观,因此使用torch.autograd.Function封装算子底层调用,该类表示PyTorch中的可导函数,具备前向推理和反向传播实现时,即可作为普通PyTorch函数使用。
值得注意的是,Function类在模型部署中具有优势,若定义了symbolic静态方法,此Function在执行torch.onnx.export()时,可依据symbolic定义规则转换为ONNX算子。
apply方法是torch.autograd.Function的一部分,此方法负责在前向推理或反向传播时的调度工作。通过将indice_subm_conv = SubMConvFunction.apply简化为indice_subm_conv接口,简化了算子使用,屏蔽了SubMConvFunction的具体实现。
SubMConvFunction的前向传播方法forward调用spconv/ops.py的indice_conv函数。在src/spconv/all.cc文件中,麻将电玩城源码通过PyTorch提供的OP Register对底层C++API进行注册。
通过torch.ops.load_library加载.so文件,使用torch.ops.spconv.indice_conv调用src/spconv/spconv_ops.cc文件中的indiceConv函数。
深入探索src/spconv/spconv_ops.cc文件中的indiceConv函数。
代写部分代码内容...
款——适合初学者的免费3D建模软件
对于初学者来说,探索3D建模可能会显得有些困难,尤其是面对复杂专业的软件。然而,这里提供了一组特别挑选的款免费3D建模工具,旨在帮助新手轻松上手,为今后使用高级软件打下坚实基础。 1. Tinkercad- 这款浏览器中的基础建模软件专为非CAD用户设计,提供丰富的教程和简单课程,包括电子组件设计和使用代码块创建3D对象。 2. Vectary- 一个基于浏览器的参数化建模工具,特别适合图形和游戏设计,虽然需要付费订阅,但其协作功能强大。 3. Meshmixer- 由Autodesk出品的轻量级软件,是3D建模的“瑞士军刀”,适合调整和修复现有模型,还包含3D打印优化工具,尽管不再更新,但有详细的手册指导。 4. SculptGL- 开放源码、基于浏览器的简单建模工具,只需数字粘土和“刷子”操作,Android用户可免费,iOS用户则需付费。 5. ZBrushCoreMini- Maxon的精简版ZBrush,适合基础建模,但仅限于非商业用途,包含预设形状,适合初学者练习。汽车改装源码 6. SketchUp Free- 作为专业软件,SketchUp Free提供易于上手的浏览器版,附带详细教程和云存储空间。 其他软件如Wings 3D、Leopoly和BlocksCAD则以直观的界面、简化工具和独特的建模方式为初学者打开3D建模世界。Blender作为强大的开源选项,适合有更高追求的用户,常被专业动画制作人选用。 无论你选择哪一款,这些工具都能帮助你在3D建模的旅程中迈出第一步,为你的创新和学习打开无限可能。探索这些工具,你将发现3D建模的乐趣和潜力,并为未来的学习打下坚实基础。全网超火Blender零基础教程!从零上手的免费3D软件
今天为大家呈现Blender零基础入门教程!这套教程由作者设计捕手精心录制,专为初学者量身打造。教程内容从界面工具到建模渲染,全方位教授你掌握各个功能的运用。
Blender官网的宣传语是「免费软件从未如此出色」。这款软件究竟出色在哪里?为何近期在全网爆火?我们先来了解它的介绍。
、Blender介绍
Blender是一款开源、免费、全能的跨平台三维软件,经过近多年的发展和迭代更新,现已升级至2.9.x版本。软件涵盖了从建模、动画、材质、渲染,到音频处理、视频剪辑等一整套动画短片制作解决方案。
不同于许多大型3D软件,Blender软件体积轻巧,官方提供的安装包文件仅不到MB,功能如此丰富的软件能做到如此体积,实属难得。
、添加草稿
无论是Blender的新手用户还是高级玩家,都会喜欢这款软件的自定义布局功能。从简单拆分移动软件窗口,到使用python脚本完全自定义,Blender都能满足用户的需求。
Blender的界面还提供了跨平台一致性,无论是Windows还是Mac OS,软件的使用体验几乎一致。同时,它还支持hi-dpi/retina等高分辨率显示器,确保了界面文字在大屏中的清晰度。
、添加草稿
Blender的建模工具非常丰富,包括雕刻、重拓扑、建模、曲线等功能,这些强大的工具使得创建、转换、雕刻和编辑模型变得更加轻松。
、模型细节雕刻
数字雕刻工具提供了数字制作流程的多个阶段所需的功能和灵活性,简化了概念研究和最终模型生产之间的过渡。
、整合素材
直接在3D视口中绘图,为故事板和2D艺术家提供了无与伦比的工作流程自由度。
、填充颜色
Blender专为动画而设计,无论是简单的关键帧还是复杂的步行循环,Blender都能让艺术家将静止角色变成令人印象深刻的动画。
、强大的渲染引擎
Blender带有强大的无偏渲染引擎,可提供令人惊叹的超逼真渲染。
、丰富的材质模拟
Blender具有bullet和MantaFlow等行业标准库,提供强大的模拟工具,可满足各种场景的需求。
、视频剪辑
视频编辑器提供了一系列基本但非常有效的工具,可以执行基础的视频剪切和拼接等操作,以及更加复杂的视频遮罩或颜色分级等任务。
、视觉特效制作
Blender带有一个完全成熟的内置合成器,可以直接在Blender中进行后期制作渲染。
、自定义脚本编写
每个工具都具有广泛的Python API,可用于编写脚本和自定义功能。Blender拥有庞大的爱好者和开发者社区,加载了大量扩展,用户可以轻松打开或关闭这些扩展。
、格式支持
Blender自带对许多不同软件的导入/导出支持。
、免费开源
Blender被许可为GNU通用公共许可证(GPL),永远保持免费和开源,用户可以出于任何目的自由使用Blender。
、下载与安装
官方提供了Windows安装包版、Windows压缩包版、Mac OS版(Intel版)、Mac OS版(M1版)、Linux版以及源代码下载。
另外,我们还整理了8个Blender插件,可分享。
FreeCAD - 功能强大、免费开源的参数化 3D 建模软件,在 Windows、Mac 和 Linux 平台上都可以使用
最近买了一台入门级的3D打印机,打算用来制作一些小型配件。在寻找合适的3D建模软件时,我发现了FreeCAD。这款软件功能强大,免费且开源,适用于Windows、Mac和Linux平台,非常适合我。在这里,我将分享一些关于FreeCAD的使用心得,希望能帮助到需要的朋友们。
在探索遥控车世界时,我看到了一些有趣的变化:将静态车模型升级为可全比例控制的遥控车,并通过实时图传实现如同亲身体验的驾驶感受。市面上的遥控车价格不菲,而且尺寸通常太大,仅适合户外使用。因此,我决定将自己收藏的外观精美的小车模型改造成遥控车,这个想法让我不禁心动。
在动手实践前,我投入了不少时间研究3D打印所需的配件。在尝试了几款建模软件后,我最终选择了FreeCAD。这款软件的参数化建模功能非常出色,允许我轻松修改设计和参数,快速创建符合预期的3D模型。FreeCAD的跨平台特性也意味着它可以在各种操作系统上使用,非常方便。
自年项目成立以来,FreeCAD在专业领域内得到了持续发展,成为了一款功能强大、用户群体广泛的应用软件。其易用性、灵活性和集成度高,使其在机械设计和建筑建模方面拥有广泛的应用。
学习FreeCAD并不困难,尤其是如果你具备一定的三维建模经验或熟悉技术概念。虽然我是一个工科生,对FreeCAD的操作还不是很熟悉,但凭借对相关概念的理解,我很快就上手了。如果你是三维建模的新手,学习曲线可能会更长一些,但随着练习和探索,你会逐渐掌握。
FreeCAD拥有活跃的用户社区,为新用户提供支持和资源。许多用户在社区中分享自己的模型,你可以直接下载这些模型来进行学习。总之,学习FreeCAD需要投入时间和努力,但只要你有兴趣和热情,就能克服这些挑战。
除了基础的建模功能,FreeCAD还专门设计了适用于3D打印的工具。例如,它包含3D打印专用的零件设计和网格设计工作台,以及用于检查模型是否有缺陷的实体对象工具。这些功能确保了3D打印过程的顺利进行。
借助FreeCAD,我很快学会了如何将简单的2D图纸转化为3D模型,并最终将模型导出为3D打印机兼容的STL格式。整个过程包括设计、转化、处理和打印,一步步实现了从概念到成品的转变。
FreeCAD不仅仅适用于制作简单零件,它还广泛应用于各种复杂和庞大的机械零件和建筑模型设计。它完全可以媲美市面上的付费三维建模软件,是业余爱好者、学生和专业人士的首选。
作为一款免费开源软件,FreeCAD允许个人和公司免费下载使用。其源代码的开放性意味着有能力的开发者可以修改和编译软件,满足自己的特定需求。
如果您对FreeCAD感兴趣,欢迎访问相关网站或论坛,参与社区活动,获取更多资源和支持。在探索和实践的过程中,您将发现FreeCAD在3D建模领域的强大潜力。记住,无论您是初学者还是专业人士,只要有兴趣和毅力,就能在FreeCAD的世界中找到属于您的空间。