这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
scripting:client:camera [2023/11/29 17:25] – bibiboxs | scripting:client:camera [2024/05/16 03:53] (当前版本) – bibiboxs | ||
---|---|---|---|
行 7: | 行 7: | ||
## Property | ## Property | ||
+ | |||
+ | ### Camera.Mode | ||
+ | |||
+ | > 设置本地玩家游戏视角模式(默认2.5D、第三人称)。 | ||
+ | > | ||
+ | > 开发者可根据游戏需求,随时在代码中动态切换模式及配套的属性,需要注意的是,**不同视角模式可能有不同的属性控制,此文档中的属性并非完全适用于全部模式==(有些属性在特定模式下修改可能不会有效果)==。** | ||
+ | > | ||
+ | > **不同游戏视角会衍生不同的游戏效果,例如2.5D视角主要是平面射击,第三人称视角则是根据准星自由射击、交互等。** | ||
+ | > | ||
+ | > **==注意:此属性的修改会改变`Camera`其他属性,已达到最终的视角预制效果(例如`Distance\Sway\Offset`等属性),如果开发者有多个自定义视角的修改需求,建议将修改视角封装成多个方法(如下代码示例)。==** | ||
+ | |||
+ | ```javascript | ||
+ | Camera.Mode = 0; | ||
+ | ``` | ||
+ | |||
+ | | ID | 视角模式 | ||
+ | | ---- | ------------------------------------------------------------ | -------------------------------------------------- | | ||
+ | | 0 | 默认视角,2.5D鸟瞰视角< | ||
+ | | 1 | 第一人称视角< | ||
+ | | 2 | 第三人称视角< | ||
+ | |||
+ | ```javascript | ||
+ | // | ||
+ | function ChangeCameraMode0() | ||
+ | { | ||
+ | Camera.Mode = 1; | ||
+ | Camera.Sway = 0; | ||
+ | } | ||
+ | |||
+ | // | ||
+ | function ChangeCameraMode1() | ||
+ | { | ||
+ | Camera.Mode = 2; | ||
+ | Camera.Sway = 1.0; // | ||
+ | Camera.Offset = Vector(0.2, 0.8, 0); | ||
+ | } | ||
+ | ``` | ||
+ | |||
+ | |||
### Camera.Pos | ### Camera.Pos | ||
行 92: | 行 131: | ||
> 设置相机**向前跟随模式**开关,激活后相机将始终向`Target`正前角度靠近。 | > 设置相机**向前跟随模式**开关,激活后相机将始终向`Target`正前角度靠近。 | ||
> | > | ||
- | > **注意:此选项需要`Camera.Target`存在目标才有意义。** | + | > **注意:此选项需要`Camera.Target`存在目标才有意义。此功能只在`RoamPoint`或`BirdView`模式下生效。** |
+ | > | ||
+ | > **(如果希望在第一人称\第三人称使用类似功能,你可能找的是`Camera.AutoFix`)** | ||
```javascript | ```javascript | ||
行 106: | 行 147: | ||
```javascript | ```javascript | ||
Camera.AutoDistance = true; //bool | Camera.AutoDistance = true; //bool | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Camera.AutoFix | ||
+ | |||
+ | > 设置相机**自动修正功能**开关,此功能可以修正有关相机的便捷化效果。 | ||
+ | > | ||
+ | > **例如:玩家操作空闲超过X秒后,相机自动旋转至角色或载具的正前方。** | ||
+ | |||
+ | ```javascript | ||
+ | Camera.AutoFix = true; //bool | ||
``` | ``` | ||
行 144: | 行 197: | ||
> 设置相机跟随对象的距离,默认为`10.0`。 | > 设置相机跟随对象的距离,默认为`10.0`。 | ||
+ | > | ||
+ | > **注意:在开启`AutoDistance`属性后,因为其自动距离机制,可能不会完全按照`Distance`所设定的距离执行。** | ||
```javascript | ```javascript | ||
行 165: | 行 220: | ||
### Camera.FOV | ### Camera.FOV | ||
- | > 设置相机FOV(默认是60.0)。 | + | > 设置相机FOV(默认`70.0`)。 |
> | > | ||
```javascript | ```javascript | ||
- | Camera.FOV = 60.0; | + | Camera.FOV = 70.0; |
``` | ``` | ||
行 176: | 行 231: | ||
### Camera.SmoothTime | ### Camera.SmoothTime | ||
- | > 设置相机跟随对象的平滑(移动)间隔速度,默认为`0.2`(数值越小,速度越快)。 | + | > 设置相机跟随对象的平滑(移动)间隔速度,默认`0.2`(数值越小,速度越快)。 |
```javascript | ```javascript | ||
Camera.SmoothTime = 0.2; | Camera.SmoothTime = 0.2; | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Camera.Flip | ||
+ | |||
+ | > 设置相机临时反转模式,默认为`false`,此功能仅在**第一人称、第三人称**生效,并且可通过玩家【鼠标中键】**优先**开关。 | ||
+ | |||
+ | ```javascript | ||
+ | Camera.Flip = false; | ||
``` | ``` | ||
行 226: | 行 291: | ||
### Camera.LensLUT | ### Camera.LensLUT | ||
- | > 设置相机镜头调色主题,默认范围`0~10`,设置为`0`则表示默认主题。 | + | > 设置**相机镜头色彩主题**,默认范围`0~10`,设置为`0`则表示默认主题。 |
+ | > | ||
+ | > **注意:当脚本使用此属性修改色彩主题后,优先级将提升至最高,玩家通过游戏选项修改的主题将被忽略,直到下次加载新的世界场景。** | ||
```javascript | ```javascript | ||
行 241: | 行 308: | ||
Camera.IsInWater: | Camera.IsInWater: | ||
``` | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Camera.LookAtMode | ||
+ | |||
+ | > 获取相机是否正在`LookAt`焦点模式(使用`StartLookAt()`激活)。 | ||
+ | |||
+ | ```javascript | ||
+ | Camera.LookAtMode: | ||
+ | ``` | ||
+ | |||
行 261: | 行 339: | ||
> | > | ||
> 如果相机漫游点数量> | > 如果相机漫游点数量> | ||
+ | > | ||
+ | > **注意:相机漫游运动仍然使用`Target`焦点跟随的方式,==因此漫游坐标并非实际相机本地位置,而是相机看向的【焦点位置】,`Distance`等属性仍然是有效的。==** | ||
```javascript | ```javascript | ||
行 417: | 行 497: | ||
function Camera.Shock( strength: float = 1.0, time: float = 1.0 ) | function Camera.Shock( strength: float = 1.0, time: float = 1.0 ) | ||
``` | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Camera.StartLookAt() | ||
+ | |||
+ | > 激活相机`LookAt`观察焦点模式,可用于让相机从A点看向B点。 | ||
+ | > | ||
+ | > 注意:此方法改变的是相机本身,而不是传统的跟随焦点。 | ||
+ | |||
+ | ```javascript | ||
+ | function Camera.StartLookAt( start: Vector, end: Vector, time: float = 1.0 ) | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
+ | ### Camera.StopLookAt() | ||
+ | |||
+ | > 取消相机`LookAt`观察焦点模式。 | ||
+ | |||
+ | ```javascript | ||
+ | function Camera.StopLookAt() | ||
+ | ``` | ||
+ | |||
+ | |||
+ | |||
</ | </ |