Einführung
Stellen Sie sich eine interaktive 3D-Profilkarte vor, die Ihre Gesichtsbewegungen verfolgt und in Echtzeit reagiert – das ist die Essenz der 3D-AR-Profilkarte. Erstellt von P-R. Lopez, einem leitenden Entwickler mit Fachkenntnissen in JavaScript, React und Firebase, kombiniert diese Karte modernste Gesichtserkennungstechnologie mit einem schlanken, hochwertigen Design mit dynamischen Leuchteffekten, satten Farbverläufen und einem anspruchsvollen Layout. Es ist perfekt, um Benutzer auf persönlicher Ebene anzusprechen.
In diesem Tutorial erstellen wir diese interaktive Profilkarte mit HTML, CSS und JavaScript mit FaceMesh von TensorFlow für die Gesichtserkennung in Echtzeit. Diese Komponente ist ideal für professionelle Portfolios oder Anwendungen, die ein unvergessliches, interaktives Erlebnis erfordern. Wer sich für interaktivere Projekte interessiert, sollte sich Gladiators Battle nicht entgehen lassen – ein spannendes Gladiatoren-Kartenspiel, inspiriert vom antiken Rom, das fesselnde Strategie und visuell atemberaubendes Design vereint.
Lassen Sie uns mit der Erstellung dieser Profilkarte beginnen!
Schritt 1: Einrichten der HTML-Struktur
Unsere Profilkarte enthält einen Webcam-Feed zur Gesichtserkennung, Benutzerinformationen und Social-Media-Symbole.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>3D AR Profile Card with Face Detection</title> <link rel="stylesheet" href="styles.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"> </head> <body> <!-- Video for webcam stream --> <video> <p>Key HTML Elements<br> Webcam Video: Captures real-time video for face detection.<br> Profile Card: Contains profile information, including name, location, experience, skills, and links to Gladiators Battle and social media.<br> Social Icons: Link to GitHub, LinkedIn, and Twitter (or X), providing a fully interactive and connected profile.<br> Step 2: Styling the Profile Card with CSS<br> The CSS brings the 3D and AR effects to life, with gradients, glowing shadows, and animations for an eye-catching experience.</p> <p>Body and Background<br> The body uses a radial gradient to create a soft, dark background that complements the card’s glowing effects.<br> </p> <pre class="brush:php;toolbar:false">body { display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; background: radial-gradient(circle at center, #2d2d2d, #1b1b1b); overflow: hidden; font-family: 'Arial', sans-serif; } /* Webcam */ #webcam { position: fixed; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; z-index: -1; }
Profilkartendesign
Die Profilkarte selbst nutzt Farbverlaufshintergründe, 3D-Transformationen und Schatteneffekte, um hervorzustechen.
.profile-card { position: relative; width: 370px; padding: 35px; border-radius: 25px; background: linear-gradient(145deg, #3d3d3d, #2a2a2a); box-shadow: 0 15px 25px rgba(0, 0, 0, 0.6), 0 0 25px rgba(255, 215, 0, 0.3), inset 0 0 15px rgba(255, 255, 255, 0.1); transform-style: preserve-3d; transform: perspective(1000px); transition: transform 0.3s ease, box-shadow 0.3s ease; z-index: 1; } .profile-card:hover { box-shadow: 0 25px 50px rgba(0, 0, 0, 0.7), 0 0 50px rgba(255, 215, 0, 0.7), inset 0 0 15px rgba(255, 255, 255, 0.2); transform: scale(1.03); }
Avatar- und Text-Styling
Der Avatar und der Text sind so gestaltet, dass sie zur erstklassigen Ästhetik der Karte passen, mit leuchtenden und kräftigen Effekten.
.profile-avatar { width: 130px; height: 130px; background: url('avatar.jpg') center/cover; border-radius: 50%; margin: 0 auto; box-shadow: 0px 0px 20px rgba(255, 255, 255, 0.4), 0px 0px 30px rgba(255, 215, 0, 0.5); transform: translateZ(70px); transition: box-shadow 0.3s ease, transform 0.3s ease; } .profile-name { font-size: 30px; text-align: center; color: #ffffff; margin-top: 20px; transform: translateZ(50px); background: linear-gradient(45deg, #ffd700, #ffa500, #ff4500); -webkit-background-clip: text; color: transparent; font-weight: bold; text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.4); }
Schritt 3: Gesichtserkennung mit TensorFlow FaceMesh
Der JavaScript-Code verwendet das FaceMesh-Modell von TensorFlow, um Gesichter zu erkennen und das Profilbild dynamisch festzulegen. Dieser innovative Ansatz verleiht der Karte ein AR-Feeling.
Webcam- und Gesichtserkennungs-Setup
Die Funktion „setupCameraAndModel“ initialisiert den Webcam-Feed und lädt das FaceMesh-Modell, um mit der Gesichtsverfolgung zu beginnen.
const video = document.getElementById('webcam'); const profileAvatar = document.querySelector('.profile-avatar'); async function setupCameraAndModel() { const model = await facemesh.load(); const stream = await navigator.mediaDevices.getUserMedia({ video: { width: 640, height: 480 } }); video.srcObject = stream; video.addEventListener('loadeddata', () => { detectFaceAndCapture(model, stream); }); }
Gesichtserkennung und Avatar-Update
Die Funktion „DetectFaceAndCapture“ erfasst ein Foto, wenn ein Gesicht erkannt wird, und legt es als Hintergrund für den Profil-Avatar fest.
async function detectFaceAndCapture(model, stream) { const predictions = await model.estimateFaces(video); if (predictions.length > 0) { const canvas = document.createElement('canvas'); canvas.width = video.videoWidth; canvas.height = video.videoHeight; const context = canvas.getContext('2d'); context.drawImage(video, 0, 0, canvas.width, canvas.height); const imageDataUrl = canvas.toDataURL('image/png'); profileAvatar.style.backgroundImage = `url(${imageDataUrl})`; stream.getTracks().forEach(track => track.stop()); video.style.display = 'none'; } else { requestAnimationFrame(() => detectFaceAndCapture(model, stream)); } } // Initialize camera and model setupCameraAndModel();
Diese Methode verleiht der Profilkarte eine einzigartige Note, indem das Profilbild mithilfe der AR-Technologie dynamisch in Echtzeit festgelegt wird.
Fazit
Die Erstellung einer interaktiven 3D-AR-Profilkarte mit Echtzeit-Gesichtserkennung verleiht jeder privaten oder beruflichen Website ein modernes, erstklassiges Erscheinungsbild. Dieses Tutorial kombiniert CSS für 3D-Effekte und JavaScript für die dynamische Gesichtserkennung mit TensorFlow und demonstriert so einen leistungsstarken Ansatz zur Verbesserung der Benutzerinteraktion. Wenn Sie an innovativeren, immersiveren Projekten interessiert sind, sollten Sie sich Gladiators Battle nicht entgehen lassen – ein spannendes Gladiatoren-Kartenspiel, das historische Themen mit strategischem Gameplay verbindet. Entdecken Sie mehr auf GladiatorsBattle.com.
? Entdecken Sie mehr:
Terokai Pertempuran Gladiators: Melangkah ke dunia pahlawan purba dan pertempuran epik di https://gladiatorsbattle.com.
GitHub: Lihat contoh dan projek kod di https://github.com/HanGPIErr.
LinkedIn: Ikuti kemas kini di https://www.linkedin.com/in/pierre-romain-lopez/.
Twitter: Kekal berhubung di X di https://x.com/GladiatorsBT.
Artikel ini ialah pintu masuk anda untuk membina elemen web yang menakjubkan dan interaktif secara visual. Sertai kami sambil kami terus meneroka cara untuk menggabungkan teknologi canggih dengan reka bentuk intuitif dan berkualiti tinggi.
Atas ialah kandungan terperinci Membina Kad Profil AR dengan Pengesanan Wajah Masa Nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!