AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

backfaceCulling

简介

backfaceCullingYuka 三维引擎中的一个选项,用于渲染网格几何图形时对面向相机背面的面进行剔除,优化渲染性能。

用法

MeshGeometry 构造函数中有 options 参数,其中可以包含 backfaceCulling 选项,它是一个布尔值(Boolean)类型的值,它的默认值是 true。当设置为 true 时,网格几何图形中的背面将不会被渲染,只渲染正面的面。

以下是示例代码:

import { MeshGeometry } from 'yuka';

const geometry = new MeshGeometry( {
    backfaceCulling: true // 开启背面剔除
} );

注意事项

  • backfaceCulling 设置为 false 时,将会同时渲染出正面和背面两面,导致渲染性能降低。
  • 需要注意的是,使用 backfaceCulling 后,带透明效果的面可能会出现渲染异常,需要特殊处理。
  • backfaceCulling 只适用于使用三角形片元的情况,对于线框或点云而言是无效的。

结语

backfaceCulling 是一个优化渲染性能的重要选项,它可以有效地减少不必要的渲染负载,同时保证渲染效果的正常展示。在应用 MeshGeometry 构造三维几何图形时,建议根据实际情况设置 backfaceCulling 选项来进行优化。