loadCamera method
Camera?
loadCamera(
- dynamic cameraIndex
Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras @param {number} cameraIndex @return {Promise
Implementation
Camera? loadCamera(cameraIndex) {
Camera? camera;
Map<String, dynamic> cameraDef = json["cameras"][cameraIndex];
final params = cameraDef[cameraDef["type"]];
if (params == null) {
console.warning('GLTFLoader: Missing camera parameters.');
return null;
}
if (cameraDef["type"] == 'perspective') {
camera = PerspectiveCamera(
(params["yfov"].toDouble() as double).toDeg(),
params["aspectRatio"]?.toDouble() ?? 1.0,
params["znear"]?.toDouble() ?? 1.0,
params["zfar"]?.toDouble() ?? 2e6*1.0
);
} else if (cameraDef["type"] == 'orthographic') {
camera = OrthographicCamera(
params["xmag"] == null?-1.0:-params["xmag"]?.toDouble(),
params["xmag"]?.toDouble(),
params["ymag"]?.toDouble(),
params["ymag"] == null?-1.0:-params["ymag"]?.toDouble(),
params["znear"]?.toDouble(),
params["zfar"]?.toDouble()
);
}
if (cameraDef["name"] != null){
camera?.name = createUniqueName(cameraDef["name"]);
}
assignExtrasToUserData(camera, cameraDef);
return camera;
}