HoloLens拍摄粒子系统Particle Systems异常,粒子周围出现正方形框
问题描述
在使用Unity粒子系统制作烟花效果的时候,在HoloLens中观看效果是正常的,但是在拍照或者录像时出现下面问题:
产生原因
由于烟花的着色器选择的纹理是RGB格式,没有Alpha通道,导致HL中默认Alpha为0,拍出黑框
解决方法
为纹理添加Alpha通道
找到着色器对应的纹理,使用Python添加Alpha通道:
import cv2 # 利用opencv读取图像
import numpy as np
img = cv2.imread("Spark.png ")
r,g,b = cv2.split(img)
img_gray = (r*0.299+g*0.587+b*0.114)
img_gray=img_gray.astype(np.uint8)
for i in range(len(img_gray)):
for j in range(len(img_gray[i])):
if(img_gray[i][j]>0):
img_gray[i][j]=255
img_BGRA = cv2.merge((b,g,r,img_gray))
cv2.imwrite("alpha_Spark.png", img_BGRA)
更改着色器
更改适用于RGBA通道的着色器,这里笔者选用着色器如下: