npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@cve-ts/features

v0.2.4

Published

This tool should help get you started developing with Geometry Features in UE5.

Downloads

27

Readme

CVE Features

This tool should help get you started developing with Geometry Features in UE5.

Base Feature | 基础要素

interface Feature {
  Coordinates: Coordinates | Coordinates[]
  IsHeightBasedSurface: boolean
  ID: string
  Name: string
  Offset: Offset
  Params: CustomParams
  Style: 'Custom'
  Tag: string
}

ID / Name / Tag

  • string
  • ID / 名称 / 标签

Coordinates

  • [longitude: number, latitude: number, altitude?: number]
  • 若未指定 altitude 值,则取默认值 0
  • 当未指定 altitude 值时,建议将参数 isHeightBasedSurface 设置为 true,并结合参数 offset 使用
  • 经纬度坐标

Offset

  • [x: number, y: number, z: number]
  • 基于坐标的偏移量(米),其中 z 值代表绘制的平面所处高度

IsHeightBasedSurface

  • boolean
  • 指示 Feature 生成时,其高度是否基于场景上表面
  • 若为 true,则高度为各点平面坐标处与场景上表面的交点加上 offset 参数的 z 值

Style

  • Custom
  • 不同要素 Style 不同,但都支持 Custom

Params

  • object
  • 不同 Style 对应的参数不同
interface CustomParams {
  Style: string
}

Point | 点

interface Point<S extends PointStyle> {
  Coordinates: Coordinates
  IsHeightBasedSurface: boolean
  ID: string
  Name: string
  Offset: Offset
  Params: PointParamsMap[S]
  Style: S
  Tag: string
}
type PointStyle = 'Custom' | 'Label01' | 'Label02' | 'Label03' | 'Marker01' | 'Marker02'

Label01 / Label02/ Label03

interface Label01Params {
  FadeEndDistance: number
  FadeStartDistance: number
  FontSize: number
  ImageBackgroundColor: string
  ImageNormal: string
  ImageSize: [sizeX: number, sizeY: number]
  TargetLength: number
}

interface Label02Params {
  FadeEndDistance: number
  FadeStartDistance: number
  FontSize: number
  ImageHover: string
  ImageNormal: string
  ImageSize: [sizeX: number, sizeY: number]
  TargetLength: number
}

interface Label03Params {
  FadeEndDistance: number
  FadeStartDistance: number
  FontSize: number
  ImageHover: string
  ImageNormal: string
  IsFixedLabelWidth: boolean
  LabelWidth: number
  TargetLength: number
}

| Key | Description | Value | Default | | :------------------- | :------------------------------------- | :-------------- | -------- | | FadeEndDistance | 图片结束淡化/消失的距离(米) | [0, n) | - | | FadeStartDistance | 图片开始淡化的距离(米) | (0, n) | - | | FontSize | 标签文字大小 | (0, n) | 24 | | ImageBackgroundColor | 图标背景色 | string of image | - | | ImageHover | 处于 Hover 状态时的图标 | string of image | - | | ImageNormal | 默认图标 | string of image | - | | ImageSize | 图标大小 | [sizeX, sizeY] | [64, 64] | | IsFixedLabelWidth | 指示标签宽度是否固定 | boolean | false | | LabelWidth | 标签宽度 | (0, n) | 120 | | TargetLength | 点击 POI 点后摄像机到 POI 点的距离(米) | (0, n) | - |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'
  • Image 资源字符串模式1: 图片 url,字符串必须以“http”开头
  • Image 资源字符串模式2: 图片 base64 编码,字符串必须以“data:”开头
  • Image 资源字符串模式3: 约定好的虚幻引擎图片资源名称
  • Image 属性未设置,图标则为默认样式
  • IsFixedLabelWidth 为 true 时 LabelWidth 才生效
  • LabelWidth 默认值为 120

Marker01 / Marker02

interface Marker01Params {
  Color: string
  DurationPerBounce: number
  Emissive: number
  HeightPerBounce: number
  RotationPerSecond: number
}

interface Marker02Params {
  CircleAmount: number
  Color: string
  Duration: number
  Emissive: number
  Size: number
}

| Key | Description | Value | | :---------------- | :--------------- | :-------------- | | CircleAmount | 波纹个数 | [0, n) | | Color | 颜色 | string of RGBA | | Duration | 周期持续时间 | (0, n) | | DurationPerBounce | 弹跳周期(秒) | [0, n) | | Emissive | 自发光强度 | (1, 100] | | HeightPerBounce | 弹跳高度(米) | [0, n) | | RotationPerSecond | 每秒旋转度数(度) | [0, n) | | Size | 直径大小(米) | (0, n) |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'

Polyline | 线

interface Polyline<S extends PolylineStyle> {
  Coordinates: Coordinates[]
  IsHeightBasedSurface: boolean
  IsTraceSurface: boolean
  ID: string
  Name: string
  Offset: Offset
  Params: PolylineParamsMap[S]
  Style: T
  Tag: string
}
type PolylineAnimate = 'Immediately' | 'StartToEnd' | 'EndToStart' | 'MiddleToSide'
type PolylineDirection = 'Horizontal' | 'Vertical'
type PolylineStyle = 'Arrow01' | 'Custom' | 'Dash01' | 'Gradient01' | 'OD01' | 'OD02' | 'Solid01'

IsTraceSurface 说明:

  • boolean
  • 指示 Polyline 生成时,两点之间的连线是否沿着于地表
  • 若为 true,且 IsHeightBasedSurface 为 true,生成的线将以 offset 参数的 z 值高度紧贴地表
  • 插值间隔在 params 参数中的 InterpolationDistance 设置,默认为 1 米

Arrow01

interface Arrow01Params {
  Animate: PolylineAnimate
  AnimateSpeed: number
  AnimateDuration: number
  Color: string
  FlowSpeed: number
  InterpolationDistance: number
  IsLoop: boolean
  Smoothness: number
  Width: number
}

| Key | Description | Value | Default | | :-------------------- | :------------------------------- | :-------------- | ------- | | Animate | Polyline 创建后的显示动画 | PolylineAnimate | - | | AnimateSpeed | 动画速度(米/秒) | (0, n) | - | | AnimateDuration | 动画持续时间 | (0, n) | - | | Color | 颜色 | string of RGBA | - | | FlowSpeed | 流动速度 | (-n, n) | - | | InterpolationDistance | 浮于表面生成时的插值计算距离(米) | (0, n) | - | | IsLoop | 是否首尾相连 | boolean | false | | Smoothness | 平滑度 | (0, n) | 100 | | Width | 宽度(米) | (0, n) | - |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'
  • FlowSpeed 为 0 时不动,负值时反方向流动
  • Smoothness 值越小 Polyline 越平滑,但性能越差

Dash01

interface Dash01Params {
  Animate: PolylineAnimate
  AnimateSpeed: number
  AnimateDuration: number
  Color: string
  Color2: string
  FlowSpeed: number
  InterpolationDistance: number
  IsLoop: boolean
  Ratio: number
  Scale: number
  Smoothness: number
  Width: number
}

| Key | Description | Value | Default | | :-------------------- | :------------------------------- | :-------------- | ------- | | Animate | Polyline 创建后的显示动画 | PolylineAnimate | - | | AnimateSpeed | 动画速度(米/秒) | (0, n) | - | | AnimateDuration | 动画持续时间 | (0, n) | - | | Color | 颜色1 | string of RGBA | - | | Color2 | 颜色2 | string of RGBA | - | | FlowSpeed | 流动速度 | (-n, n) | - | | InterpolationDistance | 浮于表面生成时的插值计算距离(米) | (0, n) | - | | IsLoop | 是否首尾相连 | boolean | false | | Ratio | 虚实比例 | (0, n) | - | | Scale | 度缩放系数/贴图缩放比例 | (0, n) | - | | Smoothness | 平滑度 | (0, n) | 100 | | Width | 宽度(米) | (0, n) | - |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'
  • FlowSpeed 为 0 时不动,负值时反方向流动
  • Smoothness 值越小 Polyline 越平滑,但性能越差

Gradient01

Gradient01Params {
  Animate: PolylineAnimate
  AnimateSpeed: number
  AnimateDuration: number
  Color: string
  Direction: PolylineDirection
  InterpolationDistance: number
  IsLoop: boolean
  Smoothness: number
  Width: number
}

| Key | Description | Value | Default | | :-------------------- | :------------------------------- | :-------------- | ------- | | Animate | Polyline 创建后的显示动画 | PolylineAnimate | - | | AnimateSpeed | 动画速度(米/秒) | (0, n) | - | | AnimateDuration | 动画持续时间 | (0, n) | - | | Color | 颜色 | string of RGBA | - | | Direction | 指示 Polyline 是水平还是直立 | boolean | - | | InterpolationDistance | 浮于表面生成时的插值计算距离(米) | (0, n) | - | | IsLoop | 是否首尾相连 | boolean | false | | Smoothness | 平滑度 | (0, n) | 100 | | Width | 宽度(米) | (0, n) | - |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'
  • Smoothness 值越小 Polyline 越平滑,但性能越差

OD01 / OD02

interface OD01Params {
  Animate: PolylineAnimate
  AnimateSpeed: number
  AnimateDuration: number
  Color: string
  Color2: string
  Curvature: number
}

interface OD02Params {
  Animate: PolylineAnimate
  AnimateSpeed: number
  AnimateDuration: number
  Color: string
  Curvature: number
}

| Key | Description | Value | | :-------------- | :------------------------ | :-------------- | | Animate | Polyline 创建后的显示动画 | PolylineAnimate | | AnimateSpeed | 动画速度(米/秒) | (0, n) | | AnimateDuration | 动画持续时间 | (0, n) | | Color | 颜色1 | string of RGBA | | Color2 | 颜色2 | string of RGBA | | Curvature | 曲率 | (0, n) |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'

Solid01

interface Solid01Params {
  Animate: PolylineAnimate
  AnimateSpeed: number
  AnimateDuration: number
  Color: string
  InterpolationDistance: number
  IsLoop: boolean
  Smoothness: number
  Width: number
}

| Key | Description | Value | Default | | :-------------------- | :------------------------------- | :-------------- | ------- | | Animate | Polyline 创建后的显示动画 | PolylineAnimate | - | | AnimateSpeed | 动画速度(米/秒) | (0, n) | - | | AnimateDuration | 动画持续时间 | (0, n) | - | | Color | 颜色 | string of RGBA | - | | InterpolationDistance | 浮于表面生成时的插值计算距离(米) | (0, n) | - | | IsLoop | 是否首尾相连 | boolean | false | | Smoothness | 平滑度 | (0, n) | 100 | | Width | 宽度(米) | (0, n) | - |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'
  • Smoothness 值越小 Polyline 越平滑,但性能越差

Polygon | 面

interface Polygon<S extends PolylineStyle> {
  Coordinates: Coordinates[]
  IsHeightBasedSurface: boolean
  ID: string
  Name: string
  Offset: Offset
  Params: PolygonParamsMap[S]
  Style: S
  Tag: string
}
type PolygonStyle = 'Custom' | 'Solid01' | 'Stripe01'

Solid01

interface Solid01Params {
  Color: string
  Emissive: number
}

Stripe01

interface Stripe01Params {
  Angle: number
  Color: string
  Color2: string
  Emissive: number
  Ratio: number
  Scale: number
  Speed: number
}

| Key | Description | Value | | :---------------- | :--------------- | :-------------- | | Angle | 条纹角度(度) | [0, 360] | | Color | 颜色1 | string of RGBA | | Color2 | 颜色2 | string of RGBA | | Emissive | 自发光强度 | (1, 100] | | HeightPerBounce | 条纹间线宽比例 | (0, n) | | RotationPerSecond | 条纹宽度缩放系数 | (0, n) | | Size | 流动速度 | (-n, n) |

补充说明:

  • Color 16进制 RGBA 值: '#FF0000FF'
  • Color 标准 RGBA 值: 'rgba(255,0,0,0.5)'
  • Speed 为 0 时不动,负值时反方向流动