奥利地时间,12月1日,klaus发布了新版的krpano 1.19-pr14版本:
官方更新要点英文原文如下,
● New Convert SPHERE CUBE Droplet.
● Color Profile support in the krpano Tools.
● iPhone X / Safe-Area support.
● Improved XML / Actions System.
● Automatic Fullscreen Mode for Android when rotating the device to landscape mode.
● Better, more natural non-distorted hotspot rendering for VR.
● Better GearVR support (e.g. for the Oculus Browser).
● Optionally zooming in VR.
● Several other improvements and fixes.
下面领主翻译一下:
● 全新界面的球面图与六面体转换工具。
● 在Krpano工具中加入对颜色配置文件嵌入的支持。
● iPhoneX 显示安全区域设置的支持(这个是因为刘海出现导致出现iphonex有所谓安全区域)。
● 改进的xml 及动作系统。
● Android横屏显示时就,启动自动全屏模式功能。
● 在VR中对distorted设置为false的热点,实现更好,更自然的渲染。
● 对gearvr更好的支持(例如支持Oculus Browser)。
● 可以实现在VR模式下随意缩放。
● 其他一些改进和修复。
详细更新说明如下:
一、改进 Tools / Droplets
● 新的转换工具:
● 全新的界面的球面图与六面体互转软件界面(之前没有界面,批处理命令弹出DOS命令窗口显示结果).
● 可以将图片拖进程序图片或界面既可以转换.
● 当拖进一张六面体图片图片,其他五张图片将被自动加载到转换工具,当然是在六张图片都符合命名规则基础上(_l、_d、_u......).
● 可以同时并行处理多张图片.
● Also integrated into the krpano Tools GUI application where it's possible to change settings like the file-format.
● 所有工具已可以支持 ICC Color Profile(脑补:什么是ICC Profile):
◦ 球面图与六面体互转软件转换过程中不会改变源图片的color profile.
◦ Makepano, Maketiles and Makepreview 工具中已经提供了选项参数用于处理不同的color profiles:
▷skip - 跳过不处理 (旧版本的做法).
▷copy - 复制源文件的color profile到输出文件.
这种参数输出适合编辑时使用,但不太适合直接将输出后图片用于网页发布,原因如下:
Color profiles可以是非常大的(从几个字节到几兆字节),他们会嵌入到每个小图像, 整体数据大小的增加可能变得非常巨大.有些Color profiles转换很慢导致图像解码更慢. 并不是所有浏览器都支持color profiles(e.g. 例如ICC v2, v4, matrix and LUT 标准的color profiles). 建议在清楚profile的类型和大小时使用.
▷convert - 转换到sRGB - 但不封装profile (默认参数).
直接封装profile不是什么好事呀,上面copy参数有描述,因此默认不封装! 按World Wide Web Consortium (W3C)标准, 未标记的图像应该是在浏览器中作为sRGB解释 . 因此设置该参数为默认是符合浏览器的使用习惯.
▷sRGB - 转换到sRGB - 并且封装profile.
这个相对于convert, 不同就是封装了profile, 这可以确保在有颜色配置文件支持的浏览器正确的颜色, 但不将未标记的图像处理为sRGB模式. 减少具有嵌入颜色配置文件和最大的浏览器兼容性有成本(关于V4支持配置文件)最小的sRGB ICC V2型(即491字节大小)标准模式将被嵌入.
◦ 建议基于您的情况选择个人喜好的设置:
▷由于很多浏览器都获取相同颜色配置,最有可能是 'sRGB'设置.
▷当使用非常饱和的图像,并希望使用宽色域显示器的颜色范围时,可以使用“copy”设置和一个比较良好的颜色配置文件(不太大,V2仅用于浏览器支持). 但是请注意,在某些浏览器中,颜色的解释会出现偏差.
▷选择'convert' 参数 (默认)是最快最稳定的,适用于大部分浏览器.
● krpano Tools现在已在windows中提供 'DPI Aware'避免在 HiDPI screens上模糊现象 (Mac OSX已可以支持).
● 修复 OSX问题 - Mac OSX并不是所有文件都获得认证的问题.
二、改进HTML5 浏览器
● 全新的android手机全屏横屏模式实现. (这个领主表示怀疑,毕竟是否全屏不是网页的权限说了算,实测貌似只有谷歌浏览器可以!)
● 改进多重渲染,在移动设备中的 质量/性能/内存需求 平衡 (实现更高质量).
● 立体模式支持鱼眼图片和视频 (左右和上下模式的3d素材).
● 新display.stereoscale 设置.
该功能可以打开 'Half-SBS-Output' 3D电视场景输出 - e.g. 可以这样执行:
1 |
set(display, stereo=true, stereoscale=0.5); |
● 新的场景读取标记flags (HTML5 only):
◦ KEEPIMAGE 读取其他场景图片过程中保持显示当前图片.
◦ IMAGEONLY 只读取其他场景的图片,场景内的其他xml代码不读取执行.
三、改进WebVR 支持
● 改善non-distorted非扭曲热点在VR模式下渲染 - 全新的VR“广告牌”渲染方式.实现了热点期望的显示方式.
● 新的 webvr.zoom设置可以定义VR模式下的场景远近缩放.
可以观看例子演示: Zoom in webvr examples
● 新的 webvr.friction 设置可以实现渲染还原 (可以实现更多层次的缩放zoom).
● 改善 GearVR 浏览器支持 - Oculus 浏览器在渲染缓冲区大小在2048x1024时,测试在 WebVR模式只有一个很小的窗口尺寸200x150 . 这情况下导致热点大小显示的问题.
● 新的 webvr.isgearvr 可以检测是否 GearVR browser 支持原生的WebVR-API.
● vtourskin.xml 现在包含一个特别 的'Enter VR'显示进入GearVR浏览器.
四、改进XML / Actions 系统
● 动作内部解释如果没有 %N 替位符的情况下动作将被缓存. 这样在重复执行时可以读取缓存,提高执行效率.
● set() 动作可设置一个对象的多个属性,而不需要像以前一样重复写出每个属性完整路径.
E.g. 旧方式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
set(hotspot[get(hsname)].type, 'text'); set(hotspot[get(hsname)].html, 'Test text'); set(hotspot[get(hsname)].css, 'text-align:center;'); set(hotspot[get(hsname)].ath, 10.0); set(hotspot[get(hsname)].atv, 20.0); 新方式如下(领主tips:是简化不少,复制粘贴都省了): set(hotspot[get(hsname)], type='text', html='Test text', css='text-align:center;', ath=10.0, atv=20.0 ); |
不止格式简化了,这种方式可以提高读取速度(领主tips: 建议大家以后改用这方式).
● if() 增加了'else-if' 判断方式,这样简化了之前的if多重括号嵌套:
1 2 3 4 5 6 7 |
if( if-expression, if-actions, else-if-expression, else-if-actions, else-if-expression, else-if-actions, ... else-actions ); |
● 新支持 Value-Arrays数值数组方式 (= =JS or AS3的原生数组).
◦ 这是一个整数索引、单一数值的简单数组.
◦ 可以通过动作def(testarray, array)定义.
◦ 实现数组数值访问,e.g. 例如通过set(testarray[index], ...) or get(testarray[index]).
◦ 获取数组长度t e.g. 例如通过 get(testarray.length).
● 在前一个版本中引入的局部变量范围系统已经得到扩展和改进:
◦ 新的scope属性值"localonly" 现在可以定义一个本地范围,其中所有访问仅指向该本地范围本身.
◦ 新的scope属性值"private:NAME" 现在可以定义一个“私有”本地范围。此范围在调用之间保持激活状态,可以与其他操作共享.
◦ 如果定义本地动作范围,还有这些特有的新的预定义变量:
▷actionname - 该变量存储动作本身的名称.
▷args - 传递给操作的参数的值数组。对参数的访问可以通过参数[索引]和参数的数量(可以得到通过args.length获取).
▷parentscope - 该对象引用父操作的作用域.
◦ scope(scope, actions) 动作允许在特定范围内运行代码.
◦ parentscopeset(variable, value) 动作在父操作的范围内执行集合调用,可以用于从一个操作返回值.
● 新的 <set> and <debug> xml标签元素,<set>可以设置变量、 <debug>在XML解析期间跟踪变量.
1 2 |
<set var="variablename" val="expression" /> <debug trace="expression" /> |
● 支持 C/JS-style 样式的单行备注:
1 |
// ... |
和多行备注:
1 |
/* ... */ |
五、iPhone X / Safe-Area-Inset 安全区域支持
● iPhone X 的支持 - 通过打开webkit的Safe-Area insets功能适配刘海.
● 实现iPhone X 全屏显示.
● 默认layer不会超出安全区域(webkit定义iphonex的安全区域,下图),只有全景图可以超出. field-of-view(fov) and the screen-center (屏幕中心点)相对以安全区域为标准, 所以增加的显示区域只是全景图显示,默认其他元素不会超出安全区域(可以通过设置改变).
● 新的display设置和属性来实现 safe-area 支持:
◦ display.safearea - 设置安全区域打开或关闭,或是否只在横屏显示.
◦ display.safearea_inset -用于获取有关安全区嵌入信息的对象。在onresize事件可选使用 一种自定义的方式放置layer层元素.
◦ layer.safearea -定义一个layer层是否应该与安全区域适配(默认)或适配全部显示区域.
● 如果您不理会iphonex的显示,上面的安全区域设置不需要改动,当然除了上面的xml代码中修改外,您也需要进行以下设置,安全区域设置才可以生效:
1 |
viewport-fit=cover |
上面代码需要加入到html代码的 <meta>标签中, 注意:默认pr14版本生成的tour.html已有该代码.
六、更多的更新信息:
● 新功能: capturetouch 设置是否捕获触屏事件,默认为true.
● 新功能: image.cubestrip.striporder 设置定义六面体图片的次序,默认“LFRBUD”,当然您可以打乱次序,但字母不能变.
● 新功能: copy(dst, src, typeconversion*)动作加入一个新的 'typeconversion' 用于选择是否复制到其他现有变量时,禁用类型转换.
● 新功能: roundval(dst, src, decimalplaces) 将四舍五入结果存储在另一个变量中.
● 新功能: tohex(dst, src, prefix, length) 将十六进制转换的结果存储在另一个变量中.
● 新功能: tolower(dst, src) and toupper(dst, src) 将案例转换结果存储在其他变量中.
● 新功能: XOR 异或运算表达式.
● 新功能: 日志log可以显示与屏幕顶部 (showlog动作操作). 领主tips: 这样可以有效避免挡住底部皮肤按钮,方便测试!
● 新功能: Tools - 新的prealignheading配置为可选项,可以禁用添加一个prealign设置与方向图像的XML设置.
● 新功能: Tools - SphereToCube - 当转换为JPEG格式的图像- cubestrip确保cubesize切片大小可被8整除和禁用颜色采样来避免在边缘伪影像.
● 新功能: 升级 vtourskin.xml, webvr.xml, showtext.xml, fps.xml 来实现一些新动作功能.
● 改变: inc() and dec() 动作运算结果将以 'Number' 数值形式存储代替之前的字符形式'string'. 这个改变方便将结果应用数组索引.
● 修正: 在WebGL的检测中使用'WEBGL_lose_context' 延伸和在浏览器不读取时,强制移除闲置 WebGL contexts.
● 修正: WebGL 热点在容器元素内的事件中出现显示错误(report).
● 修正: WebGL 热点在触屏设备中 onover/onout事件出错问题.
● 修正: 使用新方法解决点击ios设备上文本区域闪屏问题.
● 修正: flat-pano在1.19-pr12 已经存在的bug.
● 修正: image.vfov setting不支持 flat-panos的问题.
● 修正: 在某些情况下,在平面的全景图像在垂直缩放略有不准确的问题.
● 修正: 背景-和在webGL文本下,文字阴影缩放比例时,采用过度采样和多重影射时出现的问题.
● 修正: 更快的WebGL文本,避免不必要的重绘 (report).
● 修正: 实现根据设备像素比限制WebGL TextField过度采样,以避免太高分辨率的文本和提高文本构建的性能.
● 修正: 改善 WebGL textfield下Firefox 浏览器中1:1像素的断行判断和在Safari有时最后一行文字消失的情况(这些都是浏览器的bug导致的).
● 修正: 解决在 LG Smart-TV 浏览器的bug , 拨动画面时变成滚动网页,无法拨动全景的问题.
● 修正: 增加设备类型:Android Chromium WebView浏览器.
● 修正: ayers and hotspots 设置capture=false时,在IE11 、MS Edge触控板无效的问题 (report).
● 修正: 解决 IE11读取SVG图像问题(report).
● 修正: 使用'blocking actions'例如wait() or lookto(),本地范围不能报错问题.
● 修正: 'style'的访问问题 - 当访问数组时, 如果变量在当前范围内即当前style是一个数组,否则只是一个变量.
● 修正: 在layer or hotspot执行时,delete() 动作不能运行的问题.
● 修正: 改善检测有效数组访问.
● 修正: The roundval() 使用小数点时不能正取取值问题.
● 修正: The txtsplit()不能创建或刷新变量问题,主要原因是一个已存在变量反复赋值导致.
● 修正: WebVR plugin - resetsensor() / hlookat() 动作在WebVR-API浏览器偏移量出错问题.
● 修正: Videoplayer plugin - 在 iOS 11中,视频开始播放时seeking跳到其他时间点无法执行playvideo()播放的问题.
● 修正: VTour Editor - 有时输出无效xml的问题.
● 修正: VTour Editor - 在编辑修改xml前,会自动保存xml一次进行备份.
● 修正: VTour Editor - 支持url占位符 (SWFPATH, HTMLPATH, CURRENTXML, BASEDIR) .
● 修正: VTour Editor -自动命名第一个 hotspots热点编号为1.
● 修正: Tools - 当使用Ricoh Theta拍摄的全景图作为源图像时 - 在xml的VR image中增加的prealign设置.
● 修正: Tools - PSD 写入错误问题 (PSB文件就写入正确).
● 修正: Tools - 当计算球面大小是,CubeToSphere 工具没有使用保存在六面体重的球面大小信息来修正舍入的错误.
● 修正: Tools - 占位符中的'A'自动产生padding-0s时不能正确工作问题.
● 修正: Tools - 预览图读取的内存溢出问题.
● 修正: Tools - 升级Gear360图像检测,从而可以跳过 EXIF层级信息读取操作.
● 修正: Tools - 在启动html中设置html5=never 与Flash-only 兼容性问题.
● 修正: Droplets - 实现了droplets 在Mac OSX 中,一个通信证下接受隔离和非隔离文件.
● 修正: vtourskin.xml - 当使用deeplinking 启动动作时,小行星效果跳过了,没启动的问题.
● 修正: vtourskin.xml - 在 thumbs_opened=true的情况下 skin_hideskin(instant) 动作在启动时不执行的问题.
● 修正: vtourskin.xml - 在MobileVR模式没有显示tooltips层的问题.
下载地址
点击下载
密码:扫码关注“域图新视界”公众号,发送“pr14”获取。
krpano正版代购
独家编译:领主
顶顶顶顶顶顶顶顶顶 !
领主说得很详细!谢谢!