[guided]The goal is to show that the fibrewise definition of $G_p$ varies smoothly with $p$. A fibrewise orthogonal complement is automatically a vector subspace in each fibre, but smoothness of the collection of these subspaces requires a local frame.
Fix $p_0\in M$. Since $F$ is a smooth subbundle, choose an open neighbourhood $U\subset M$ of $p_0$ and a smooth local frame
\begin{align*}
s_1,\dots,s_k:U\to F|_U
\end{align*}
for $F|_U$, where $k=\operatorname{rank}F$. After shrinking $U$ within a bundle-trivializing neighbourhood for $E$, extend this to a smooth local frame
\begin{align*}
s_1,\dots,s_k,e_{k+1},\dots,e_r:U\to E|_U
\end{align*}
for $E|_U$.
The metric lets us project onto the span of $s_1,\dots,s_k$, but because this frame need not be orthonormal, we must correct by the Gram matrix. Define $A:U\to \mathbb{R}^{k\times k}$ by specifying its entries as
\begin{align*}
A(p)_{ij}=h_p(s_i(p),s_j(p)).
\end{align*}
For each $p\in U$, the matrix $A(p)$ is positive definite: if $\lambda=(\lambda_1,\dots,\lambda_k)\in\mathbb{R}^k$ is nonzero, then the vector
\begin{align*}
w=\sum_{i=1}^k\lambda_i s_i(p)
\end{align*}
is nonzero in $F_p$, and
\begin{align*}
\sum_{i=1}^k\sum_{j=1}^k \lambda_i A(p)_{ij}\lambda_j
=h_p(w,w)>0.
\end{align*}
Hence $A(p)$ is invertible for every $p\in U$. Since the entries of $A$ are smooth and matrix inversion is smooth on the [open set](/page/Open%20Set) of invertible matrices, $A^{-1}:U\to\mathbb{R}^{k\times k}$ is smooth.
Now define
\begin{align*}
P:E|_U&\to F|_U
\end{align*}
by
\begin{align*}
P(v)=\sum_{i=1}^k\sum_{j=1}^k s_i(p)\,(A(p)^{-1})_{ij}\,h_p(v,s_j(p)),
\end{align*}
for $v\in E_p$ and $p\in U$. This formula is the usual orthogonal projection formula in a non-[orthonormal basis](/page/Orthonormal%20Basis). It is smooth because the sections $s_i$, the metric coefficients $h_p(v,s_j(p))$, and the entries of $A^{-1}$ are smooth in the chosen local frame.
We verify that $P$ is the projection onto $F|_U$. For $1\le m\le k$, the definition of $P$ gives
\begin{align*}
P(s_m(p))=\sum_{i=1}^k\sum_{j=1}^k s_i(p)\,(A(p)^{-1})_{ij}\,h_p(s_m(p),s_j(p)).
\end{align*}
Using $A(p)_{mj}=h_p(s_m(p),s_j(p))$, we get
\begin{align*}
P(s_m(p))=\sum_{i=1}^k\sum_{j=1}^k s_i(p)\,(A(p)^{-1})_{ij}\,A(p)_{mj}.
\end{align*}
By $A(p)^{-1}A(p)=I_k$, with symmetry of $A(p)$ matching the displayed indices,
\begin{align*}
P(s_m(p))=s_m(p).
\end{align*}
Thus $P$ is the identity on $F_p$.
Finally, we compare $\ker P$ with the orthogonal complement. If $v\in E_p$ satisfies $P(v)=0$, then $P(v)$ has zero inner product with each basis vector $s_m(p)$. Since $P(v)$ is the unique element of $F_p$ with the same inner products against the basis vectors $s_m(p)$ as $v$, it follows that, for each $1\le m\le k$,
\begin{align*}
h_p(v,s_m(p))=0.
\end{align*} Hence $v$ is orthogonal to every vector in $F_p$, so $v\in G_p$. Conversely, if $v\in G_p$, then $h_p(v,s_j(p))=0$ for every $j$, and the defining formula gives
\begin{align*}
P(v)=0.
\end{align*}
Therefore $G|_U=\ker P$.[/guided]