其他 摄像机 Cameras

[ 复制链接 ]







Rank: 2Rank: 2

2 小时
2014-8-19 17:00:00 显示全部楼层 阅读模式


您需要 登录 才可以下载或查看,没有帐号?注册帐号


Just as cameras are used in films to display the story to the audience, Cameras in Unity are used to display the game world to the player. You will always have at least one camera in a scene, but you can have more than one. Multiple cameras can give you a two-player splitscreen or create advanced custom effects. You can animate cameras, or control them with physics. Practically anything you can imagine is possible with cameras, and you can use typical or unique cameras to fit your game's style.


The remaining text is from the Camera Component reference page.

下面的文字来自于Camera Component reference

Camera 摄像机

Cameras are the devices that capture and display the world to the player. By customizing and manipulating cameras, you can make the presentation of your game truly unique. You can have an unlimited number of cameras in a scene. They can be set to render in any order, at any place on the screen, or only certain parts of the screen.


Unity's flexible Camera object 可调整相机对象

Properties 属性

Clear Flags 清除标记
Determines which parts of the screen will be cleared. This is handy when using multiple Cameras to draw different game elements.

Background 背景
Color applied to the remaining screen after all elements in view have been drawn and there is no skybox.

Culling Mask 剔除遮罩
Include or omit layers of objects to be rendered by the Camera. Assign layers to your objects in the Inspector.

Projection 投射
Toggles the camera's capability to simulate perspective.

Perspective 透视
Camera will render objects with perspective intact.

Orthographic 正交
Camera will render objects uniformly, with no sense of perspective.

Size 大小
(when Orthographic is selected)

The viewport size of the Camera when set to Orthographic.

Field of view 视野范围
Width of the Camera's view angle, measured in degrees along the local Y axis.

Clipping Planes 剪裁平面
Distances from the camera to start and stop rendering.

Near 近点
The closest point relative to the camera that drawing will occur.

Far 远点
The furthest point relative to the camera that drawing will occur.

Normalized View Port Rect
Four values that indicate where on the screen this camera view will be drawn, in Screen Coordinates (values 0-1).

The beginning horizontal position that the camera view will be drawn.

The beginning vertical position that the camera view will be drawn.

W (Width) 宽度
Width of the camera output on the screen. 相机输出到屏幕上的宽度

H (Height) 高度
Height of the camera output on the screen. 相机输出到屏幕上的高度

Depth 深度
The camera's position in the draw order. Cameras with a larger value will be drawn on top of cameras with a smaller value.

Rendering Path
Options for defining what rendering methods will be used by the camera.

Use Player Settings
This camera will use whichever Rendering Path is set in the Player Settings.

Vertex Lit 顶点光照
All objects rendered by this camera will be rendered as Vertex-Lit objects.

Forward 快速渲染
All objects will be rendered with one pass per material, as was standard in Unity 2.x.

Deferred Lighting 延迟照明
(Unity Pro only)
All objects will be drawn once without lighting, then lighting of all objects will be rendered together at the end of the render queue.

Target Texture 目标纹理
(Unity Pro/Advanced only)
Reference to a Render Texture that will contain the output of the Camera view. Making this reference will disable this Camera's capability to render to the screen.
请参考Render Texture,该页包含了相机视图的输出。这个引用属性将禁用相机渲染到屏幕的功能。

Details 细节

Cameras are essential for displaying your game to the player. They can be customized, scripted, or parented to achieve just about any kind of effect imaginable. For a puzzle game, you might keep the Camera static for a full view of the puzzle. For a first-person shooter, you would parent the Camera to the player character, and place it at the character's eye level. For a racing game, you'd likely want to have the Camera follow your player's vehicle.


You can create multiple Cameras and assign each one to a different Depth. Cameras are drawn from low Depth to high Depth. In other words, a Camera with a Depth of 2 will be drawn on top of a Camera with a depth of 1. You can adjust the values of the Normalized View Port Rectangleproperty to resize and position the Camera's view onscreen. This can create multiple mini-views like missile cams, map views, rear-view mirrors, etc.


Render Path 渲染路径

Unity supports different Rendering Paths. You should choose which one you use depending on your game content and target platform / hardware. Different rendering paths have different features and performance characteristics that mostly affect Lights and Shadows.
The rendering Path used by your project is chosen in Player Settings. Additionally, you can override it for each Camera.


For more info on rendering paths, check the rendering paths page.

更多渲染路径的信息,请查看rendering paths page。

Clear Flags 清除标记

Each Camera stores color and depth information when it renders its view. The portions of the screen that are not drawn in are empty, and will display the skybox by default. When you are using multiple Cameras, each one stores its own color and depth information in buffers, accumulating more data as each Camera renders. As any particular Camera in your scene renders its view, you can set the Clear Flags to clear different collections of the buffer information. This is done by choosing one of the four options:


Skybox 天空盒

This is the default setting. Any empty portions of the screen will display the current Camera's skybox. If the current Camera has no skybox set, it will default to the skybox chosen in the Render Settings (found in Edit->Render Settings). It will then fall back to the Background Color. Alternatively a Skybox component can be added to the camera. If you want to create a new Skybox, you can use this guide.

这是默认设置。在屏幕上空的部分将显示当前相机的天空盒。如果当前相机没有设置天空盒,它会默认使用渲染设置(在Edit->Render Settings里)中选择的天空盒。然后它将退回使用背景颜色。另外天空盒组件可以添加到相机上。如果你想创建一个新的天空盒,您可以使用本指南。

Solid Color 纯色

Any empty portions of the screen will display the current Camera's Background Color.


Depth Only 仅深度

If you wanted to draw a player's gun without letting it get clipped inside the environment, you would set one Camera at Depth 0 to draw the environment, and another Camera at Depth 1 to draw the weapon alone. The weapon Camera's Clear Flags should be set to to depth only. This will keep the graphical display of the environment on the screen, but discard all information about where each object exists in 3-D space. When the gun is drawn, the opaque parts will completely cover anything drawn, regardless of how close the gun is to the wall.


The gun is drawn last, after clearing the depth buffer of the cameras before it

Don't Clear 不清除

This mode does not clear either the color or the depth buffer. The result is that each frame is drawn over the next, resulting in a smear-looking effect. This isn't typically used in games, and would likely be best used with a custom shader.


Clip Planes 剪裁平面

The Near and Far Clip Plane properties determine where the Camera's view begins and ends. The planes are laid out perpendicular to the Camera's direction and are measured from the its position. The Near plane is the closest location that will be rendered, and the Far plane is the furthest.


The clipping planes also determine how depth buffer precision is distributed over the scene. In general, to get better precision you should move the Near plane as far as possible.


Note that the near and far clip planes together with the planes defined by the field of view of the camera describe what is popularly known as the camera frustum. Unity ensures that when rendering your objects those which are completely outside of this frustum are not displayed. This is called Frustum Culling. Frustum Culling happens irrespective of whether you use Occlusion Culling in your game.


For performance reasons, you might want to cull small objects earlier. For example, small rocks and debris could be made invisible at much smaller distance than large buildings. To do that, put small objects into a separate layer and setup per-layer cull distances usingCamera.layerCullDistances script function.

出于性能原因,你可能需要尽早剔除小物体。例如,小石块和碎片相对于大型建筑会在更短距离内不可见。要做到这一点,将小物体放入一个隔离层(separate layer)并使用Camera.layerCullDistances脚本函数设置每一层的剔除距离。

Culling Mask 剔除遮罩

The Culling Mask is used for selectively rendering groups of objects using Layers. More information on using layers can be found here.


Commonly, it is good practice to put your User Interface on a different layer, then render it by itself with a separate Camera set to render the UI layer by itself.


In order for the UI to display on top of the other Camera views, you'll also need to set the Clear Flags to Depth only and make sure that the UI Camera's Depth is higher than the other Cameras.

为了使UI显示在其他相机视角的顶部,你还需要设置清除标记为Depth only,并确保UI相机的深度比其他相机高。

Normalized Viewport Rectangle 标准视口矩形

Normalized Viewport Rectangles are specifically for defining a certain portion of the screen that the current camera view will be drawn upon. You can put a map view in the lower-right hand corner of the screen, or a missile-tip view in the upper-left corner. With a bit of design work, you can use Viewport Rectangle to create some unique behaviors.


It's easy to create a two-player split screen effect using Normalized Viewport Rectangle. After you have created your two cameras, change both camera H value to be 0.5 then set player one's Y value to 0.5, and player two's Y value to 0. This will make player one's camera display from halfway up the screen to the top, and player two's camera will start at the bottom and stop halfway up the screen.


Two-player display created with Normalized Viewport Rectangle

Orthographic 正交

Marking a Camera as Orthographic removes all perspective from the Camera's view. This is mostly useful for making isometric or 2D games.


Note that fog is rendered uniformly in orthographic camera mode and may therefore not appear as expected. Read more about why in thecomponent reference on Render Settings.


Perspective camera. 透视相机

Orthographic camera. Objects do not get smaller with distance here!

Render Texture 渲染纹理

This feature is only available for Unity Advanced licenses . It will place the camera's view onto a Texture that can then be applied to another object. This makes it easy to create sports arena video monitors, surveillance cameras, reflections etc.

此功能仅适用于Unity Pro版,它将放置相机的视图到一个纹理上,该纹理可以被应用到另一个对象。这使得它可以方便地创建体育场大屏幕、监控摄像机、倒影等等效果。

A Render Texture used to create a live arena-cam

Hints 提示
  • Cameras can be instantiated, parented, and scripted just like any other GameObject.
  • To increase the sense of speed in a racing game, use a high Field of View.
  • Cameras can be used in physics simulation if you add a Rigidbody Component.
  • There is no limit to the number of Cameras you can have in your scenes.
  • Orthographic cameras are great for making 3D user interfaces
  • If you are experiencing depth artifacts (surfaces close to each other flickering), try setting Near Plane to as large as possible.
    如果你正遭遇深度问题(表面互相接近闪烁),尝试设置Near Plane尽可能大。
  • Cameras cannot render to the Game Screen and a Render Texture at the same time, only one or the other.
  • Pro license holders have the option of rendering a Camera's view to a texture, called Render-to-Texture, for even more unique effects.
  • Unity comes with pre-installed Camera scripts, found in Components->Camera Control. Experiment with them to get a taste of what's possible.
    Unity预装了相机脚本,在Components->Camera Control中可以找到。用它们来实验以体会"一切皆有可能"。

unity camera follow script;unity 天空盒添加;unity games 3d;unity帧率低;unity 天空盒制作;first person shooter unity;game design unity;unity 5 first person;unity 天空盒 移动;unity 获得 屏幕 尺寸;unity 是否 视野范围;unity物体尺寸;unity相机不跟随转动;unity如何实现分屏;clipping planes unity;unity切换场景 u;2d camera follow script unity;unity添加天空盒;3d unity games;unity 3d games;unity帧率变低;unity如何制作天空盒;unity first person shooter;unity game design;unity first person;unity怎么加天空盒;unity天空盒;unity不同屏幕尺寸;unity屏幕尺寸;unity 视野范围;unity 视野;unity当在视野内;unity 物体的尺寸;unity之相机跟随;unity相机 跟随;unity怎么相机跟随;unity 左右分屏;unity分屏;unity clipping planes;unity 切换场景 已打开ui;unity 半透明 shader;unity shader 半透明;unity透明shader;unity camera orthographic size;unity skybox 无法使用;unity 5 skybox;unity 5 occlusion culling;unity get script from gameobject;unity render setting;unity 5.1 render setting;unity 5 render setting;unity world to screen;unity 阴影shader;unity racing games;camera follow object unity;unity split;unity停止工作;unity 2d move object;unity 3d racing games;unity camera clip;unity 不显示阴影;unity 地图制作;unity制作小地图;unity 5 add skybox;unity 雾;unity 雾的限制;ui camera unity;layer mask unity;gun script unity;culling mode unity;unity 多相机渲染;unity多个相机渲染;unity 5 2d lighting;unity video;unity透明遮罩;unity change shader color;unity 人称射击;unity camera follow script;unity 5 fog;unity 5.3 fog;unity shader pass;unity depth buffer;unity 2d add background;unity display text;unity多个界面切换;unity设计模式;first person camera unity;unity ui不显示;unity 5 change skybox;camera script unity;unity 文字逐渐显示;ui text unity 5;2d camera follow unity;unity 第一人称视角;unity shader 传参数;unity move gameobject;unity 摄像机 跟随;unity camera.render;unity render camera;unity in design;unity设置天空盒;unity相机切换;unity text component;unity physics 2d;games made with unity 5

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号