1、首先找到插件包,可以淘宝买个便宜的。

2、导入到unity项目:World Streamer v1.9.6.unitypackage

3、文件夹:

4、读World Streamer Manual.pdf

world steamer is a memory async streaming system. by using it you are able to stream your whole game from a disc in any axis and space. you can create endless space games, 2D platformers, 3rd person, open worlds, mobile apps, architectural presentations(建筑展示), single, multiplayer, or any kind of game you want without loading screens during player movement. u are able to create endless looped worlds or planet imitation (行星模拟).

all scene assets will be stored on the disk as scene files (所以的场景资源都被储存在硬盘上的场景文件中)and the will be loaded only when they are close enough or when they meet the required conditions. this solution reduces CPU, RAM, GPU usage, and performance in your game will be much ,much better and your application will load much faster. with streaming you will reduce the object count in your scene and you can create very detailed and large scenes without the performance drop. world streamer gives you the ability to create your scenes, as big as you want, without any limits.

“floating point fix systems” removes restrictions end errors caused by huge coordinates in the engine. with “local area updater” you can work on a small, local area without loading the entire world. easily add these changes to the world by clicking just 2 buttons. this means you will not have unity editor slow down, because of loading entire world into the editor scene.

u can also separate your world into layers such as lighting, AI, Geometry far in the distance, Geometry Near, Trees, etc. ring streaming gives you the ability to replace objects in the distance with lower level of detail models. you are able to replace detailed terrain with lower poly mesh when it is far in the distance. collider streaming gives you the ability to load buildings, rooms, caves, interiors, etc, when you are close enough to them and when you enter/hit the collider or portal which triggers them.

world streamer is a perfect solution for teams that work on the same project at the same time, even in the same area. team members are able to work on separate areas of the world and then save their changes into the world when ready using local area updater. team members can work in the same area at the same time as well, by working different layers.

===========================================================================

chapter 1——idea of streaming —— very important

the idea is pretty simple. your huge world will be split into smaller parts by our tools. These parts are elements on a virtual grid. World Streamer will load these virtual grid elements when an “object” (player or other object) is close enough to the grid element. You can also load grid elements when the player hits a collider (collider streaming).

In most cases, we recommend to use the player as this “object”, not the camera. For RTS games or 2D platform games, setting the camera as the followed object is a better solution. Because we save everything as a scene, you can still use lightmaps, navmesh, GI, batching, baked colliders and everything that you can save in a scene. You could use a custom culling solution or cull objects by removing them from memory and the scene, when they are far enough away or behind wall. For an example of objects culled by streaming, you could load small stones only when you are really close to them or use collider streaming to load building interior only when you are on the correct floor or close to the entrance.

with world streamer you are able to replace grid elements with grid elements from another layer depending on distance. you can use this as a LOD solution for objects that unity’s LOD system does not support or for objects where LOD0 is really heavy——like unity terrain objects. you can replace your unity terrain with a simple mesh when it is at a far distance, this will greatly reduce culling and refresh operations (CPU) and memory usage. unity terrains can be very heavy so this can save hundreds MB of RAM. more info about working with unity terrains, objects, etc are found further in this manual.

World Streamer contains has the ability to stream in layers, which means that you can put different objects on different layers. For example, you could have a layer for terrain, one for trees, one for rocks, and one for sounds effects. Each layer will load objects independently.

A good way to use layers is to group objects together by size and load only small objects near the player, but have larger objects loaded in the distance. For example, buildings which need to be seen in the distance can be on their own layer, medium sized details like boxes and lanterns could be added to a ‘Medium’ distance layer, while smaller details like papers, dirt, and small stones are added to their own layer as well. For the terrain, a layer containing a detailed terrain can be used when the player is near and when the player is far away from the terrain, a separate layer with a low poly mesh of the terrain can be shown.

The basic idea is to split your world into many virtual grid elements in many different layers and then load them asynchronously without any CPU impact to save a lot of performance in CPU, GPU, RAM, VRAM.

===========================================================================
chapter 2——world system project requirement

You must add the following tags to the project: SceneStreamer, WorldMover, ColliderStreamerManager.

SceneStreamer
The SceneStreamer tag must be assigned to any GameObject that uses a Streamer.cs script.
The _Streamer_Major and _Streamer_Minor prefabs must have the SceneStreamer tag.

WorldMover
The WorldMover tag must be assigned to any GameObject that uses a WorldMover.cs Script.
The _World_Mover prefab must have the WorldMover tag.

ColliderStreamerManager
The ColliderStreamerManager tag must be assigned to any GameObject that uses a ColliderStreamerManager.cs script.
The _Collider_Streamer_Manager prefab must have the ColliderStreamerManager tag.

these streamer system prefabs must all have tags! if you do not add them, world streamer can not load anything at build or even in the editor. you will get many errors if you have not added the required tags. always check tags in new project.

准备一个工作场景,它是你要进行分割的原始场景
to start you need work scene where you hold all models that will be streamed from the disc. this scene or scenes will be able to split your world into virtual grid elements, multiple layers. if you have unity 5.3+, this scene could be used once because whole work could be continued on split scenes. of course u could recreate work scene again from split scenes by local scene updater tool.

all models and objects in work scene should be unpacked from catalogues in hierarchy. All info about how streamer holds, recognizes your models/objects, terrains you will find in manual in proper section. Don’t worry there will be no mess after virtual grid creation.

To stream you need “Gameplay” scene where you hold: player, direction light, camera, your UI, everything else (world) could be loaded from the disc. You will put streamer prefabs there and they will load everything that you want. Please prepare it before you start. You will fill streamer prefabs when your world will be split in many parts.

===========================================================================
chapter 3——quick start ——Test Scene

  1. You must configure the proper Tags to use the demo scenes please check “2 World Streamer project requirements.” section.
    2 Open any Gameplay world streamer demo scene. “WorldStreamer” catalog→"Tutorial Work and Game Scenes"→Choose Game scene.
    Advanced scenes use ring streaming (terrains), collider streaming and looped unity terrains, they are more spectacular. In our example we will show Advanced Scene.

3 Click on each streamer object in your hierarchy and click “add to build settings” button. We must have all grid elements (scenes) in our build settings. Without this we could not load them.

4 If you have opened simple scene instead of advanced you can skip this step.
As we also stream models by collider streaming in our Advanced Game scene, we have to add our scene with building interior to build settings so:“WorldStreamer” catalog → “SplitScenes” → “ColliderScenes” → “Prefabs” →Medium_Collider_Streaming_Floor_0_stream
Then you have to click add to build settings button. Do the same operations for “Floor_1”, “Floor_2”.

Of course there is easier, more automatic and faster way to do this but now we want to show some basic information about how system works.

5 Hit play and run around, take a look how everything is streamed.

World Streamer学习1相关推荐

  1. World Streamer学习4

    打开场景:Tutorial World Streamer - Advanced_Game_Float_Fix_Looped_Safe_Place 只显示一个: 选中这个物体之后: 提示将这个strea ...

  2. World Streamer学习2

    reference--World Streamer Manual.pdf chapter4--world streamer details and settings Streaming solutio ...

  3. World Streamer学习5

    上一个篇的最后,我们已经彻底被源码中的计算物体坐标的地方搞晕了,这个真的不太好懂,幸好的断点下的地方比较准确,才促使这个问题得以解决. 首先,我们在这个地方输出一个log: 可以看到当角色的位置达到了 ...

  4. 计算机操作系统 - 目录1

    目录 概述 进程管理 死锁 内存管理 设备管理 链接 参考资料 Tanenbaum A S, Bos H. Modern operating systems[M]. Prentice Hall Pre ...

  5. 计算机操作系统 - 目录

    计算机操作系统 概述 进程管理 死锁 内存管理 设备管理 链接 参考资料 Tanenbaum A S, Bos H. Modern operating systems[M]. Prentice Hal ...

  6. 香侬科技Service Streamer:加速深度学习Web服务、极大提高GPU利用率。| 百万人学AI评选

    2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...

  7. FFMPEG开源音视频项目学习汇总

    ~非常感谢雷霄骅老师的无私帮助,本文转载自:http://blog.csdn.net/leixiaohua1020/article/details/42658139~       本文汇总一下自己视音 ...

  8. Openvino学习之openvino2022.1版安装配置

    Openvino学习之openvino2022.1版安装配置 文章目录 Openvino学习之openvino2022.1版安装配置 前言 一.从安装角度看新版本的变化 二.安装 1.官网地址 2.安 ...

  9. ethereum-etl学习3

    ethereum-etl学习3 > ethereumetl stream --start-block 500000 -e block,transaction,log,token_transfer ...

最新文章

  1. 解决Undefined function or method 'vgg_kmiter' for input arguments of type 'double'.
  2. Struts2 配置文件手册
  3. 关于使用scrapy框架编写爬虫以及Ajax动态加载问题、反爬问题解决方案
  4. java 图片处理 图片缩略图,java怎么生成图片缩略图,缩小图片,高清图片缩小
  5. c语言找出公共子字符串,经典C语言面试题:求解最大公共子串
  6. intent几种传值数组、对象、集合(Array,Object,List)
  7. oracle 拉文件进ubuntu,ubuntu 18-20 安装oracle java 打开jnlp文件
  8. LwIP移植准备工作
  9. java中双引号和单引号_Java中的单引号和双引号之间有区别吗?
  10. php 数据映射,数据映射模式(Data Mapper)
  11. 通过jQuery设置全局Ajax加载时呈现Loading
  12. 最优矩阵链乘(动态规划)
  13. python清除数据库表命令_数据库----Python操作数据库
  14. 在Kali中使用Ettercap进行ARP欺骗
  15. 计算机pc610台湾研华,IPC610-研华610工控机配置
  16. html5画布动态时钟,HTML5之canvas绘制动态时钟
  17. 基于javaweb+jsp房屋租赁系统(java+SSM+jsp+mysql+maven)
  18. [Matlab] subs 函数 将符号变量代入符号表达式不需要加引号
  19. U盘文件夹为空恢复方法,恢复U盘的空白文件夹
  20. 在终端下调用IGV进行截图

热门文章

  1. Halcon消除畸变
  2. mysql禁止其他IP访问
  3. GRAIL Efficient Time Series Representation Learning论文阅读笔记(一)
  4. 传奇架设需要准备以下条件
  5. 电商平台接入第三方支付接口之微信支付接入订单系统
  6. C语言输入三个数字判断大小
  7. 联想a670t提示android,联想A670t线刷刷机教程
  8. 跟着团子学SAP PS:企业如何依托信息化工具构建成熟的项目成本管理体系
  9. 云计算原理与实践 第一章、云计算概述
  10. CentOS 上 Tomcat 安装及配置