沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


scripting:client:camera

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:client:camera [2023/11/29 19:33] bibiboxsscripting: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鸟瞰视角<br />示例:孤胆枪手、Moba类游戏、视角相对固定(可调) | `FocusPos`基于世界地面                             |
 +| 1    | 第一人称视角<br />示例:未转变者、我的世界                   | 此视角因效果比较特殊,所以许多属性修改并不会起作用 |
 +| 2    | 第三人称视角<br />示例:绝地求生、GTA系列、视角相对自由      | `FocusPos`基于屏幕中心(准星)                     |
 +
 +```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: bool Camera.IsInWater: bool
 ``` ```
 +
 +
 +
 +### Camera.LookAtMode
 +
 +> 获取相机是否正在`LookAt`焦点模式(使用`StartLookAt()`激活)。
 +
 +```javascript
 +Camera.LookAtMode: bool
 +```
 +
  
  
行 261: 行 339:
 > >
 > 如果相机漫游点数量>0,相机将进入漫游模式,将按照漫游点坐标池循环移动相机(循环自动前往下一个点),通常至少添加2个点以上来使用。 > 如果相机漫游点数量>0,相机将进入漫游模式,将按照漫游点坐标池循环移动相机(循环自动前往下一个点),通常至少添加2个点以上来使用。
->  +
-> **注意:相机漫游运动仍然使用`Target`焦点跟随的方式,==因此漫游坐标并非实际相机本地位置,而是相机看向的【焦点位置】。==**+> **注意:相机漫游运动仍然使用`Target`焦点跟随的方式,==因此漫游坐标并非实际相机本地位置,而是相机看向的【焦点位置】,`Distance`等属性仍然是有效的。==**
  
 ```javascript ```javascript
行 419: 行 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()
 +```
 +
 +
  
  
scripting/client/camera.1701257580.txt.gz · 最后更改: 2023/11/29 19:33 由 bibiboxs