Skip to content

Commit 8d87b46

Browse files
committed
update skyline & ar
1 parent 316e142 commit 8d87b46

File tree

22 files changed

+322
-90
lines changed

22 files changed

+322
-90
lines changed

miniprogram/packageAPI/pages/ar/2dmarker-ar/behavior.js

+15-5
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,24 @@ export default function getBehavior() {
213213
const planeBox = this.planeBox = new THREE.Object3D()
214214
this.scene.add(planeBox)
215215

216+
217+
//限制调用帧率
218+
let fps = 30
219+
let fpsInterval = 1000 / fps
220+
let last = Date.now()
221+
216222
// 逐帧渲染
217223
const onFrame = timestamp => {
218-
// let start = Date.now()
219-
const frame = session.getVKFrame(canvas.width, canvas.height)
220-
if (frame) {
221-
this.render(frame)
224+
let now = Date.now()
225+
const mill = now - last
226+
// 经过了足够的时间
227+
if (mill > fpsInterval) {
228+
last = now - (mill % fpsInterval); //校正当前时间
229+
const frame = session.getVKFrame(canvas.width, canvas.height)
230+
if (frame) {
231+
this.render(frame)
232+
}
222233
}
223-
224234
session.requestAnimationFrame(onFrame)
225235
}
226236
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/3dmarker-ar/Components/arModelComponent.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ Component({
3333
var callback = this.generateARModel.bind(this)
3434
var timeNow = Date.now() / 1000 | 0;
3535
var value = wx.getStorageSync('modelsInfo');
36+
console.log("value的值为:")
37+
console.log(value)
3638
if(value && value.length != 0){
37-
if(timeNow - value[0].timeStamp < 1200){
39+
if(timeNow - value[0].timeStamp < 7200){
3840
wx.showToast({
3941
title: "仅两小时允许上传一次视频",
4042
icon: 'none',

miniprogram/packageAPI/pages/ar/3dmarker-ar/behavior.js

+14-5
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,23 @@ export default function getBehavior() {
213213
const planeBox = this.planeBox = new THREE.Object3D()
214214
this.scene.add(planeBox)
215215

216+
//限制调用帧率
217+
let fps = 30
218+
let fpsInterval = 1000 / fps
219+
let last = Date.now()
220+
216221
// 逐帧渲染
217222
const onFrame = timestamp => {
218-
// let start = Date.now()
219-
const frame = session.getVKFrame(canvas.width, canvas.height)
220-
if (frame) {
221-
this.render(frame)
223+
let now = Date.now()
224+
const mill = now - last
225+
// 经过了足够的时间
226+
if (mill > fpsInterval) {
227+
last = now - (mill % fpsInterval); //校正当前时间
228+
const frame = session.getVKFrame(canvas.width, canvas.height)
229+
if (frame) {
230+
this.render(frame)
231+
}
222232
}
223-
224233
session.requestAnimationFrame(onFrame)
225234
}
226235
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/body-detect/behavior.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,24 @@ export default function getBehavior() {
138138
this.data.anchor2DList = []
139139
})
140140

141+
142+
//限制调用帧率
143+
let fps = 30
144+
let fpsInterval = 1000 / fps
145+
let last = Date.now()
146+
141147
// 逐帧渲染
142148
const onFrame = timestamp => {
143-
// let start = Date.now()
144-
const frame = session.getVKFrame(canvas.width, canvas.height)
145-
if (frame) {
149+
let now = Date.now()
150+
const mill = now - last
151+
// 经过了足够的时间
152+
if (mill > fpsInterval) {
153+
last = now - (mill % fpsInterval); //校正当前时间
154+
const frame = session.getVKFrame(canvas.width, canvas.height)
155+
if (frame) {
146156
this.render(frame)
157+
}
147158
}
148-
149159
session.requestAnimationFrame(onFrame)
150160
}
151161
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/face-detect/behavior.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,24 @@ export default function getBehavior() {
150150
buttonDisable:false
151151
})
152152

153+
154+
//限制调用帧率
155+
let fps = 30
156+
let fpsInterval = 1000 / fps
157+
let last = Date.now()
158+
153159
// 逐帧渲染
154160
const onFrame = timestamp => {
155-
// let start = Date.now()
156-
const frame = session.getVKFrame(canvas.width, canvas.height)
157-
if (frame) {
161+
let now = Date.now()
162+
const mill = now - last
163+
// 经过了足够的时间
164+
if (mill > fpsInterval) {
165+
last = now - (mill % fpsInterval); //校正当前时间
166+
const frame = session.getVKFrame(canvas.width, canvas.height)
167+
if (frame) {
158168
this.render(frame)
169+
}
159170
}
160-
161171
session.requestAnimationFrame(onFrame)
162172
}
163173
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/hand-detect/behavior.js

+15-4
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ export default function getBehavior() {
105105
})
106106
session.start(err => {
107107
if (err) return console.error('VK error: ', err)
108+
108109
console.log('@@@@@@@@ VKSession.version', session.version)
109110

110111
const canvas = this.canvas
@@ -146,14 +147,24 @@ export default function getBehavior() {
146147
this.data.anchor2DList = []
147148
})
148149

150+
151+
//限制调用帧率
152+
let fps = 30
153+
let fpsInterval = 1000 / fps
154+
let last = Date.now()
155+
149156
// 逐帧渲染
150157
const onFrame = timestamp => {
151-
// let start = Date.now()
152-
const frame = session.getVKFrame(canvas.width, canvas.height)
153-
if (frame) {
158+
let now = Date.now()
159+
const mill = now - last
160+
// 经过了足够的时间
161+
if (mill > fpsInterval) {
162+
last = now - (mill % fpsInterval); //校正当前时间
163+
const frame = session.getVKFrame(canvas.width, canvas.height)
164+
if (frame) {
154165
this.render(frame)
166+
}
155167
}
156-
157168
session.requestAnimationFrame(onFrame)
158169
}
159170
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/ocr-detect/behavior.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -154,14 +154,24 @@ export default function getBehavior() {
154154
console.log("anchor remove")
155155
})
156156

157+
158+
//限制调用帧率
159+
let fps = 30
160+
let fpsInterval = 1000 / fps
161+
let last = Date.now()
162+
157163
// 逐帧渲染
158164
const onFrame = timestamp => {
159-
// let start = Date.now()
160-
const frame = session.getVKFrame(canvas.width, canvas.height)
161-
if (frame) {
165+
let now = Date.now()
166+
const mill = now - last
167+
// 经过了足够的时间
168+
if (mill > fpsInterval) {
169+
last = now - (mill % fpsInterval); //校正当前时间
170+
const frame = session.getVKFrame(canvas.width, canvas.height)
171+
if (frame) {
162172
this.render(frame)
173+
}
163174
}
164-
165175
session.requestAnimationFrame(onFrame)
166176
}
167177
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/osd-ar/behavior.js

+15-4
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,24 @@ export default function getBehavior() {
128128
this.afterVKSessionCreated()
129129
}
130130

131+
132+
//限制调用帧率
133+
let fps = 30
134+
let fpsInterval = 1000 / fps
135+
let last = Date.now()
136+
131137
// 逐帧渲染
132138
const onFrame = timestamp => {
133-
const frame = session.getVKFrame(canvas.width, canvas.height)
134-
if (frame) {
135-
this.render(frame)
139+
let now = Date.now()
140+
const mill = now - last
141+
// 经过了足够的时间
142+
if (mill > fpsInterval) {
143+
last = now - (mill % fpsInterval); //校正当前时间
144+
const frame = session.getVKFrame(canvas.width, canvas.height)
145+
if (frame) {
146+
this.render(frame)
147+
}
136148
}
137-
138149
session.requestAnimationFrame(onFrame)
139150
}
140151
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/photo-body-detect/behavior.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -152,14 +152,24 @@ export default function getBehavior() {
152152
this.data.anchor2DList = []
153153
})
154154

155+
156+
//限制调用帧率
157+
let fps = 30
158+
let fpsInterval = 1000 / fps
159+
let last = Date.now()
160+
155161
// 逐帧渲染
156162
const onFrame = timestamp => {
157-
// let start = Date.now()
158-
const frame = session.getVKFrame(canvas.width, canvas.height)
159-
if (frame) {
163+
let now = Date.now()
164+
const mill = now - last
165+
// 经过了足够的时间
166+
if (mill > fpsInterval) {
167+
last = now - (mill % fpsInterval); //校正当前时间
168+
const frame = session.getVKFrame(canvas.width, canvas.height)
169+
if (frame) {
160170
this.render(frame)
171+
}
161172
}
162-
163173
session.requestAnimationFrame(onFrame)
164174
}
165175
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/photo-face-detect/behavior.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -152,14 +152,24 @@ export default function getBehavior() {
152152
this.data.anchor2DList = []
153153
})
154154

155+
156+
//限制调用帧率
157+
let fps = 30
158+
let fpsInterval = 1000 / fps
159+
let last = Date.now()
160+
155161
// 逐帧渲染
156162
const onFrame = timestamp => {
157-
// let start = Date.now()
158-
const frame = session.getVKFrame(canvas.width, canvas.height)
159-
if (frame) {
163+
let now = Date.now()
164+
const mill = now - last
165+
// 经过了足够的时间
166+
if (mill > fpsInterval) {
167+
last = now - (mill % fpsInterval); //校正当前时间
168+
const frame = session.getVKFrame(canvas.width, canvas.height)
169+
if (frame) {
160170
this.render(frame)
171+
}
161172
}
162-
163173
session.requestAnimationFrame(onFrame)
164174
}
165175
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/photo-hand-detect/behavior.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,24 @@ export default function getBehavior() {
156156
this.data.anchor2DList = []
157157
})
158158

159+
160+
//限制调用帧率
161+
let fps = 30
162+
let fpsInterval = 1000 / fps
163+
let last = Date.now()
164+
159165
// 逐帧渲染
160166
const onFrame = timestamp => {
161-
// let start = Date.now()
162-
const frame = session.getVKFrame(canvas.width, canvas.height)
163-
if (frame) {
167+
let now = Date.now()
168+
const mill = now - last
169+
// 经过了足够的时间
170+
if (mill > fpsInterval) {
171+
last = now - (mill % fpsInterval); //校正当前时间
172+
const frame = session.getVKFrame(canvas.width, canvas.height)
173+
if (frame) {
164174
this.render(frame)
175+
}
165176
}
166-
167177
session.requestAnimationFrame(onFrame)
168178
}
169179
session.requestAnimationFrame(onFrame)

miniprogram/packageAPI/pages/ar/photo-ocr-detect/behavior.js

+52-8
Original file line numberDiff line numberDiff line change
@@ -129,25 +129,69 @@ export default function getBehavior() {
129129
console.log("anchor add")
130130
})
131131
session.on('updateAnchors', anchors => {
132-
// 手动传入图像的时候用dom画点和框就行
132+
this.data.textContentList = []
133+
134+
// 摄像头实时检测人脸的时候 updateAnchors 会在每帧触发,所以性能要求更高,用 gl 画
135+
this.data.textContentList = this.data.textContentList.concat(anchors.map(anchor => {
136+
let lt = anchor.box[0]
137+
let lr = anchor.box[1]
138+
let rb = anchor.box[2]
139+
let lb = anchor.box[3]
140+
let width = lr.x - lt.x
141+
let height = lb.y - lt.y
142+
let avgX = (lt.x + lr.x + rb.x + lb.x) / 4;
143+
let avgY = (lt.y + lr.y + rb.y + lb.y) / 4;
144+
anchor.centerX = avgX * this.data.faceImgWidth;
145+
anchor.centerY = avgY * this.data.faceImgHeight;
146+
return {
147+
text: anchor.text,
148+
subtext: anchor.subtext,
149+
box: anchor.box,
150+
centerX: anchor.centerX,
151+
centerY: anchor.centerY,
152+
origin: {
153+
x: lt.x,
154+
y: lt.y,
155+
},
156+
size: {
157+
width: width,
158+
height: height,
159+
}
160+
};
161+
}))
162+
163+
var wholeText = undefined
164+
if(this.data.textContentList.length != 0){
165+
wholeText = this.data.textContentList[0].text
166+
}
167+
133168
this.setData({
134-
textContentList: anchors.map(anchor => ({
135-
text: anchor.text
136-
})),
169+
textContentList: this.data.textContentList,
170+
wholeText: wholeText
137171
})
138172
})
139173
session.on('removeAnchors', anchors => {
140174
console.log("anchor remove")
141175
})
142176

177+
178+
//限制调用帧率
179+
let fps = 30
180+
let fpsInterval = 1000 / fps
181+
let last = Date.now()
182+
143183
// 逐帧渲染
144184
const onFrame = timestamp => {
145-
// let start = Date.now()
146-
const frame = session.getVKFrame(canvas.width, canvas.height)
147-
if (frame) {
185+
let now = Date.now()
186+
const mill = now - last
187+
// 经过了足够的时间
188+
if (mill > fpsInterval) {
189+
last = now - (mill % fpsInterval); //校正当前时间
190+
const frame = session.getVKFrame(canvas.width, canvas.height)
191+
if (frame) {
148192
this.render(frame)
193+
}
149194
}
150-
151195
session.requestAnimationFrame(onFrame)
152196
}
153197
session.requestAnimationFrame(onFrame)

0 commit comments

Comments
 (0)